Dlaczego warto mieć własny relay?
Wystawianie głównego komputera do internetu przez przekierowanie portów to ryzyko dla bezpieczeństwa, a trzymanie go włączonego całą dobę marnuje energię. Mały serwer Linux lub relay na Raspberry Pi daje najniższe możliwe opóźnienie, brak przekierowań portów do komputerów, z którymi się łączysz, mniejsze zużycie energii, brak obaw o RODO związanych z serwerami firm trzecich oraz Wake‑on‑LAN spoza Twojej sieci. Nawet jeśli relay zostanie zaatakowany, wszystkie przechodzące przez niego dane są szyfrowane kluczami, których serwer nigdy nie posiada.
Ten poradnik zakłada, że masz już dostęp SSH do maszyny z Linuxem i niezbędne uprawnienia.
Wersja 2 Remotly Relay Server dodaje obsługę TLS i hasła dostępu. Nawet bez TLS każde połączenie jest szyfrowane end‑to‑end z użyciem RSA-4096 i AES-256; TLS dodaje redundantną warstwę transportową dla restrykcyjnych firewalli, kosztem dodatkowego obciążenia CPU. Hasło dostępu zapobiega korzystaniu z serwera przez przypadkowe osoby, które odkryją jego adres IP i port.
1. Wybierz paczkę dla swojego urządzenia
Uruchom na serwerze polecenie uname -m i pobierz paczkę odpowiadającą wynikowi:
- x86_64 — Linux amd64 (64-bitowe serwery Intel/AMD i VPS): remotly‑relay‑linux‑amd64-v2.zip
- aarch64 — ARM64 (Raspberry Pi 3, 4 i 5 z systemem 64-bitowym, instancje chmurowe ARM): remotly‑relay‑linux‑arm64-v2.zip
- armv7l — 32-bitowy ARM (Raspberry Pi 2, 3 i 4 z 32-bitowym Raspberry Pi OS): remotly‑relay‑linux‑arm7-v2.zip
Raspberry Pi Zero i Raspberry Pi 1 (ARMv6) nie są obsługiwane.
2. Instalacja
- Połącz się z serwerem przez SSH (np. za pomocą OpenSSH, WinSCP lub FileZilla). Wszystkie poniższe polecenia wykonujesz na serwerze.
- Pobierz paczkę dla swojej architektury, np. dla ARM64: wget https://downloads.mirillis.com/files/remotly‑relay‑linux‑arm64-v2.zip
- Rozpakuj ją: unzip remotly‑relay‑linux‑arm64-v2.zip — jeśli brakuje programu unzip, zainstaluj go poleceniem sudo apt‑get update && sudo apt‑get install unzip.
- Przenieś pliki do /srv/remotly, gdzie oczekuje ich usługa: sudo mv remotly‑relay /srv/remotly
- Ustaw właściciela i uprawnienia: sudo chown -R root:root /srv/remotly && sudo chmod -R 755 /srv/remotly. Konfiguracja zawiera hasło, więc ogranicz jej odczyt do roota: sudo chmod 600 /srv/remotly/config/remotly‑relay.json
uname -m
wget https://downloads.mirillis.com/files/remotly‑relay‑linux‑arm64-v2.zip
unzip remotly‑relay‑linux‑arm64-v2.zip
sudo mv remotly‑relay /srv/remotly
sudo chown -R root:root /srv/remotly
sudo chmod -R 755 /srv/remotly
sudo chmod 600 /srv/remotly/config/remotly‑relay.json3. Konfiguracja
Edytuj konfigurację: sudo nano /srv/remotly/config/remotly‑relay.json. Jeśli to możliwe, użyj standardowego portu HTTPS 443 — najlepiej przechodzi przez firewalle.
Konfiguracja bez TLS:
{
"tlsEnabled": false,
"key": "",
"cert": "",
"forceTLS": false,
"domain": "",
"port": 443,
"max_bandwidth": 40000000,
"allowed_bandwidth": 30000000,
"password": "PasswordPasswordPasswordPassword"
}Konfiguracja z TLS (ustaw forceTLS na true, aby dopuszczać wyłącznie połączenia enkapsulowane w TLS):
{
"tlsEnabled": true,
"key": "/etc/letsencrypt/live/relay.example.com/privkey.pem",
"cert": "/etc/letsencrypt/live/relay.example.com/fullchain.pem",
"forceTLS": false,
"domain": "relay.example.com",
"port": 443,
"max_bandwidth": 40000000,
"allowed_bandwidth": 30000000,
"password": "PasswordPasswordPasswordPassword"
}- tlsEnabled — włącza dodatkowe szyfrowanie TLS; gdy ma wartość true, wymagane są poprawne ścieżki cert i key.
- key — bezwzględna ścieżka do klucza prywatnego certyfikatu w formacie PEM, np. /etc/letsencrypt/live/relay.example.com/privkey.pem.
- cert — bezwzględna ścieżka do certyfikatu z pełnym łańcuchem w formacie PEM, np. /etc/letsencrypt/live/relay.example.com/fullchain.pem.
- forceTLS — gdy ma wartość true, akceptowane są wyłącznie połączenia TLS 1.2 / 1.3; zarówno klient, jak i host muszą używać TLS.
- domain — nazwa domeny przypisana w DNS do adresu IP relaya (zalecana, używana do SNI).
- port — port używany przez relay do komunikacji.
- password — co najmniej 32 znaki, aby ograniczyć dostęp; pozostaw puste, aby uruchomić bez hasła. Krótsze, niepuste hasło uniemożliwia start serwera.
4. Uruchomienie usługi
- Zarejestruj usługę systemd: sudo bash /srv/remotly/script/installremotlyrelay.sh
- Uruchom ją: sudo bash /srv/remotly/script/startremotlyrelay.sh
- Sprawdź, czy działa: systemctl status remotly‑relay powinno pokazać active (running).
sudo bash /srv/remotly/script/installremotlyrelay.sh
sudo bash /srv/remotly/script/startremotlyrelay.sh
systemctl status remotly‑relay
# to stop
sudo bash /srv/remotly/script/stopremotlyrelay.shNastępnie otwórz w przeglądarce http://<IP relaya>:<port>/connectionTest (lub https://<domena relaya>:<port>/connectionTest przy TLS). Powinien pojawić się komunikat OK.
Usługa startuje razem z systemem. Po zmianie konfiguracji uruchom skrypt startowy ponownie (restartuje usługę); stopremotlyrelay.sh ją zatrzymuje. Log znajdziesz w /srv/remotly/logs/remotly‑relay.log.
5. Rejestracja relaya w koncie
Zaloguj się na remotly.com, otwórz Custom Relays i kliknij Add relay server. Podaj adres IP, port(y) z remotly‑relay.json, nazwę urządzenia widoczną w aplikacjach, kod kraju oraz to samo hasło, co w pliku konfiguracyjnym.


Podczas łączenia z innym komputerem z włączoną opcją Force Connect Anywhere powinieneś teraz widzieć wyłącznie kod kraju i nazwę swojego prywatnego relaya.
Rozwiązywanie problemów
- connectionTest pokazuje OK, ale połączenia przez relay nie działają: Twój serwer prawdopodobnie nie jest osiągalny spoza Twojej sieci. Skonfiguruj przekierowanie portów na publicznym adresie IP i przetestuj z przeglądarki poza siecią.
- connectionTest pokazuje OK, ale połączenia idą przez oficjalny relay Remotly: nie dodałeś własnego relaya do konta w panelu webowym.
- Relay działa, ale connectionTest jest nieosiągalny: z wnętrza sieci sprawdź, czy firewall serwera nie blokuje portu relaya; jeśli problem występuje tylko z zewnątrz, popraw przekierowanie portów na routerze.
Pytania? Odwiedź społeczność Remotly.