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 trên máy chủ Linux hoặc Windows 64-bit.

Cách nhanh nhất: trong bảng điều khiển, mở Cài đặt, Network Settings, Set up a private network. Bạn nhận được liên kết khởi chạy AWS sẵn sàng hoặc lệnh Docker, và máy chủ mới tự báo về bảng điều khiển của bạn. Mở bảng điều khiển

Hệ điều hành:
Linux
LinuxWindows
Cấu hình này cho phép các thiết bị trong mạng LAN kết nối trực tiếp, đồng thời dùng máy chủ relay mặc định của HopToDesk cho kết nối bên ngoài.
Cấu hình máy chủ TURN của riêng bạn để kiểm soát hoàn toàn kết nối relay. Tất cả các trường đều bắt buộc.

Hướng dẫn cài đặt

Tự lưu trữ HopToDesk

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.

Thiết bị trong mạng tự lưu trữ vẫn có thể liên kết với bảng điều khiển để quản lý, và bảng điều khiển có thể đẩy cài đặt mạng tới chúng.

Bạn cũng cần bảng điều khiển trên máy chủ của riêng mình? Trao đổi với chúng tôi

Trước khi bắt đầu

  • Một máy chủ Linux 64-bit có systemd, như Ubuntu hoặc Debian, 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

  1. Đă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.
  2. Ở đầ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.
  3. Nhấp Copy, dán lệnh vào terminal rồi nhấn Enter.
  4. Chờ đến khi script chạy xong. Việc này mất chưa đến một phút.
  5. 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.
curl -o hsinstall.sh -sL https://www.hoptodesk.com/hs/hsinstall && sudo 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.

sudo sh hsinstall.sh turn.example.com 443 myuser mypassword

Tập lệnh làm gì

  • Tải máy chủ tín hiệu phù hợp với bộ xử lý của bạn, Intel, AMD hoặc ARM, vào thư mục /home/hopsignal.
  • Đối chiếu tệp tải về với danh sách SHA256SUMS đã công bố và dừng lại mà không thay đổi gì nếu không khớp.
  • Tạo một dịch vụ systemd tên hopsignal và khởi động nó mỗi lần bật máy.
  • Khởi động máy chủ với các giới hạn kết nối được khuyến nghị và một mật khẩu liên kết ngẫu nhiên, lưu trong /home/hopsignal/hopsignal.env và chỉ root truy cập được.
  • 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

  1. 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.
  2. Tạo một thư mục như C:\hopsignal và chuyển hopsignal.exe vào đó.
  3. Trong cùng thư mục, tạo một tệp văn bản trống tên fedlist.txt.
  4. Mở Command Prompt với quyền quản trị và khởi động máy chủ.
cd C:\hopsignal
for /f %i in ('powershell -NoProfile -Command "[guid]::NewGuid().ToString('N')"') do @(setx /M FEDPWD %i >nul & set FEDPWD=%i)
hopsignal.exe --ADDR 0.0.0.0:80 --FEDLIST fedlist.txt --FEDADDR 127.0.0.1:82 --LOGFILE hs.log

Dòng thứ hai lưu một mật khẩu liên kết ngẫu nhiên làm cài đặt hệ thống Windows, nên mật khẩu không bao giờ xuất hiện trên dòng lệnh của máy chủ.

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 --FEDLIST C:\hopsignal\fedlist.txt --FEDADDR 127.0.0.1:82 --LOGFILE C:\hopsignal\hs.log"
schtasks /Run /TN HopSignal

Bước 1 với Docker: Chạy máy chủ tín hiệu trong một container

Image hoptodesk/hopsignal chạy cùng một máy chủ tín hiệu trên các máy chủ Intel, AMD và ARM. Khởi động nó với các giới hạn được khuyến nghị:

docker run -d --name hopsignal --restart unless-stopped -p 80:80 \
  -e HS_MAX_MESSAGE_KB=64 -e HS_QUEUE_LIMIT=256 -e HS_MAX_CONNS=20000 \
  -e HS_CONNS_PER_IP=100 -e HS_LOOKUPS_PER_IP=20 \
  -e HS_IDLE_TIMEOUT=300 -e HS_UPGRADE_TIMEOUT=10 \
  hoptodesk/hopsignal

Mỗi giá trị HS_ bật một giới hạn: kích thước thông điệp tính bằng KB, thông điệp chờ trong hàng đợi trên mỗi kết nối, kết nối đang mở, kết nối mới và tra cứu trên mỗi địa chỉ mỗi giây, số giây nhàn rỗi và số giây bắt tay. Bỏ qua một giá trị thì giới hạn đó vẫn tắt.

Để tự động liên kết container với tài khoản bảng điều khiển của bạn, hãy dùng lệnh Docker từ Set up a private network trong bảng điều khiển. Lệnh này thêm HS_SETUP_TOKEN và HS_DASHBOARD_URL, và máy chủ báo địa chỉ của nó một lần, khi khởi động lần đầu.

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 "

Với Docker, hãy kiểm tra container và nhật ký của nó:

docker ps --filter name=hopsignal
docker logs hopsignal

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. 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.

Hãy viết mỗi số cổng trong dấu ngoặc kép, như trong ví dụ ở trên. Ứng dụng bỏ qua cổng được viết dưới dạng số thông thường.

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ần quyền quản trị)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, hãy đặt thêm một bản sao trong /root/.config/hoptodesk. Ứng dụng dùng bản sao này ở màn hình đăng nhập, trước khi người dùng đăng nhập.

Cách B: Đưa tệp lên một URL và chọn nó trong ứng dụng

  1. 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.
  2. Trong HopToDesk, nhấp biểu tượng bánh răng để mở Cài đặt.
  3. Trong Network, nhấp Choose Network.
  4. Chọn Custom Network Settings, dán URL tệp của bạn và xác nhận.
  5. 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 (Default).

Trên Android và iOS, mở Cài đặt, tắt Use HopToDesk Network trong mục Mạng, rồi nhập URL của tệp. Điện thoại được quản lý qua EMM có thể nhận cùng URL đó thông qua cài đặt được quản lý custom_api_url.

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.

Máy chủ mới: trong bảng điều khiển, mở Cài đặt, Network Settings, Set up a private network. Chọn In my AWS account hoặc On my own server. Máy chủ báo địa chỉ của nó khi khởi động, và mọi thiết bị đã liên kết nhận được cài đặt. Không cần gõ gì cả.

Máy chủ bạn đang chạy sẵn: nhập cài đặt của nó bằng tay.

  1. Đă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.
  2. Trong Network Settings, chọn Custom Network.
  3. 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.
  4. 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.

  1. Cài coturn trên máy chủ relay.
sudo apt install coturn
  1. 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
  1. 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
  1. 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.
  2. Đư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ó:

curl -o hsinstall.sh -sL https://www.hoptodesk.com/hs/hsinstall && sudo 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

  1. Đă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.
  2. Tạo một worker mới với tên tệp index.js.
  3. Sao chép mã worker vào index.js, sau đó lưu và triển khai worker. Mã worker
  4. Trong cài đặt worker, thêm một binding Durable Object tên group cho lớp SessionGroup.
  5. 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

  1. Đăng ký HopToDesk Private Network trên AWS Marketplace. Sản phẩm miễn phí; AWS chỉ tính phí máy chủ. AWS Marketplace
  2. Đã đăng nhập bảng điều khiển? Mở Cài đặt, Network Settings, Set up a private network và chọn In my AWS account. Liên kết khởi chạy đã điền sẵn cài đặt, máy chủ tự báo về bảng điều khiển của bạn, và bạn có thể bỏ qua các bước tiếp theo.
  3. Chọn Launch with CloudFormation. Một biểu mẫu sẽ tạo máy chủ, địa chỉ cố định và các quy tắc tường lửa của nó trong khu vực bạn chọn.
  4. Khi stack hoàn tất, hãy mở tab Outputs. Tab này hiển thị api.json cho các ứng dụng của bạn.
  5. Lưu tệp api.json đó trên từng máy tính, hoặc gửi đến tất cả thiết bị từ Cài đặt mạng trong bảng điều khiển. api.json

Lưu ý: Worker sử dụng Durable Objects. Chi phí phụ thuộc vào gói Cloudflare của bạn và mức sử dụng. 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.

Bạn đang lên kế hoạch triển khai tự lưu trữ? Yêu cầu báo giá