มันคืออะไร?
RustDesk เป็นระบบเดสก์ท็อประยะไกลโอเพ่นซอร์สที่ให้คุณควบคุมเซิร์ฟเวอร์และซอฟต์แวร์ไคลเอ็นต์ของคุณเอง
หากคุณเคยใช้ TeamViewer, AnyDesk, Remotely, GoToAssist, GoToMyPc และตัวเลือกอื่นๆ ทั้งหมด คุณจะเข้าใจว่า RustDesk คืออะไร เป็นซอฟต์แวร์การเข้าถึงระยะไกล / การสนับสนุนระยะไกล ความสวยงามของ RustDesk คือเพิ่งได้รับการเขียนใหม่ และตอนนี้เซิร์ฟเวอร์และไคลเอ็นต์เป็นโอเพ่นซอร์สอย่างสมบูรณ์และใช้งานได้ฟรี สิ่งนี้เปิดโอกาสให้คุณได้ทดสอบ ลองใช้จริง และใช้งานอย่างเต็มที่เพื่อให้แน่ใจว่ามันจะเหมาะกับคุณและตรงกับความต้องการของคุณ การควบคุมเซิร์ฟเวอร์รีเลย์/นัดพบของคุณเองหมายความว่าคุณควบคุมซอฟต์แวร์ของคุณได้ตั้งแต่ต้นจนจบ สิ่งนี้สามารถช่วยให้คุณและลูกค้าของคุณสบายใจมากขึ้นเกี่ยวกับการให้สิทธิ์การเข้าถึงจากระยะไกลแก่คุณ
สนับสนุนโครงการ
ฉันพยายามพูดถึงวิธีการสนับสนุนโครงการในวิดีโอของฉันเสมอ (แม้ว่าฉันจะเป็นคนธรรมดาและพลาดโอกาสนั้นไปบ้าง) ดังนั้นฉันจึงคิดว่าจะเพิ่มส่วนนี้ลงในเทมเพลตของฉัน
มันสำคัญมากสำหรับโลกโอเพ่นซอร์ส เราในฐานะผู้ใช้โอเพ่นซอร์ส ผู้ที่ชื่นชอบ และผู้สนับสนุนต้องแน่ใจว่าเราสนับสนุนโครงการที่เราได้รับประโยชน์จากมัน นี่คือสิ่งที่ทำให้โครงการโอเพ่นซอร์สไม่ถูกทิ้งให้ตาย เลิกใช้งาน หรือไม่ได้รับการบำรุงรักษา
RustDesk ใช้ระบบบริจาค Ko-Fi (อ่านว่า คอฟฟี่) ได้โปรด ถ้าคุณชอบซอฟต์แวร์ ให้ใช้ซอฟต์แวร์ต่อไป หรือสามารถสร้างธุรกิจของคุณผ่านการใช้ซอฟต์แวร์นี้ได้ โปรดช่วยเหลือพวกเขาด้วยการบริจาคเงินไม่กี่ดอลลาร์ในแต่ละเดือนเพื่อสนับสนุนโครงการ
การติดตั้งเซิร์ฟเวอร์
สิ่งที่คุณต้องการ
เราจะติดตั้ง RustDesk บนเซิร์ฟเวอร์เครื่องเดียวในวันนี้ มีแอปพลิเคชันเซิร์ฟเวอร์สองตัวที่เรียกใช้เพื่อให้ RustDesk ทำงาน เซิร์ฟเวอร์รีเลย์ (ซึ่งเป็นตัวกลางในการเชื่อมต่อระหว่างสองระบบ) และเซิร์ฟเวอร์นัดพบ (ซึ่งเป็นที่ที่ทั้งสองระบบหากันเจอ) เราจะเรียกใช้เซิร์ฟเวอร์ RustDesk ผ่าน Docker และ Docker-Compose และจะทำงานบนฮาร์ดแวร์เดียวกันภายใน Docker Containers ของตนเอง RustDesk (ตามชื่อที่แนะนำ) สร้างขึ้นจาก Rust และมีความต้องการทรัพยากรน้อยมาก
- โฮมเซิร์ฟเวอร์ / เครื่อง หรือ VPS (1GB Ram / 10+ GB HDD / 1 vCPU ขั้นต่ำ)
- ติดตั้ง Docker-CE และ Docker-Compose แล้ว
- (ไม่บังคับ) Portainer-CE หรือ Yacht
- (หากรันจากโฮมเซิร์ฟเวอร์) ความสามารถในการส่งต่อพอร์ต 21115 - 21119
- A Record หรือ CName Record ที่มีโดเมนย่อย / โดเมนที่คุณต้องการให้เซิร์ฟเวอร์ของคุณทำงาน
- ประมาณ 10 นาทีของเวลาของคุณ
หมายเหตุ: คุณจะใช้คำแนะนำเดียวกันสำหรับ Home Server หรือ VPS นอกเหนือจากการส่งต่อพอร์ตที่อาจเกิดขึ้น
การติดตั้ง Docker-CE และ Docker-Compose
ฉันมีสคริปต์เรียกใช้หนึ่งตัวที่จะช่วยคุณติดตั้ง Docker-CE และ Docker-Compose (รวมถึง Portainer-CE และสิ่งอื่นๆ อีกเล็กน้อยหากคุณต้องการ)
คุณต้องมีสคริปต์เพื่อใช้คอมไพล์
และขด
และว้าว
ติดตั้งบนระบบเซิร์ฟเวอร์ของคุณ
ฉันใช้เซิร์ฟเวอร์ Ubuntu VPS ที่มี 1 vCPU, 1 GB RAM และพื้นที่ HDD 25 GB จาก Digital Ocean หากคุณต้องการลองใช้ Digital Ocean คุณสามารถลงทะเบียนโดยใช้ลิงก์ด้านล่างและรับเครดิตฟรี $50 เป็นเวลา 30 วัน ซึ่งจะช่วยให้คุณสามารถหมุนเซิร์ฟเวอร์เหล่านี้ได้ 10 เซิร์ฟเวอร์ที่ฉันระบุไว้ข้างต้นในเวลานั้น
DigitalOcean – คลาวด์สำหรับนักพัฒนา
ช่วยให้นักพัฒนาหลายล้านคนสร้าง ทดสอบ จัดการ และปรับขนาดแอปพลิเคชันทุกขนาดได้อย่างง่ายดายและรวดเร็วกว่าที่เคย
สำรวจผลิตภัณฑ์ของเรา
มาเตรียมระบบของคุณให้พร้อมสำหรับ Docker-CE และ Docker-Compose ในโฮมไดเร็กตอรี่ของคุณ (คุณสามารถใช้คำสั่งซีดี
เพื่อกลับไปที่โฮมไดเร็กตอรี่ของคุณ) มาสร้างไฟล์ใหม่ชื่อ "install-docker.sh"
wget -O install-docker.shhttps://gitlab.com/bmcgonag/docker_installs/-/raw/main/install_docker_nproxyman.sh
เมื่อดาวน์โหลดแล้ว ให้เปลี่ยนไฟล์ให้มีสิทธิ์ดำเนินการด้วย:
chmod +x install-docker.sh
ตอนนี้คุณสามารถเรียกใช้สคริปต์ด้วยคำสั่ง:
./install-docker.sh
สคริปต์จะตรวจสอบข้อมูลรุ่นปัจจุบันของคุณและให้รายละเอียดบางอย่างเพื่อช่วยคุณเลือกหมายเลขที่ถูกต้องสำหรับ distro ของคุณ เมื่อคุณเลือกหมายเลขแล้ว คุณอาจได้รับแจ้งให้ป้อนรหัสผ่าน sudo (ผู้ใช้ระดับสูง) เพื่อดำเนินการต่อ
หลังจากนั้นเพียงแค่ป้อนย
สำหรับ Docker-CE และ Docker-Compose โปรดอย่าลังเลที่จะตอบน
สำหรับตัวเลือกที่เหลือ
สคริปต์จะพยายามอัปเดตแพ็คเกจ distro ของคุณ ซึ่งอาจใช้เวลาสักครู่ หากคุณใช้ Digital Ocean ขอแนะนำให้อัปเดตแพ็คเกจและเรียกใช้การอัปเกรดก่อน เนื่องจากมีข้อความแจ้งซึ่งจะทำให้การติดตั้งค้าง คุณจะไม่เห็นข้อความแจ้งและรอเพียงเท่านั้น
หากต้องการเรียกใช้การอัปเดตด้วยตนเองสำหรับ Ubuntu บน Digital Ocean ให้ใช้คำสั่ง:
อัปเดต sudo apt && sudo apt อัปเกรด -y
ปล่อยให้มันทำงาน และเพียงแค่แท็บไปที่ตัวเลือก 'ตกลง' หากได้รับแจ้ง ณ จุดใด ๆ และปล่อยให้การติดตั้งเสร็จสิ้น
รีบูต จากนั้นเรียกใช้สคริปต์ตัวติดตั้ง
ตอนนี้ควรติดตั้ง Docker-CE และ Docker-Compose โดยไม่มีปัญหา ผู้ใช้ของคุณ (ที่คุณเข้าสู่ระบบด้วยเมื่อคุณเรียกใช้สคริปต์) จะถูกเพิ่มลงในกลุ่มนักเทียบท่าด้วยสคริปต์
คุณสามารถออกจากระบบและกลับเข้ามาใหม่ หรือลองใช้คำสั่งต่อไปนี้:
นักเทียบท่า newgrp
ใหม่
เพื่อให้คุณไม่จำเป็นต้องใช้สิทธิ์ sudo เพื่อดำเนินการคำสั่งนักเทียบท่า
จากจุดนี้ ฉันจะถือว่าคุณได้ออกจากระบบและกลับเข้ามาใหม่ หรือทำคำสั่ง newgrp สำเร็จ
Docker-Compose สำหรับ RustDesk
ตอนนี้เราจะสร้างโครงสร้างโฟลเดอร์เพื่อช่วยจัดระเบียบสิ่งต่างๆ ฉันชอบใส่นักเทียบท่าทั้งหมดไว้ในโฟลเดอร์ชื่อ "นักเทียบท่า" จากนั้นฉันจะสร้างโฟลเดอร์ใหม่ภายในโฟลเดอร์นักเทียบท่าชื่อ "rustdesk" คุณสามารถทำได้ด้วยคำสั่งเดียวดังนี้:
mkdir -p ~/docker/rustdesk
คำสั่งนี้จะสร้างโครงสร้างโฟลเดอร์ทั้งหมดหากต้องการ หรือจะเพิ่มเฉพาะส่วนที่ขาดหายไป (หากคุณมีโฟลเดอร์ docker ในโฮมไดเร็กตอรี่ของคุณอยู่แล้ว)
ย้ายไปยังโฟลเดอร์ใหม่ของเรา:
ซีดี ./docker/rustdesk
ตอนนี้เราจะสร้างไฟล์ชื่อ "docker-compose.yml" นี่คือไฟล์ yaml (ออกเสียงว่า yammel) และ yaml นั้นขึ้นอยู่กับพื้นที่อย่างมาก ห้ามใช้แท็บ คุณต้องการใช้ช่องว่าง และคุณต้องการให้แน่ใจว่าการเยื้องถูกต้อง
nano docker-compose.yml
เมื่อตัวแก้ไขเปิดขึ้น คุณจะคัดลอก/วางเนื้อหาด้านล่าง จากนั้นเราจะทำการเปลี่ยนแปลงเล็กน้อยสำหรับสถานการณ์ของคุณ
รุ่น: '3'networks: rustdesk-net: ภายนอก: falseservices: hbbs: container_name: hbbs พอร์ต: - 21115:21115 - 21116:21116 - 21116:21116/udp - 21118:21118 รูปภาพ: rustdesk/rustdesk-server:latest command : hbbs -r :21117 ปริมาณ: - ./hbbs:/root เครือข่าย: -rustdesk-net ขึ้นอยู่กับ: - hbbr รีสตาร์ท: ยกเว้นหยุด hbbr: container_name: พอร์ต hbbr: - 21117:21117 - 21119:21119 ภาพ:rustdesk/rustdesk-server:คำสั่งล่าสุด: ปริมาณ hbbr: - ./hbbr:/root เครือข่าย: -rustdesk-net รีสตาร์ท: ยกเว้นหยุดทำงาน
หากต้องการวางในโปรแกรมแก้ไขนาโน คุณสามารถใช้การคลิกขวาแล้วเลือก "วาง" จากเมนูป๊อปอัป หรือคุณสามารถใช้คำสั่งผสมคีย์ลัดของ CTRL + Shift + V
เมื่อวางแล้ว คุณจะต้องเปลี่ยนบรรทัด
คำสั่ง: hbbs -r
และแทนที่
หมายเหตุ: คุณต้องเป็นเจ้าของโดเมนที่คุณใช้ คุณสามารถใช้โดเมนไดนามิก เช่น โดเมนจาก DuckDNS หรือคุณสามารถใช้โดเมนที่คุณชนะ และเพิ่มโดเมนย่อยลงไป คุณจะต้องการให้โดเมนของคุณมีระเบียน A หรือระเบียน CName ที่ชี้ไปยังที่อยู่ IP สาธารณะของเซิร์ฟเวอร์ของคุณ
หากคุณยังไม่ได้ตั้งค่าโดเมน/โดเมนย่อยให้ชี้ไปที่ที่อยู่ IP สาธารณะของคุณ คุณจะต้องดำเนินการดังกล่าว สำหรับ VPS คุณควรได้รับที่อยู่ IPv4 สาธารณะที่คุณสามารถใช้ได้
หากคุณดำเนินการจากที่บ้าน คุณสามารถใช้ไซต์อย่างเช่น http://ipchicken.com เพื่อดูที่อยู่ IP สาธารณะของคุณได้ หาก IP สาธารณะของคุณเปลี่ยนแปลงเป็นประจำ เราขอแนะนำให้ใช้บริการเช่น DuckDNS เพื่อรับที่อยู่แบบไดนามิกที่คุณสามารถใช้ได้นี่คือวิดีโอเกี่ยวกับการใช้ DuckDNS กับ Docker
เมื่อคุณตั้งค่าโดเมนย่อย /domain ในไฟล์ yaml แล้ว ให้บันทึกไฟล์ด้วย CTRL + O จากนั้นกด Enter เพื่อยืนยัน และออกจากโปรแกรมแก้ไข nano ด้วย CTRL + X
สมมติว่าคุณได้ตั้งค่าไฟล์ yaml ของคุณแล้ว และคุณมีโดเมนหรือชื่อโดเมนย่อยที่ชี้ไปที่ IP สาธารณะของคุณ เราจะดำเนินการตั้งค่าโฮมเซิร์ฟเวอร์เพิ่มเติม นี่จะเป็นข้อแตกต่างเพียงอย่างเดียวสำหรับ Home Server เทียบกับการตั้งค่า VPS
การส่งต่อพอร์ตสำหรับโฮมเซิร์ฟเวอร์
หากคุณใช้งาน Home Server คุณต้องส่งต่อพอร์ตสองสามพอร์ตผ่านไฟร์วอลล์ / เราเตอร์ของคุณไปยังที่อยู่ IP ส่วนตัวของเครื่องโฮสต์ที่คุณกำลังเรียกใช้นักเทียบท่า
คุณต้องส่งต่อพอร์ต 21115 - 21119 (TCP) จากการเชื่อมต่อภายนอก (อินเทอร์เน็ต / WAN) ผ่านไปยังที่อยู่ IP ส่วนตัวของเครื่องโฮสต์
คุณต้องส่งต่อพอร์ต 21116 (UDP) ด้วยวิธีเดียวกัน
ฉันไม่สามารถอธิบายวิธีการส่งต่อพอร์ตได้ เนื่องจากเราเตอร์แต่ละยี่ห้อและรุ่นอาจแตกต่างกันอย่างมาก ตัวเลือกที่ดีที่สุดคือการค้นหาเฉพาะ "การส่งต่อพอร์ตบน <ยี่ห้อ / รุ่นเราเตอร์ของคุณ>" ใน Google, Whoogle, DuckDuckGo เป็นต้น
การเริ่มต้นเซิร์ฟเวอร์
สมมติว่าคุณได้ทำตามขั้นตอนการตั้งค่าที่จำเป็นทั้งหมดข้างต้นแล้ว ตอนนี้คุณสามารถเรียกใช้เซิร์ฟเวอร์ด้วยคำสั่ง:
นักเทียบท่าเขียนขึ้น -d
หมายเหตุ: คุณต้องอยู่ในโฟลเดอร์ / ไดเร็กทอรี rustdesk เมื่อคุณเรียกใช้คำสั่งด้านบน
เมื่อคุณได้รับข้อความ "เสร็จสิ้น" ในเทอร์มินัล คุณสามารถตรวจสอบบันทึกการทำงานด้วย
บันทึกการเขียนนักเทียบท่า -f
ตรวจสอบว่าคุณไม่เห็นข้อผิดพลาดใดๆ ออกจากบันทึกด้วย CTRL + C
ตอนนี้คุณจะต้องดาวน์โหลดและติดตั้งไคลเอนต์ RustDesk บนเครื่องไคลเอนต์ที่คุณต้องการ
ไปที่รัสต์เดสก์ดอทคอมแล้วคลิกปุ่มดาวน์โหลด หากคุณใช้งานไคลเอนต์บนเครื่อง Linux คุณสามารถลองใช้ไฟล์ AppImage ใหม่เพื่อดูว่าจะใช้งานได้หรือไม่ คุณสามารถได้รับมันจากหน้าเผยแพร่บนเว็บไซต์ GitHub ของพวกเขา. ตรวจสอบว่าคุณใช้รุ่นล่าสุด และค้นหาไฟล์ .appimage
เมื่อดาวน์โหลดแล้ว หากคุณต้องการเรียกใช้โปรแกรมติดตั้ง ให้เรียกใช้ตามข้อกำหนดของ Distros Windows เป็นไฟล์ zip ที่มีไฟล์ปฏิบัติการอยู่ข้างใน ดังนั้นให้แตกไฟล์ จากนั้นเรียกใช้ .exe เพื่อติดตั้ง
เมื่อคุณเรียกใช้ไคลเอนต์ มันจะเชื่อมต่อกับเซิร์ฟเวอร์เริ่มต้นของ RustDesk คุณจะเห็นหมายเลขประจำตัวประชาชนและรหัสผ่าน (ถูกซ่อนโดยค่าเริ่มต้น) ถัดจาก ID คุณจะเห็นไอคอน 3 จุด คลิกแล้วเลือก "ID/Relay Server"

ในหน้าต่างป๊อปอัป จะอยู่ในโดเมน / โดเมนย่อยของเซิร์ฟเวอร์ของคุณ โดยมีพอร์ตอยู่ใน ID Server ที่ว่างเปล่าช่องแรก:

หากคุณปล่อยช่องอื่นๆ ว่างไว้ ไคลเอนต์ RustDesk จะใส่ข้อมูลที่ถูกต้องให้คุณโดยอัตโนมัติ แม้ว่าจะไม่แสดงก็ตาม
หากคุณเลือกใช้การติดตั้งที่ซับซ้อนมากขึ้น คุณสามารถเรียกใช้รีเลย์และเซิร์ฟเวอร์นัดพบเสมือนเป็นเครื่องจริงสองเครื่องที่แยกจากกันโดยมี IP ต่างกัน และคุณต้องการเติมแต่ละช่องว่างที่นี่ แต่เนื่องจากเราใช้ Docker ที่น่าทึ่ง เราจึงไม่ทำ จำเป็นต้อง.
สุดท้าย เมื่อคุณคลิก 'ตกลง' คุณควรเห็นข้อความที่ด้านล่างของหน้าต่างไคลเอนต์หลัก RustDesk ไปที่ "พร้อม" ดังที่แสดงด้านล่าง
หากคุณไม่เห็น Ready คุณอาจต้องตรวจสอบชุดโดเมนย่อยของคุณในไฟล์ docker-compose.yml หน้าจอการตั้งค่าของคุณบนไคลเอนต์ และสุดท้าย ตรวจสอบให้แน่ใจว่าคุณได้ส่งต่อพอร์ต 21117 เป็น TCP อย่างถูกต้องผ่านเราเตอร์ของคุณไปยัง เครื่องโฮสต์ที่เหมาะสม
หากคุณเห็น Ready ขอแสดงความยินดีด้วย! ตอนนี้คุณพร้อมที่จะติดตั้งเครื่องที่ 2 ด้วยซอฟต์แวร์ไคลเอนต์ในลักษณะเดียวกับด้านบนแล้ว และเริ่มทำการเชื่อมต่อ
ตรวจสอบวิดีโอที่ด้านบนของโพสต์สำหรับรายละเอียดการใช้ UI!
คำเกี่ยวกับความปลอดภัย
ในเอกสารประกอบของ RustDesk พวกเขาหารือเกี่ยวกับรายการความปลอดภัยที่สำคัญบางรายการ การเรียกใช้ RustDesk ด้วยวิธีที่กล่าวถึงตอนนี้ คุณจะเรียกใช้โดยไม่เข้ารหัส สิ่งนี้น่าจะใช้ได้อย่างสมบูรณ์แบบสำหรับเครือข่าย ap rivate (เครือข่ายเฉพาะที่เท่านั้น) อย่างไรก็ตาม หากคุณต้องการใช้ RustDesk ผ่านอินเทอร์เน็ต คุณต้องทำตามขั้นตอนเพิ่มเติมในเอกสารเพื่อให้แน่ใจว่าคุณได้รับการเชื่อมต่อที่เข้ารหัส
ขั้นแรก บนเซิร์ฟเวอร์ของคุณ ผ่าน CLI ให้ไปที่โฟลเดอร์ภายในโฟลเดอร์ rustdesk ชื่อ "hbbs"
cd ~/docker/rustdesk/hbbs
ต่อไป ดูเนื้อหาของไฟล์ชื่อ "id_ed25519.pub" ด้วย
นาโน id_ed25519.pub
คัดลอกคีย์ที่อยู่ภายในไฟล์นี้ไปยังที่เก็บข้อมูลการซิงค์ที่ปลอดภัย เช่น BitWarden จากนั้นตรวจสอบให้แน่ใจว่าได้ป้อนคีย์นี้ในฟิลด์ 'คีย์' บนไคลเอ็นต์ RustDesk ทั้งหมดของคุณ ตอนนี้ เมื่อคุณเชื่อมต่อไคลเอ็นต์สองเครื่องเข้าด้วยกันซึ่งมี URL เซิร์ฟเวอร์เดียวกันและค่าคีย์เดียวกัน ไคลเอนต์จะสื่อสารผ่านการเชื่อมต่อที่เข้ารหัส
ฉันจะป้องกันไม่ให้ผู้อื่นใช้เซิร์ฟเวอร์ RustDesk ของฉันได้อย่างไร
อีกครั้ง เราต้องการค่าคีย์ที่เราได้รับข้างต้น ไปที่ไฟล์ docker-compose ด้วยคำสั่ง:
nano docker-compose.yml
จากโฟลเดอร์ ~/docker/rustdesk คุณไม่สามารถเข้าถึงไฟล์นี้จากโฟลเดอร์ hbbs ได้ ดังนั้นให้เลื่อนลงมาหนึ่งระดับด้วย
ซีดี ..
จากนั้นใช้nano docker-compose.yml
สั่งการ.
เมื่อกลับเข้าไปในไฟล์ docker-compose คุณจะต้องการใช้คีย์นั้นเพื่อแก้ไข 2 บรรทัด
ในส่วน hbbr คุณจะเปลี่ยนคำสั่งที่อ่าน:
คำสั่ง: hbbr
อ่าน:
คำสั่ง: hbbr -k <ค่าคีย์สาธารณะของคุณที่นี่>
คุณจะเปลี่ยนบรรทัดคำสั่งในส่วน hbbs จาก:
คำสั่ง: hbbs -rrustdesk.routemehome.org:21117
อ่าน:
คำสั่ง: hbbs -rrustdesk.routemehome.org:21117 -k <ค่าคีย์สาธารณะของคุณที่นี่>
ตอนนี้ให้บันทึกด้วย CTRL + O จากนั้นกด Enter เพื่อยืนยัน และออกจากตัวแก้ไขนาโนด้วย CTRL + X
รีสตาร์ทคอนเทนเนอร์นักเทียบท่าของคุณด้วยการเปลี่ยนแปลงใหม่โดยเรียกใช้:
นักเทียบท่าเขียนขึ้น -d
อีกครั้ง แล้วทดสอบระบบของคุณ หากคุณพยายามเชื่อมต่อกับเซิร์ฟเวอร์ของคุณจากไคลเอ็นต์โดยไม่ได้ตั้งค่าคีย์บนไคลเอ็นต์ด้วย ไคลเอนต์ก็ไม่ควรเชื่อมต่ออีกต่อไป
สิ่งนี้ทำสองสิ่ง
- ทำให้แน่ใจว่าไคลเอนต์ของคุณกำลังเชื่อมต่อโดยใช้คีย์และการเข้ารหัส
- ไม่มีใครที่ไม่มีคีย์ของคุณสามารถเชื่อมต่อผ่านเซิร์ฟเวอร์ของคุณได้
สนับสนุนเนื้อหาของฉัน
สนับสนุนช่องของฉันและความพยายามอย่างต่อเนื่องผ่าน Patreon:
https://www.patreon.com/bePatron?u=234177