On-Premises
Hostuj własną sieć HopToDesk lokalnie lub w chmurze.
Skonfiguruj własną sieć
Skonfiguruj własną sieć HopToDesk na 64-bitowym serwerze z Linuksem lub Windows.
Najszybsza droga: w panelu otwórz Ustawienia, Network Settings, Set up a private network. Otrzymasz gotowy link uruchamiający AWS lub polecenie Docker, a nowy serwer sam zgłosi się do Twojego panelu. Otwórz panel
Samouczek konfiguracji
Przewodnik konfiguracji krok po kroku
Co robi instalator, jak to sprawdzić i jak połączyć urządzenia z własną siecią.
Jak to działa
HopToDesk korzysta z dwóch rodzajów serwerów. Serwer sygnalizacyjny pomaga urządzeniom odnaleźć się nawzajem i nawiązać sesję. Przekaźnik TURN przenosi ruch sesji tylko wtedy, gdy bezpośrednie połączenie między dwoma urządzeniami nie jest możliwe.
Sesje są szyfrowane end-to-end, więc żaden serwer nie może odczytać Twojego ekranu, plików ani czatu. Serwer sygnalizacyjny widzi tylko identyfikatory urządzeń i żądania połączeń.
Instalator na tej stronie konfiguruje serwer sygnalizacyjny. Ruch przekaźnika domyślnie przechodzi przez przekaźnik HopToDesk albo przez Twój własny serwer TURN, jeśli go podasz.
Urządzenia w sieci własnej nadal można powiązać z panelem w celu zarządzania, a panel może wysyłać do nich ustawienia sieci.
Potrzebujesz panelu także na własnych serwerach? Porozmawiaj z nami
Zanim zaczniesz
- 64-bitowy serwer z Linuksem i systemd, na przykład Ubuntu lub Debian, albo serwer Windows.
- Dostęp root lub sudo na tym serwerze.
- Adres IP lub nazwa hosta, do której docierają wszystkie Twoje urządzenia. Dla sieci, która nigdy nie opuszcza Twojej sieci LAN, wystarczy adres prywatny.
- Port TCP 80 otwarty na zaporze serwera dla Twoich urządzeń.
- Jeśli chcesz mieć własny przekaźnik: host, port, nazwa użytkownika i hasło Twojego serwera TURN.
Krok 1: Zainstaluj serwer sygnalizacyjny w systemie Linux
- Zaloguj się na serwerze jako root albo jako użytkownik z uprawnieniami sudo.
- U góry tej strony wybierz LAN + Default Relay albo Custom TURN Server. Polecenie instalacji zmienia się zależnie od wyboru.
- Kliknij Copy, wklej polecenie w terminalu i naciśnij Enter.
- Poczekaj, aż skrypt się zakończy. Trwa to krócej niż minutę.
- Na końcu skrypt wypisuje HopSignal Setup Complete, a po nim adres Twojego serwera i gotowy blok ustawień sieci. Zachowaj to wyjście, będzie potrzebne w kroku 3.
curl -o hsinstall.sh -sL https://www.hoptodesk.com/hs/hsinstall && sudo sh hsinstall.sh
Z własnym serwerem TURN dodaj jego cztery wartości na końcu polecenia w tej kolejności: host, port, nazwa użytkownika, hasło.
sudo sh hsinstall.sh turn.example.com 443 myuser mypassword
Co robi skrypt
- Pobiera serwer sygnalizacyjny dla Twojego procesora, Intel, AMD lub ARM, do folderu /home/hopsignal.
- Sprawdza pobrany plik względem opublikowanej listy SHA256SUMS i przerywa bez zmian, gdy nie pasuje.
- Tworzy usługę systemd o nazwie hopsignal i uruchamia ją przy każdym starcie systemu.
- Uruchamia serwer z zalecanymi limitami połączeń i losowym hasłem federacji, zapisanym w /home/hopsignal/hopsignal.env z dostępem tylko dla roota.
- Dodaje strażnika w cronie, który restartuje usługę, gdy przestanie odpowiadać, i rotuje log, gdy przekroczy 100 MB.
- Otwiera port TCP 80 w ufw, gdy ufw jest aktywne.
Krok 1 w systemie Windows: Uruchom serwer sygnalizacyjny
- Przełącz przełącznik OS u góry tej strony na Windows i kliknij Download. Otrzymasz jeden plik o nazwie hopsignal.exe.
- Utwórz folder, na przykład C:\hopsignal, i przenieś do niego hopsignal.exe.
- W tym samym folderze utwórz pusty plik tekstowy o nazwie fedlist.txt.
- Otwórz Wiersz polecenia jako administrator i uruchom serwer.
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
Druga linia zapisuje losowe hasło federacji jako ustawienie systemowe Windows, więc nigdy nie pojawia się w wierszu poleceń serwera.
Zezwól na port w Zaporze systemu Windows:
netsh advfirewall firewall add rule name="HopSignal" dir=in action=allow protocol=TCP localport=80
Aby serwer działał po ponownym uruchomieniu, zarejestruj go jako zadanie zaplanowane uruchamiane przy starcie na koncie 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
Krok 1 z Dockerem: Uruchom serwer sygnalizacyjny w kontenerze
Obraz hoptodesk/hopsignal uruchamia ten sam serwer sygnalizacyjny na hostach Intel, AMD i ARM. Uruchom go z zalecanymi limitami:
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
Każda wartość HS_ włącza jeden limit: rozmiar wiadomości w KB, wiadomości w kolejce na połączenie, otwarte połączenia, nowe połączenia i zapytania na adres na sekundę, sekundy bezczynności i sekundy na uzgodnienie połączenia. Pomiń wartość, a ten limit pozostanie wyłączony.
Aby automatycznie połączyć kontener z kontem w panelu, użyj polecenia Docker z Set up a private network w panelu. Dodaje ono HS_SETUP_TOKEN i HS_DASHBOARD_URL, a serwer zgłasza swój adres raz, przy pierwszym starcie.
Krok 2: Sprawdź, czy serwer działa
W systemie Linux sprawdź usługę i log:
sudo systemctl status hopsignal tail /home/hopsignal/hs.log
W systemie Windows sprawdź, czy port nasłuchuje:
netstat -an | find ":80 "
W przypadku Dockera sprawdź kontener i jego log:
docker ps --filter name=hopsignal docker logs hopsignal
Z dowolnego komputera przetestuj port WebSocket. Zastąp SERVER_IP adresem swojego serwera. Sprawny serwer odpowiada 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/
Krok 3: Skieruj urządzenia na serwer
Każde urządzenie odczytuje ustawienia sieci z małego dokumentu JSON. To blok, który instalator wypisał na końcu kroku 1. Zastąp SERVER_IP adresem swojego serwera i wypełnij blok TURN, jeśli używasz własnego przekaźnika.
{
"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"
}
Blok rendezvous to Twój serwer sygnalizacyjny. Użyj klucza rendezvousssl zamiast rendezvous, gdy serwer jest osiągany przez TLS, na przykład Cloudflare Worker. Lista turnservers zawiera jeden lub więcej przekaźników. Ustaw protokół na turn dla zwykłego połączenia albo turn-tls dla połączenia TLS. Klucze wersji zostaw bez zmian.
Każdy numer portu wpisz w cudzysłowie, jak w przykładzie powyżej. Aplikacja ignoruje port zapisany jako zwykła liczba.
Są trzy sposoby dostarczenia tego dokumentu do urządzeń. Wybierz ten, który pasuje do Twojej konfiguracji.
Opcja A: Umieść plik api.json na każdym urządzeniu
Zapisz dokument jako plik o nazwie api.json w folderze konfiguracji HopToDesk, a następnie uruchom HopToDesk ponownie. Aplikacja odczytuje plik przy starcie i nie łączy się już z API HopToDesk.
| Platforma | Ścieżka |
|---|---|
| Windows, wszyscy użytkownicy i usługa (wymaga uprawnień administratora) | C:\ProgramData\HopToDesk\config\api.json |
| Windows, tylko bieżący użytkownik | %APPDATA%\HopToDesk\config\api.json |
| macOS | ~/Library/Preferences/com.hoptodesk.HopToDesk/api.json |
| Linux | ~/.config/hoptodesk/api.json |
W systemie Linux umieść drugą kopię w /root/.config/hoptodesk. Aplikacja używa tej kopii na ekranie logowania, zanim użytkownik się zaloguje.
Opcja B: Udostępnij plik pod adresem URL i wybierz go w aplikacji
- Wgraj api.json na dowolny serwer WWW, do którego docierają Twoje urządzenia. Zalecany jest HTTPS.
- W HopToDesk kliknij ikonę koła zębatego, aby otworzyć ustawienia.
- W sekcji Network kliknij Choose Network.
- Wybierz Custom Network Settings, wklej adres URL swojego pliku i potwierdź.
- HopToDesk pobiera plik, sprawdza, czy zawiera poprawny wpis rendezvous i listę turnservers, a następnie łączy się ponownie przez Twój serwer.
Aby wrócić do sieci publicznej, otwórz ponownie Choose Network i wybierz HopToDesk Network (Default).
Na Androidzie i iOS otwórz Ustawienia, wyłącz Use HopToDesk Network w sekcji Sieć, a następnie wpisz adres URL swojego pliku. Telefony zarządzane przez EMM mogą otrzymać ten sam adres URL w zarządzanym ustawieniu custom_api_url.
Opcja C: Wyślij ustawienia z panelu
Jeśli Twoje urządzenia są powiązane z panelem HopToDesk, możesz ustawić sieć raz dla całego konta. Niestandardowy klient zbudowany z panelu ma te ustawienia wbudowane.
Nowy serwer: w panelu otwórz Ustawienia, Network Settings, Set up a private network. Wybierz In my AWS account lub On my own server. Serwer zgłasza swój adres przy starcie, a każde połączone urządzenie otrzymuje ustawienia. Nic do wpisywania.
Serwer, który już masz: wpisz jego ustawienia ręcznie.
- Zaloguj się do panelu jako właściciel lub administrator i otwórz ustawienia.
- W sekcji Network Settings wybierz Custom Network.
- Wpisz host serwera sygnalizacyjnego, jego port oraz WS jako protokół. Dodaj serwer TURN, jeśli używasz własnego przekaźnika, albo zostaw puste, aby zachować przekaźnik HopToDesk.
- Kliknij Save Network Settings. Każde powiązane urządzenie otrzyma nowe ustawienia i zastosuje je bez ponownej instalacji.
Uruchom własny przekaźnik TURN (opcjonalnie)
Sesje, które nie mogą połączyć się bezpośrednio, domyślnie przechodzą przez przekaźnik HopToDesk. Aby cały ruch pozostał w Twojej infrastrukturze, uruchom serwer TURN. Działa każdy standardowy serwer TURN, a coturn to częsty wybór w systemie Linux.
- Zainstaluj coturn na serwerze przekaźnika.
sudo apt install coturn
- Edytuj /etc/turnserver.conf i ustaw co najmniej poniższe wartości. Zastąp realm, dane logowania i publiczny adres IP własnymi.
listening-port=443 fingerprint lt-cred-mech user=myuser:mypassword realm=example.com external-ip=PUBLIC_IP
- Jeśli /etc/default/coturn zawiera wiersz TURNSERVER_ENABLED, odkomentuj go. Następnie włącz i uruchom usługę.
sudo systemctl enable --now coturn sudo systemctl restart coturn
- Otwórz na zaporze przekaźnika port nasłuchu dla TCP i UDP oraz zakres przekaźnika UDP od 49152 do 65535.
- Przekaż przekaźnik urządzeniom: uruchom instalator ponownie z czterema wartościami TURN albo edytuj blok turnservers w ustawieniach sieci. Użyj protokołu turn-tls, jeśli Twój przekaźnik obsługuje TLS.
Zarządzanie serwerem w systemie Linux
sudo systemctl status hopsignal sudo systemctl restart hopsignal sudo systemctl stop hopsignal tail -f /home/hopsignal/hs.log
Aby zaktualizować serwer, zatrzymaj usługę i uruchom polecenie instalacji ponownie. Pobierze ono aktualny plik binarny i zapisze usługę na nowo.
Aby usunąć serwer wraz z usługą i wpisami crona:
curl -o hsinstall.sh -sL https://www.hoptodesk.com/hs/hsinstall && sudo sh hsinstall.sh remove
Rozwiązywanie problemów
- ID pozostaje na Generating albo aplikacja ciągle próbuje połączyć się z siecią: urządzenie nie może dotrzeć do serwera sygnalizacyjnego. Sprawdź, czy usługa działa, czy port 80 jest otwarty i czy adres w ustawieniach sieci jest poprawny.
- Urządzenia łączą się w sieci LAN, ale nie z zewnątrz: przekaźnik jest nieosiągalny. Z domyślnym przekaźnikiem urządzenia potrzebują wychodzącego dostępu do turn.hoptodesk.com na porcie 443. Z własnym przekaźnikiem sprawdź jego reguły zapory i dane logowania.
- Aplikacja ignoruje api.json: upewnij się, że plik to poprawny JSON bez końcowych przecinków, że leży we właściwym folderze i że uruchomiono HopToDesk ponownie. Log aplikacji zawiera wiersz Loaded local api.json, gdy plik został wczytany.
- Port 82 to port federacji do łączenia kilku własnych serwerów sygnalizacyjnych. Trzymaj go zamknięty dla internetu.
- Serwer sygnalizacyjny nie przechowuje danych sesji. Jeśli coś wygląda na zablokowane, zrestartuj usługę. Urządzenia same łączą się ponownie w ciągu około minuty.
Hosting u dostawcy zewnętrznego
Wolisz platformę zarządzaną? Wdróż sieć HopToDesk w Cloudflare lub AWS.

HopToDesk w Cloudflare
- Zaloguj się na konto Cloudflare i przejdź do strefy domeny, której chcesz użyć.
- Utwórz nowy worker o nazwie pliku index.js.
- Skopiuj kod workera do index.js, a następnie zapisz i wdróż workera. Kod workera
- W ustawieniach workera dodaj powiązanie Durable Object o nazwie group dla klasy SessionGroup.
- Adres URL Twojego Cloudflare Workera jest gotowy. Użyj go jako wartości "rendezvousssl". api.json Własne API

HopToDesk w AWS
- Zasubskrybuj HopToDesk Private Network w AWS Marketplace. Oferta jest bezpłatna; AWS nalicza opłaty tylko za serwer. AWS Marketplace
- Zalogowany do panelu? Otwórz Ustawienia, Network Settings, Set up a private network i wybierz In my AWS account. Link uruchamiający ma już wypełnione ustawienia, serwer sam zgłasza się do Twojego panelu i możesz pominąć kolejne kroki.
- Wybierz Launch with CloudFormation. Jeden formularz tworzy serwer, jego stały adres i reguły zapory w wybranym przez Ciebie regionie.
- Gdy stos będzie gotowy, otwórz jego kartę Outputs. Zawiera plik api.json dla Twoich aplikacji.
- Zapisz ten plik api.json na każdym komputerze lub wyślij go na wszystkie urządzenia z Ustawień sieci w panelu. api.json
Uwaga: Worker korzysta z Durable Objects. Ich koszt zależy od Twojego planu Cloudflare i użycia. Cennik Durable Objects
AWS Marketplace i logo AWS Marketplace są znakami towarowymi Amazon.com, Inc. lub jej podmiotów zależnych.Cloudflare, logo Cloudflare i Cloudflare Workers są znakami towarowymi lub zastrzeżonymi znakami towarowymi Cloudflare, Inc. w Stanach Zjednoczonych i innych jurysdykcjach.
Planujesz wdrożenie w modelu self-hosting? Poproś o wycenę