Przejdź do treści

zrok/zrok2 – dostęp bez przekierowania portów

  • przez

Co to jest zrok?

zrok to narzędzie do bezpiecznego udostępniania usług (HTTP, TCP, UDP) przez internet bez otwierania portów na routerze. Działa w modelu zero-trust na bazie OpenZiti: klient zrok tworzy zaszyfrowany tunel do publicznej infrastruktury zrok, a ruch z internetu jest kierowany przez ten tunel do Twojej lokalnej usługi.

Działa to podobnie jak ngrok czy Cloudflare Tunnel, ale:

  • nie wymaga publicznego IP ani przekierowań portów,
  • szyfruje ruch end-to-end,
  • pozwala na udostępnianie nie tylko HTTP, ale też surowych portów TCP/UDP.

W planie bezpłatym dostępne są takie elementy:

Prosty przykład: udostępnienie lokalnego serwera WWW

Załóżmy, że na komputerze z Windows/Linux masz lokalny serwer nasłuchujący na localhost:8080 i chcesz go pokazać komuś z zewnątrz.

1. Instalacja i aktywacja

  1. Zarejestruj darmowe konto w konsoli zrok (np. myzrok.io).
  2. Pobierz token środowiska z sekcji „Getting Started”.
  3. Zainstaluj klienta zrok2 (wg instrukcji dla Twojego systemu).
  4. Włącz środowisko:zrok2 enable <TWÓJ_TOKEN>

Klient połączy się z domyślnym endpointem https://api-v2.zrok.io i zarejestruje Twoje środowisko.

2. Udostępnienie portu 8080

Uruchom share:

zrok2 share public localhost:8080

W terminalu zobaczysz coś w stylu:

Share ID: abc123
Public URL: https://abc123.public.zrok.io

Ten adres https://abc123.public.zrok.io możesz wysłać znajomemu – będzie widział Twój lokalny serwer, mimo że działa on tylko na localhost:8080.

3. (Opcjonalnie) Trwała nazwa, w subskrybcji płatnej

Jeśli chcesz mieć stały, ładny adres:

# lista namespace'ów
zrok2 list namespaces

# utwórz nazwę w namespace'ie public
zrok2 create name -n public moj-serwer

# udostępnij usługę pod tę nazwę
zrok2 share public localhost:8080 -n public:moj-serwer

Wtedy usługa będzie dostępna pod stałym adresem typu:
https://moj-serwer.public.zrok.io (dokładny format zależy od konfiguracji namespace).

Przykład użycia TCP (np. baza danych, SSH)

Dla usługi TCP (np. lokalny port 3306 z bazą danych):

zrok2 share tcpTunnel localhost:3306

Otrzymasz publiczny adres i port TCP, przez który można łączyć się do Twojej bazy (oczywiście z odpowiednimi hasłami i zabezpieczeniami).

Dlaczego to może Ci się przydać

  • Testowanie API / stron z zewnątrz bez konfiguracji routera.
  • Tymczasowe udostępnianie usług z laptopa / serwera domowego.
  • Demonstracje, debugowanie webhooków, integracji.
  • Alternatywa dla ręcznego stawiania reverse proxy + port forwarding.