Tại chỗ
Tự lưu trữ mạng HopToDesk của riêng bạn tại chỗ hoặc trên đám mây.
Thiết lập mạng của riêng bạn
Thiết lập mạng HopToDesk của riêng bạn. Tương thích với Ubuntu 18 - 24 và Windows.
Hướng dẫn cài đặt
Hướng dẫn thiết lập từng bước
Trình cài đặt làm gì, cách kiểm tra và cách kết nối thiết bị của bạn với mạng riêng.
Cách hoạt động
HopToDesk dùng hai loại máy chủ. Máy chủ tín hiệu giúp các thiết bị tìm thấy nhau và thiết lập phiên. Relay TURN chỉ truyền lưu lượng phiên khi không thể kết nối trực tiếp giữa hai thiết bị.
Các phiên được mã hóa đầu cuối, nên không máy chủ nào đọc được màn hình, tệp hay trò chuyện của bạn. Máy chủ tín hiệu chỉ thấy ID thiết bị và yêu cầu kết nối.
Trình cài đặt trên trang này thiết lập máy chủ tín hiệu. Lưu lượng relay mặc định đi qua relay của HopToDesk, hoặc qua máy chủ TURN của riêng bạn nếu bạn cung cấp.
Bảng điều khiển vẫn là dịch vụ được lưu trữ. Thiết bị trong mạng tự lưu trữ vẫn có thể liên kết với nó để quản lý, và bảng điều khiển có thể đẩy cài đặt mạng tới chúng.
Trước khi bắt đầu
- Một máy chủ chạy Ubuntu 18.04 đến 24.04, hoặc một máy chủ Windows.
- Quyền root hoặc sudo trên máy chủ đó.
- Một địa chỉ IP hoặc tên máy chủ mà mọi thiết bị của bạn đều truy cập được. Với mạng không bao giờ rời khỏi LAN, một địa chỉ riêng là đủ.
- Cổng TCP 80 mở trên tường lửa máy chủ cho các thiết bị của bạn.
- Nếu bạn muốn relay riêng: máy chủ, cổng, tên người dùng và mật khẩu của máy chủ TURN.
Bước 1: Cài máy chủ tín hiệu trên Linux
- Đăng nhập vào máy chủ với quyền root, hoặc bằng người dùng có quyền sudo.
- Ở đầu trang này, chọn LAN + Default Relay hoặc Custom TURN Server. Lệnh cài đặt thay đổi theo lựa chọn của bạn.
- Nhấp Copy, dán lệnh vào terminal rồi nhấn Enter.
- Đợi tập lệnh chạy xong. Trên máy chủ mới, việc cài gói có thể mất vài phút.
- Cuối cùng, tập lệnh in ra HopSignal Setup Complete, kèm theo địa chỉ máy chủ của bạn và một khối cài đặt mạng dùng được ngay. Hãy giữ lại kết quả đó, bạn sẽ cần nó ở bước 3.
cd /home && curl -o hsinstall.sh -sL https://www.hoptodesk.com/hs/hsinstall && sh hsinstall.sh
Với máy chủ TURN riêng, thêm bốn giá trị của nó vào cuối lệnh theo thứ tự: máy chủ, cổng, tên người dùng, mật khẩu.
sh hsinstall.sh turn.example.com 443 myuser mypassword
Tập lệnh làm gì
- Cài bằng apt các công cụ biên dịch và thư viện OpenSSL cần thiết.
- Tải tệp nhị phân của máy chủ tín hiệu vào thư mục /home/hopsignal.
- Tạo một dịch vụ systemd tên hopsignal và khởi động nó mỗi lần bật máy.
- Thêm một trình giám sát cron để khởi động lại dịch vụ nếu nó ngừng phản hồi, và xoay vòng nhật ký khi vượt quá 100 MB.
- Mở cổng TCP 80 trong ufw khi ufw đang bật.
Bước 1 trên Windows: Chạy máy chủ tín hiệu
- Gạt công tắc OS ở đầu trang này sang Windows và nhấp Download. Bạn nhận được một tệp duy nhất tên hopsignal.exe.
- Tạo một thư mục như C:\hopsignal và chuyển hopsignal.exe vào đó.
- Trong cùng thư mục, tạo một tệp văn bản trống tên fedlist.txt.
- Bản Windows còn cần một chứng chỉ TLS và khóa riêng của nó ở định dạng PEM. Cặp nào cũng được, kể cả tự ký. Lưu chúng thành cert.pem và key.pem trong cùng thư mục.
- Mở Command Prompt với quyền quản trị và khởi động máy chủ.
cd C:\hopsignal hopsignal.exe --ADDR 0.0.0.0:80 --WSS_ADDR 0.0.0.0:443 --CERT cert.pem --KEY key.pem --FEDLIST fedlist.txt --FEDADDR 127.0.0.1:82 --FEDPWD 123456789 --LOGFILE hs.log
Nếu bạn có OpenSSL, lệnh này tạo một cặp chứng chỉ tự ký:
openssl req -x509 -newkey rsa:2048 -nodes -keyout key.pem -out cert.pem -days 3650 -subj "/CN=hopsignal"
Cho phép cổng trong Tường lửa Windows:
netsh advfirewall firewall add rule name="HopSignal" dir=in action=allow protocol=TCP localport=80
Để máy chủ tiếp tục chạy sau khi khởi động lại, hãy đăng ký nó thành tác vụ theo lịch khởi động cùng máy dưới tài khoản SYSTEM:
schtasks /Create /TN HopSignal /SC ONSTART /RU SYSTEM /TR "C:\hopsignal\hopsignal.exe --ADDR 0.0.0.0:80 --WSS_ADDR 0.0.0.0:443 --CERT C:\hopsignal\cert.pem --KEY C:\hopsignal\key.pem --FEDLIST C:\hopsignal\fedlist.txt --FEDADDR 127.0.0.1:82 --FEDPWD 123456789 --LOGFILE C:\hopsignal\hs.log" schtasks /Run /TN HopSignal
Bước 2: Kiểm tra máy chủ đang chạy
Trên Linux, kiểm tra dịch vụ và nhật ký:
sudo systemctl status hopsignal tail /home/hopsignal/hs.log
Trên Windows, xác nhận cổng đang lắng nghe:
netstat -an | find ":80 "
Từ bất kỳ máy tính nào, hãy kiểm tra cổng WebSocket. Thay SERVER_IP bằng địa chỉ máy chủ của bạn. Máy chủ hoạt động tốt sẽ trả lời HTTP/1.1 101 Switching Protocols.
curl -i -N -m 5 -H "Connection: Upgrade" -H "Upgrade: websocket" -H "Sec-WebSocket-Version: 13" -H "Sec-WebSocket-Key: SGVsbG8sIHdvcmxkIQ==" http://SERVER_IP:80/
Bước 3: Trỏ thiết bị của bạn tới máy chủ
Mỗi thiết bị đọc cài đặt mạng từ một tài liệu JSON nhỏ. Đây là khối mà trình cài đặt đã in ra ở cuối bước 1. Thay SERVER_IP bằng địa chỉ máy chủ của bạn và điền khối TURN nếu bạn chạy relay riêng.
{
"turnservers": [
{
"protocol": "turn",
"host": "turn.hoptodesk.com",
"port": "443",
"username": "hoptodesk",
"password": "hoptodesk1234"
}
],
"rendezvous": {
"host": "SERVER_IP",
"port": "80"
},
"winversion": "1.0.0",
"macversion": "1.0.0",
"linuxversion": "1.0.0",
"none": "none"
}
Khối rendezvous là máy chủ tín hiệu của bạn. Dùng khóa rendezvousssl thay cho rendezvous khi máy chủ được truy cập qua TLS, ví dụ Cloudflare Worker hoặc triển khai trên AWS. Danh sách turnservers chứa một hoặc nhiều relay. Đặt giao thức là turn cho kết nối thường hoặc turn-tls cho kết nối TLS. Giữ nguyên các khóa phiên bản.
Có ba cách đưa tài liệu này tới thiết bị của bạn. Hãy chọn cách phù hợp với hệ thống của bạn.
Cách A: Đặt tệp api.json trên mỗi thiết bị
Lưu tài liệu thành tệp tên api.json trong thư mục cấu hình của HopToDesk, rồi khởi động lại HopToDesk. Ứng dụng đọc tệp khi khởi động và không còn liên hệ với API của HopToDesk.
| Nền tảng | Đường dẫn |
|---|---|
| Windows, mọi người dùng và dịch vụ | C:\ProgramData\HopToDesk\config\api.json |
| Windows, chỉ người dùng hiện tại | %APPDATA%\HopToDesk\config\api.json |
| macOS | ~/Library/Preferences/com.hoptodesk.HopToDesk/api.json |
| Linux | ~/.config/hoptodesk/api.json |
Trên Linux, dịch vụ nền chạy với quyền root và đọc tệp trong /root, còn ứng dụng bạn mở đọc tệp trong thư mục cá nhân của bạn. Hãy đặt một bản sao ở cả hai nơi.
Cách B: Đưa tệp lên một URL và chọn nó trong ứng dụng
- Tải api.json lên bất kỳ máy chủ web nào mà thiết bị của bạn truy cập được. Nên dùng HTTPS.
- Trong HopToDesk, nhấp biểu tượng bánh răng để mở Cài đặt.
- Trong Network, nhấp Choose Network.
- Chọn Custom Network Settings, dán URL tệp của bạn và xác nhận.
- HopToDesk tải tệp xuống, kiểm tra tệp có mục rendezvous hợp lệ và danh sách turnservers, sau đó kết nối lại qua máy chủ của bạn.
Để quay lại mạng công cộng, mở lại Choose Network và chọn HopToDesk Network.
Cách C: Đẩy cài đặt từ bảng điều khiển
Nếu thiết bị của bạn đã liên kết với bảng điều khiển HopToDesk, bạn có thể đặt mạng một lần cho toàn bộ tài khoản. Ứng dụng khách tùy chỉnh tạo từ bảng điều khiển đã tích hợp sẵn các cài đặt này.
- Đăng nhập bảng điều khiển với vai trò chủ sở hữu hoặc quản trị viên và mở Cài đặt.
- Trong Network Settings, chọn Custom Network.
- Nhập máy chủ tín hiệu, cổng của nó và WS làm giao thức. Thêm máy chủ TURN nếu bạn chạy relay riêng, hoặc để trống để giữ relay của HopToDesk.
- Nhấp Save Network Settings. Mọi thiết bị đã liên kết sẽ nhận cài đặt mới và áp dụng mà không cần cài lại.
Chạy relay TURN của riêng bạn (tùy chọn)
Các phiên không thể kết nối trực tiếp mặc định đi qua relay của HopToDesk. Để giữ toàn bộ lưu lượng trong hạ tầng của bạn, hãy chạy một máy chủ TURN. Mọi máy chủ TURN tiêu chuẩn đều dùng được, và coturn là lựa chọn phổ biến trên Linux.
- Cài coturn trên máy chủ relay.
sudo apt install coturn
- Chỉnh sửa /etc/turnserver.conf và đặt ít nhất các giá trị dưới đây. Thay realm, thông tin đăng nhập và IP công cộng bằng của bạn.
listening-port=443 fingerprint lt-cred-mech user=myuser:mypassword realm=example.com external-ip=PUBLIC_IP
- Nếu /etc/default/coturn có dòng TURNSERVER_ENABLED, hãy bỏ ghi chú dòng đó. Sau đó bật và khởi động dịch vụ.
sudo systemctl enable --now coturn sudo systemctl restart coturn
- Mở cổng lắng nghe cho cả TCP và UDP, cùng dải relay UDP từ 49152 đến 65535, trên tường lửa của relay.
- Đưa relay cho các thiết bị: chạy lại trình cài đặt với bốn giá trị TURN, hoặc chỉnh sửa khối turnservers trong cài đặt mạng. Dùng turn-tls làm giao thức nếu relay của bạn kết thúc TLS.
Quản lý máy chủ trên Linux
sudo systemctl status hopsignal sudo systemctl restart hopsignal sudo systemctl stop hopsignal tail -f /home/hopsignal/hs.log
Để cập nhật máy chủ, dừng dịch vụ và chạy lại lệnh cài đặt. Lệnh này tải tệp nhị phân mới nhất và ghi lại dịch vụ.
Để gỡ máy chủ cùng dịch vụ và các mục cron của nó:
cd /home && curl -o hsinstall.sh -sL https://www.hoptodesk.com/hs/hsinstall && sh hsinstall.sh remove
Khắc phục sự cố
- ID cứ dừng ở Generating, hoặc ứng dụng liên tục cố kết nối mạng: thiết bị không truy cập được máy chủ tín hiệu. Kiểm tra dịch vụ đang chạy, cổng 80 đã mở và địa chỉ trong cài đặt mạng là đúng.
- Thiết bị kết nối được trong LAN nhưng không từ bên ngoài: không truy cập được relay. Với relay mặc định, thiết bị cần truy cập ra ngoài tới turn.hoptodesk.com qua cổng 443. Với relay riêng, hãy kiểm tra quy tắc tường lửa và thông tin đăng nhập của nó.
- Ứng dụng bỏ qua api.json: hãy chắc rằng tệp là JSON hợp lệ không có dấu phẩy thừa, nằm đúng thư mục và bạn đã khởi động lại HopToDesk. Nhật ký ứng dụng có dòng Loaded local api.json khi tệp được nạp.
- Cổng 82 là cổng liên kết để nối nhiều máy chủ tín hiệu của riêng bạn. Hãy đóng nó với internet.
- Máy chủ tín hiệu không lưu dữ liệu phiên. Nếu có gì đó bị kẹt, hãy khởi động lại dịch vụ. Thiết bị tự kết nối lại trong khoảng một phút.
Lưu trữ bên thứ ba
Thích nền tảng được quản lý? Hãy triển khai mạng HopToDesk trên Cloudflare hoặc AWS.

HopToDesk trên Cloudflare
- Đăng nhập tài khoản Cloudflare của bạn và mở vùng tên miền bạn muốn dùng.
- Tạo một worker mới với tên tệp index.js.
- Sao chép mã worker vào index.js, sau đó lưu và triển khai worker. Mã worker
- URL Cloudflare Worker của bạn đã sẵn sàng. Dùng nó làm giá trị "rendezvousssl". api.json API tùy chỉnh

HopToDesk trên AWS
- Đăng ký tài khoản AWS nếu bạn chưa có.
- Đăng ký gói HopToDesk trên AWS Marketplace. AWS Marketplace
- Sau khi Amazon cấp phát dịch vụ, hãy cấu hình nếu cần và khởi chạy phiên bản.
- Mạng HopToDesk của bạn đã được triển khai trên AWS. Đặt URL https của nó làm giá trị "rendezvousssl". api.json API tùy chỉnh
Lưu ý: Worker cần gói trả phí của Cloudflare từ 5 $/tháng, vì nó sử dụng Durable Objects. Giá Durable Objects
AWS Marketplace và logo AWS Marketplace là thương hiệu của Amazon.com, Inc. hoặc các công ty liên kết.Cloudflare, logo Cloudflare và Cloudflare Workers là thương hiệu và/hoặc thương hiệu đã đăng ký của Cloudflare, Inc. tại Hoa Kỳ và các khu vực pháp lý khác.