В локална среда
Хоствайте собствена HopToDesk мрежа локално или в облака.
Настройте собствена мрежа
Настройте собствена HopToDesk мрежа. Съвместима с Ubuntu 18 - 24 и Windows.
Ръководство за настройка
Ръководство за настройка стъпка по стъпка
Какво прави инсталаторът, как да го проверите и как да свържете устройствата си със собствената си мрежа.
Как работи
HopToDesk използва два вида сървъри. Сигналният сървър помага на устройствата да се открият и да установят сесия. TURN релето пренася трафика на сесията само когато директна връзка между двете устройства не е възможна.
Сесиите са криптирани от край до край, така че никой от сървърите не може да чете екрана, файловете или чата ви. Сигналният сървър вижда само идентификатори на устройства и заявки за връзка.
Инсталаторът на тази страница настройва сигналния сървър. Трафикът през реле минава по подразбиране през релето на HopToDesk или през вашия собствен TURN сървър, ако зададете такъв.
Таблото остава хоствана услуга. Устройствата в самостоятелно хоствана мрежа все още могат да бъдат свързани с него за управление, а таблото може да им изпраща мрежовите настройки.
Преди да започнете
- Сървър с Ubuntu 18.04 до 24.04 или сървър с Windows.
- Root или sudo достъп до този сървър.
- IP адрес или име на хост, до които всички ваши устройства имат достъп. За мрежа, която никога не напуска вашата LAN, е достатъчен частен адрес.
- TCP порт 80, отворен на защитната стена на сървъра за вашите устройства.
- Ако искате собствено реле: хост, порт, потребителско име и парола на вашия TURN сървър.
Стъпка 1: Инсталирайте сигналния сървър в Linux
- Влезте в сървъра като root или като потребител с sudo права.
- В горната част на тази страница изберете LAN + Default Relay или Custom TURN Server. Командата за инсталиране се променя според избора ви.
- Щракнете върху Copy, поставете командата в терминала и натиснете Enter.
- Изчакайте скриптът да приключи. На нов сървър инсталирането на пакетите може да отнеме няколко минути.
- Накрая скриптът извежда HopSignal Setup Complete, следвано от адреса на сървъра и готов блок с мрежови настройки. Запазете този изход, ще ви трябва в стъпка 3.
cd /home && curl -o hsinstall.sh -sL https://www.hoptodesk.com/hs/hsinstall && sh hsinstall.sh
Със собствен TURN сървър добавете четирите му стойности в края на командата в този ред: хост, порт, потребителско име, парола.
sh hsinstall.sh turn.example.com 443 myuser mypassword
Какво прави скриптът
- Инсталира с apt нужните инструменти за компилиране и OpenSSL библиотеки.
- Изтегля двоичния файл на сигналния сървър в папката /home/hopsignal.
- Създава systemd услуга с име hopsignal и я стартира при всяко зареждане.
- Добавя cron наблюдател, който рестартира услугата, ако спре да отговаря, и ротира дневника, когато надхвърли 100 MB.
- Отваря TCP порт 80 в ufw, когато ufw е активен.
Стъпка 1 в Windows: Стартирайте сигналния сървър
- Превключете превключвателя OS в горната част на тази страница на Windows и щракнете върху Download. Получавате един файл с име hopsignal.exe.
- Създайте папка като C:\hopsignal и преместете hopsignal.exe в нея.
- В същата папка създайте празен текстов файл с име fedlist.txt.
- Версията за Windows очаква и TLS сертификат с неговия частен ключ във формат PEM. Всяка двойка работи, включително самоподписана. Запазете ги като cert.pem и key.pem в същата папка.
- Отворете командния ред като администратор и стартирайте сървъра.
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
Ако имате OpenSSL, тази команда създава самоподписана двойка сертификат и ключ:
openssl req -x509 -newkey rsa:2048 -nodes -keyout key.pem -out cert.pem -days 3650 -subj "/CN=hopsignal"
Разрешете порта в защитната стена на Windows:
netsh advfirewall firewall add rule name="HopSignal" dir=in action=allow protocol=TCP localport=80
За да продължи сървърът да работи след рестартиране, регистрирайте го като планирана задача, която се стартира при зареждане под акаунта 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
Стъпка 2: Проверете дали сървърът работи
В Linux проверете услугата и дневника:
sudo systemctl status hopsignal tail /home/hopsignal/hs.log
В Windows потвърдете, че портът слуша:
netstat -an | find ":80 "
От всеки компютър тествайте WebSocket порта. Заменете SERVER_IP с адреса на вашия сървър. Изправен сървър отговаря с 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/
Стъпка 3: Насочете устройствата си към сървъра
Всяко устройство чете мрежовите си настройки от малък JSON документ. Това е блокът, който инсталаторът изведе в края на стъпка 1. Заменете SERVER_IP с адреса на вашия сървър и попълнете блока TURN, ако използвате собствено реле.
{
"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"
}
Блокът rendezvous е вашият сигнален сървър. Използвайте ключа rendezvousssl вместо rendezvous, когато сървърът се достига през TLS, например Cloudflare Worker или внедряване в AWS. Списъкът turnservers съдържа едно или повече релета. Задайте протокола turn за обикновена връзка или turn-tls за TLS връзка. Оставете ключовете за версии непроменени.
Има три начина да предадете този документ на устройствата си. Изберете този, който отговаря на вашата конфигурация.
Вариант A: Поставете файл api.json на всяко устройство
Запазете документа като файл с име api.json в конфигурационната папка на HopToDesk, след което рестартирайте HopToDesk. Приложението чете файла при стартиране и вече не се свързва с API на HopToDesk.
| Платформа | Път |
|---|---|
| Windows, всички потребители и услугата | C:\ProgramData\HopToDesk\config\api.json |
| Windows, само текущият потребител | %APPDATA%\HopToDesk\config\api.json |
| macOS | ~/Library/Preferences/com.hoptodesk.HopToDesk/api.json |
| Linux | ~/.config/hoptodesk/api.json |
В Linux фоновата услуга работи като root и чете файла в /root, а приложението, което отваряте, чете файла във вашата домашна папка. Поставете копие и на двете места.
Вариант B: Хоствайте файла на URL и го изберете в приложението
- Качете api.json на всеки уеб сървър, до който устройствата ви имат достъп. Препоръчва се HTTPS.
- В HopToDesk щракнете върху иконата на зъбно колело, за да отворите настройките.
- В Network щракнете върху Choose Network.
- Изберете Custom Network Settings, поставете URL адреса на файла си и потвърдете.
- HopToDesk изтегля файла, проверява дали съдържа валиден запис rendezvous и списък turnservers, след което се свързва отново през вашия сървър.
За да се върнете към публичната мрежа, отворете отново Choose Network и изберете HopToDesk Network.
Вариант C: Изпратете настройките от таблото
Ако устройствата ви са свързани с таблото на HopToDesk, можете да зададете мрежата веднъж за целия акаунт. Персонализиран клиент, създаден от таблото, вече съдържа тези настройки.
- Влезте в таблото като собственик или администратор и отворете настройките.
- В Network Settings изберете Custom Network.
- Въведете хоста на сигналния сървър, неговия порт и WS като протокол. Добавете TURN сървър, ако използвате собствено реле, или оставете празно, за да запазите релето на HopToDesk.
- Щракнете върху Save Network Settings. Всяко свързано устройство получава новите настройки и ги прилага без преинсталиране.
Стартирайте собствено TURN реле (по избор)
Сесиите, които не могат да се свържат директно, минават по подразбиране през релето на HopToDesk. За да задържите целия трафик в собствената си инфраструктура, стартирайте TURN сървър. Всеки стандартен TURN сървър работи, а coturn е често срещан избор в Linux.
- Инсталирайте coturn на сървъра за реле.
sudo apt install coturn
- Редактирайте /etc/turnserver.conf и задайте поне стойностите по-долу. Заменете realm, идентификационните данни и публичния IP със своите.
listening-port=443 fingerprint lt-cred-mech user=myuser:mypassword realm=example.com external-ip=PUBLIC_IP
- Ако /etc/default/coturn съдържа ред TURNSERVER_ENABLED, премахнете коментара. След това активирайте и стартирайте услугата.
sudo systemctl enable --now coturn sudo systemctl restart coturn
- Отворете на защитната стена на релето порта за слушане за TCP и UDP, както и UDP диапазона за реле от 49152 до 65535.
- Предайте релето на устройствата: стартирайте инсталатора отново с четирите TURN стойности или редактирайте блока turnservers в мрежовите настройки. Използвайте turn-tls като протокол, ако релето ви терминира TLS.
Управление на сървъра в Linux
sudo systemctl status hopsignal sudo systemctl restart hopsignal sudo systemctl stop hopsignal tail -f /home/hopsignal/hs.log
За да актуализирате сървъра, спрете услугата и изпълнете отново командата за инсталиране. Тя изтегля актуалния двоичен файл и пренаписва услугата.
За да премахнете сървъра заедно с услугата и записите в cron:
cd /home && curl -o hsinstall.sh -sL https://www.hoptodesk.com/hs/hsinstall && sh hsinstall.sh remove
Отстраняване на проблеми
- Идентификаторът остава на Generating или приложението непрекъснато се опитва да се свърже с мрежата: устройството не може да достигне сигналния сървър. Проверете дали услугата работи, дали порт 80 е отворен и дали адресът в мрежовите настройки е правилен.
- Устройствата се свързват в LAN, но не и отвън: релето не е достъпно. С релето по подразбиране устройствата се нуждаят от изходящ достъп до turn.hoptodesk.com на порт 443. Със собствено реле проверете правилата на защитната стена и идентификационните данни.
- Приложението игнорира api.json: уверете се, че файлът е валиден JSON без завършващи запетаи, че е в правилната папка и че сте рестартирали HopToDesk. Дневникът на приложението съдържа реда Loaded local api.json, когато файлът е зареден.
- Порт 82 е порт за федерация за свързване на няколко ваши сигнални сървъра. Дръжте го затворен за интернет.
- Сигналният сървър не съхранява данни от сесии. Ако нещо изглежда блокирано, рестартирайте услугата. Устройствата се свързват отново сами за около минута.
Хостинг при трета страна
Предпочитате управлявана платформа? Разположете своята HopToDesk мрежа в Cloudflare или AWS.

HopToDesk в Cloudflare
- Влезте в акаунта си в Cloudflare и отидете в домейн зоната, която искате да използвате.
- Създайте нов worker с име на файла index.js.
- Копирайте кода на worker в index.js, след което запишете и разположете worker-а. Код на worker
- URL адресът на вашия Cloudflare Worker е готов. Използвайте го като стойност на "rendezvousssl". api.json Собствен API

HopToDesk в AWS
- Регистрирайте акаунт в AWS, ако още нямате такъв.
- Абонирайте се за обявата на HopToDesk в AWS Marketplace. AWS Marketplace
- След като Amazon подготви услугата, конфигурирайте при нужда и стартирайте инстанцията.
- Вашата HopToDesk мрежа вече е разположена в AWS. Задайте нейния https адрес като стойност на "rendezvousssl". api.json Собствен API
Забележка: Worker-ът изисква платен план на Cloudflare от 5 щ.д. на месец, защото разчита на Durable Objects. Цени на Durable Objects
AWS Marketplace и логото на AWS Marketplace са търговски марки на Amazon.com, Inc. или нейни филиали.Cloudflare, логото на Cloudflare и Cloudflare Workers са търговски марки и/или регистрирани търговски марки на Cloudflare, Inc. в САЩ и други юрисдикции.