Technologie VPN i proxy cieszą się obecnie coraz większym zainteresowaniem. Użytkownicy korzystają z nich, aby zapewnić sobie bezpieczny dostęp do internetu, ominąć cenzurę i chronić się przed zagrożeniami zewnętrznymi. Po połączeniu się z takim serwerem, cały ruch przechodzi przez szyfrowany tunel, a serwer staje się bramą do sieci.
Klasyczne protokoły, takie jak OpenVPN czy WireGuard, działają dobrze w stabilnych warunkach, ale często cierpią na spadki prędkości przy słabych połączeniach z dużą utratą pakietów (sieci komórkowe, publiczne Wi-Fi, kraje z surową cenzurą). Właśnie tutaj z pomocą przychodzą nowoczesne protokoły, takie jak Hysteria2 i TUIC. Są one zbudowane na bazie QUIC, oferując wysoką prędkość, niskie opóźnienia i skuteczne maskowanie ruchu, podobnie jak standardowy protokół HTTPS (HTTP/3).
Hysteria2 wykorzystuje algorytm „Brutal”, który agresywnie wykorzystuje dostępną przepustowość. TUIC (wersja 5) charakteryzuje się minimalnym obciążeniem, doskonałą obsługą protokołu UDP i nawiązywaniem połączeń 0-RTT.
W tym artykule pokażemy, jak skonfigurować serwer na Ubuntu/Debianie i nawiązać połączenie z poziomu systemu Windows.
Czego potrzebujesz: VPS z Ubuntu 22.04/24.04 lub Debian 12, dostępem do roota i adresem IP serwera. Domena nie jest wymagana.
Łączenie z serwerem
Windows (PuTTY): otwórz PuTTY, wpisz YOUR_SERVER_IP jako host, 22 jako port i zaloguj się jako root, podając hasło otrzymane w wiadomości e-mail od dostawcy VPS.
Linux/macOS (terminal):
ssh root@YOUR_SERVER_IP
Wszystkie poniższe polecenia są uruchamiane na serwerze, w tej samej sesji.
Przygotowanie serwera (Ubuntu / Debian)
Włącz przekierowywanie IP
Umożliwia to serwerowi przekazywanie pakietów klienta dalej do Internetu.
nano /etc/sysctl.conf
Wprowadź lub utwórz hasło (używaj wyłącznie liter i cyfr języka angielskiego, bez spacji).
Znajdź i odkomentuj (usuń znak # na początku) lub dodaj następujący wiersz:
net.ipv4.ip_forward=1
Zapisz plik (Ctrl+O, Enter) i wyjdź (Ctrl+X). Zastosuj zmiany bez ponownego uruchamiania:
sysctl -p
Konfiguracja NAT (maskarada)
To ustawienie pozwala klientom na dostęp do Internetu przez serwer, korzystając z jego adresu IP.
Znajdź nazwę swojego zewnętrznego interfejsu sieciowego (tego, który ma połączenie z Internetem):
ip link show
Zazwyczaj jest to eth0, ens3 lub enp1s0. Skopiuj lub zapamiętaj tę wartość, a następnie dodaj regułę maskowania do iptables — zastąp eth0 własną nazwą interfejsu:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Zapisywanie reguł iptables
Aby zapobiec zresetowaniu reguł po ponownym uruchomieniu serwera, należy je zapisać.
apt update
apt install iptables-persistent -y
netfilter-persistent save
Podczas instalacji może pojawić się monit o zapisanie bieżących reguł IPv4/IPv6 — odpowiedz „Tak” w obu przypadkach.
Konfiguracja zapory sieciowej (UFW)
Od razu otwieramy wszystkie porty, których będziemy potrzebować, więc nie będzie potrzeby wracania do tego kroku później: 22 dla protokołu SSH (pominięcie tego spowoduje zablokowanie dostępu do serwera), 443/udp dla protokołu Hysteria2 i 8443/udp dla protokołu TUIC.
apt install ufw -y
ufw allow 22/tcp
ufw allow 443/udp
ufw allow 8443/udp
ufw --force enable
ufw status
Wynik polecenia ufw status powinien wyświetlać wszystkie trzy reguły jako aktywne.
Histeria2
Instalowanie serwera Hysteria2
chmod +x hysteria-linux-amd64
mv hysteria-linux-amd64 /usr/local/bin/hysteria
hysteria version
Sprawdź, czy wersja wyjściowa nie zawiera błędów — jest to potwierdzenie, że plik binarny działa prawidłowo.
Tworzenie certyfikatu SSL z podpisem własnym
Potrzebujemy własnych kluczy szyfrujących do ochrony ruchu między Twoim komputerem a serwerem. Ponieważ nie mamy domeny, wygenerujemy certyfikat z podpisem własnym, ważny przez 365 dni. Z tego powodu będziesz musiał później włączyć opcję „Pomiń weryfikację certyfikatu” w kliencie.
mkdir -p /etc/hysteria
chmod 755 /etc/hysteria
openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout /etc/hysteria/private.key \
-out /etc/hysteria/cert.crt \
-subj "/CN=YOUR_SERVER_IP"
ls -la /etc/hysteria/
Powinny zostać wymienione zarówno cert.crt, jak i private.key.
Tworzenie pliku konfiguracyjnego
nano /etc/hysteria/config.yaml
Wklej poniższe, zastępując YOUR_PASSWORD swoim własnym hasłem (tylko litery i cyfry angielskie, bez spacji):
listen: :443
tls:
cert: /etc/hysteria/cert.crt
key: /etc/hysteria/private.key
auth:
type: password
password: "YOUR_PASSWORD"
masquerade:
type: proxy
proxy:
url: https://cloudflare.com
rewriteHost: true
Blokada maskująca sprawia, że serwer wygląda jak zwykła strona internetowa, gdy ktoś wpisze jej adres IP w przeglądarce, zamiast ujawniać oznaki serwera proxy.
Zapisz (Ctrl+O, Enter) i wyjdź (Ctrl+X).
Konfigurowanie automatycznego uruchamiania
nano /etc/systemd/system/hysteria.service
Plik jednostki systemd do automatycznego uruchamiania Hysteria2.
[Unit]
Description=Hysteria2 Server
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/hysteria server --config /etc/hysteria/config.yaml
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable --now hysteria.service
systemctl status hysteria.service
Status powinien wskazywać aktywny (działający). Jeśli konsola „zawiesiła się” w widoku dziennika, naciśnij Q, aby ją opuścić.
TUIC v5
Pobieranie i instalowanie TUIC
mkdir -p /usr/local/sbin/tuic
Sprawdź dostępne wydania:
curl -s https://api.github.com/repos/tuic-protocol/tuic/releases | grep -Po '"tag_name": "\K[^"]*' | head -10
Pobierz plik binarny serwera — zamień numer bieżącej wersji na 1.0.0:
wget https://github.com/tuic-protocol/tuic/releases/download/1.0.0/tuic-server-1.0.0-x86_64-unknown-linux-gnu \
-O /usr/local/sbin/tuic/tuic-server
chmod +x /usr/local/sbin/tuic/tuic-server
/usr/local/sbin/tuic/tuic-server --version
Tworzenie certyfikatu z podpisem własnym dla TUIC
openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout /usr/local/sbin/tuic/privkey.pem \
-out /usr/local/sbin/tuic/fullchain.pem \
-subj "/CN=YOUR_SERVER_IP"
ls -la /usr/local/sbin/tuic/
Generowanie UUID
apt install uuid-runtime -y
uuidgen
Skopiuj powstały UUID — będzie Ci potrzebny zarówno w konfiguracji serwera poniżej, jak i w ustawieniach klienta.
Tworzenie pliku konfiguracyjnego
Gotowy plik config.json dla serwera TUIC:
nano /usr/local/sbin/tuic/config.json
{
"server": "[::]:8443",
"users": {
"YOUR_UUID": "YOUR_TUIC_PASSWORD"
},
"certificate": "/usr/local/sbin/tuic/fullchain.pem",
"private_key": "/usr/local/sbin/tuic/privkey.pem",
"congestion_control": "bbr",
"alpn": ["h3"],
"log_level": "warn"
}
Używamy tutaj portu 8443, ponieważ port 443 jest już zajęty przez Hysterię2. Zastąp YOUR_UUID wartością z kroku 4.3, a YOUR_TUIC_PASSWORD swoim własnym hasłem.
Zapisz (Ctrl+O, Enter) i wyjdź (Ctrl+X).
Testowanie ręcznego startu
/usr/local/sbin/tuic/tuic-server -c /usr/local/sbin/tuic/config.json
Jeśli nie pojawią się żadne błędy, konfiguracja jest prawidłowa. Zatrzymaj ją za pomocą Ctrl+C i przejdź do konfiguracji autostartu.
Konfigurowanie automatycznego uruchamiania
nano /etc/systemd/system/tuic-server.service
[Unit]
Description=TUIC Server
After=network.target nss-lookup.target
[Service]
User=root
WorkingDirectory=/usr/local/sbin/tuic
ExecStart=/usr/local/sbin/tuic/tuic-server -c config.json
Restart=on-failure
RestartPreventExitStatus=1
RestartSec=5
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable --now tuic-server.service
systemctl status tuic-server.service
Status powinien wskazywać aktywny (uruchomiony).
Obecnie na serwerze równolegle działają dwa najlepsze i najszybsze nowoczesne protokoły, oba maskujące się pod zwykłym ruchem QUIC/HTTPS: Hysteria2 na standardowym porcie 443/udp i TUIC v5 na porcie 8443/udp.
Łączenie z systemu Windows
Instalowanie Hiddify
Pobierz i zainstaluj Hiddify dla systemu Windows z oficjalnej strony internetowej: https://hiddify.com. Kliknij „Dalej”/„Zainstaluj” w instalatorze. Jeśli pojawi się Windows SmartScreen, wybierz „Więcej informacji” → „Uruchom mimo to”.
Profil Hysteria2
Kliknij + (Nowy profil) → „Wprowadzanie ręczne” → protokół Hysteria2 i wypełnij:
|
Pole |
Wartość: |
|
Nazwa profilu |
Mój serwer Hysteria2 |
|
Adres |
Twój_adres_IP_serwera |
|
Port |
443 |
|
Hasło |
hasło z kroku 3.3 |
|
SNI |
Twój_adres_IP_serwera |
|
Pomiń weryfikację certyfikatu |
On |
Należy włączyć opcję Skip Cert Verify, ponieważ certyfikat jest podpisany samodzielnie — nie stoi za nim żaden zaufany urząd certyfikacji.
Profil TUIC v5
Kliknij + (Nowy profil) → „Wpis ręczny” → protokół TUIC i wypełnij:
|
Pole |
Wartość: |
|
Nazwa profilu |
Mój serwer TUIC |
|
Adres |
Twój_adres_IP_serwera |
|
Port |
8443 |
|
UUID |
UUID z kroku 4.3 |
|
Hasło |
hasło z kroku 4.4 |
|
Kontrola zatorów |
bbr |
|
SNI |
Twój_adres_IP_serwera |
|
Pomiń weryfikację certyfikatu |
On |
Łączenie i weryfikacja
Wybierz profil, a następnie kliknij duży, okrągły przycisk „Połącz”. Status powinien zmienić się na „Połączono”.
Aby sprawdzić, czy ruch rzeczywiście przechodzi przez Twój serwer, otwórz w przeglądarce dowolną usługę sprawdzającą adres IP — wyświetlony adres powinien odpowiadać adresowi YOUR_SERVER_IP.
Wniosek
Po ukończeniu tego przewodnika będziesz mieć dwa szybkie protokoły nowej generacji działające równolegle na swoim serwerze: Hysteria2 na porcie 443/UDP i TUIC v5 na porcie 8443/UDP. Oba protokoły maskują przesyłany ruch jako standardowe szyfrowane połączenie QUIC (HTTP/3), zapewniając stabilne połączenie nawet na wyjątkowo niestabilnych kanałach.
Skonfigurowane profile można stosować nie tylko w systemie Windows, ale także importować je do aplikacji mobilnej Hiddify na Androida lub iOS z podobnymi ustawieniami.
W przypadku problemów z połączeniem, najpierw sprawdź statusy usług za pomocą polecenia systemctl status hysteria.service (lub tuic-server.service), upewnij się, że reguły zapory sieciowej są aktywne (ufw status) i sprawdź ponownie, czy adres IP, UUID i hasła są poprawnie wprowadzone. Uwaga: wydane certyfikaty z podpisem własnym są ważne przez 365 dni, więc po dokładnie roku należy je odnowić za pomocą tego samego polecenia openssl req.