Pod lupą
Co to jest VLESS i dlaczego ta sama konfiguracja nie wszędzie działa?

Spis treści
VLESS to protokół, którym aplikacja mówi serwerowi, kto się łączy i dokąd ma iść ruch. W typowej konfiguracji VLESS sam niczego nie szyfruje. Robi to TLS albo REALITY. Opcjonalne szyfrowanie VLESS Encryption dodano w 2025 roku z myślą o szczególnych przypadkach. Poniżej sprawdzamy, czy VLESS to VPN, co nadal widzi dostawca internetu i dlaczego ta sama konfiguracja działa w jednej sieci, a w innej nie.
Czy VLESS to VPN?
VLESS często wrzuca się do jednego worka z protokołami VPN, ale z założenia jest bliżej proxy. Aplikacja prosi serwer, żeby połączył ją z danym adresem i portem. Serwer sam otwiera to połączenie i przekazuje dane w obie strony. Czym jedno różni się od drugiego, opisujemy w tekście VPN a proxy.
Za część „VPN” odpowiada aplikacja. Programy takie jak Bebra konfigurują na urządzeniu systemowy VPN, kierują przez niego cały ruch i każde połączenie wysyłają do serwera przez VLESS lub podobny protokół. Dla ciebie działa to jak każdy VPN. Sam VLESS dba tylko o to, żeby serwer wiedział, kogo obsługuje i dokąd ma iść dalej.
Od aplikacji do strony
Połączenie VLESS zatrzymuje się w czterech miejscach.
- Aplikacja. Dodaje przed twoimi danymi krótki nagłówek VLESS z twoim identyfikatorem użytkownika (UUID), adresem docelowym i portem.
- Warstwa zewnętrzna. Nagłówek i dane trafiają do serwera wewnątrz TLS albo REALITY. Z zewnątrz wygląda to jak wizyta na stronie przez HTTPS.
- Serwer. Zdejmuje warstwę zewnętrzną i sprawdza UUID. Przy nieznanym identyfikatorze połączenie kończy się w tym miejscu. Przy znanym serwer łączy się z adresem z nagłówka.
- Strona. Dostaje zapytanie od serwera i na nie odpowiada, a odpowiedź wraca do ciebie tą samą drogą.
VLESS ma na tej trasie jedno zadanie, czyli powiedzieć serwerowi, kim jesteś i dokąd zmierzasz. Wszystko inne, od szyfrowania po to, jak połączenie wygląda z zewnątrz, należy do warstwy zewnętrznej. Dlatego „połączenie VLESS” prawie zawsze oznacza parę w rodzaju VLESS + REALITY.
Kto tu szyfruje
W ustawieniach Xray protokół VLESS ma obowiązkowe pole encryption, w którym w typowej konfiguracji wpisane jest none. Dane chroni warstwa zewnętrzna, TLS albo REALITY.
Tym VLESS różni się od VMess, starszego protokołu z tego samego projektu V2Ray. VMess szyfruje sam, za pomocą AES-128-GCM albo ChaCha20-Poly1305, i wymaga dokładnego zegara na urządzeniu. VLESS pojawił się w V2Ray w 2020 roku jako prostsza alternatywa, której zegar jest obojętny.
Teraz VLESS ma też własne szyfrowanie. VLESS Encryption dodano do Xray w 2025 roku na potrzeby specjalnych konfiguracji. W zwykłej parze z TLS albo REALITY w polu encryption nadal jest none.
Co widzi dostawca internetu
Twój dostawca i ten, kto zarządza Wi-Fi, nie widzą nagłówka VLESS, bo jest on wewnątrz zaszyfrowanego kanału. Nie widzą też, jaką stronę otwierasz ani co na niej jest. W tekście o tym, czym jest VPN, śledzimy jedno zapytanie, żeby to pokazać. Kilka rzeczy widać jednak z zewnątrz.
- Adres serwera. Adres IP, z którym łączy się urządzenie, jest zawsze widoczny.
- Nazwa w uzgadnianiu połączenia. Pierwsza wiadomość TLS idzie otwartym tekstem i zwykle zawiera nazwę strony (SNI). Przy zwykłym TLS to własna domena serwera. Przy REALITY to nazwa prawdziwej, cudzej strony, za którą serwer się podaje.
- Rozmiary pakietów i odstępy między nimi. Treść jest zaszyfrowana, ale to, ile bajtów i w jakiej kolejności płynie w obie strony, już nie.
REALITY dodaje jeszcze dwa zabezpieczenia. Klient zaczyna uzgadnianie tak, jak zrobiłaby to popularna przeglądarka, a ustawienia REALITY wymagają takiego odcisku (fingerprintu). Do tego, jeśli ktoś połączy się z serwerem, żeby sprawdzić, co na nim jest, serwer przekaże to połączenie prawdziwej stronie i odwiedzający dostanie jej odpowiedź. Do VLESS przechodzą tylko klienci, którzy znają klucz.
Dlaczego działa w jednej sieci, a w innej nie
Filtry różnią się u poszczególnych dostawców i szukają śladów wymienionych wyżej. Jeden dostawca blokuje adresy serwerów z listy, a wtedy pomaga tylko nowy adres. Inny analizuje uzgadnianie połączeń, a trzeci szuka wzorców w rozmiarach pakietów. Dlatego konfiguracja, która łączy się w domu, może zawieść w internecie mobilnym albo w hotelowym Wi-Fi.
Jednym z najbardziej wymownych śladów jest uzgadnianie wewnątrz uzgadniania. Gdy przez VLESS otwierasz stronę z HTTPS, jej własny TLS biegnie wewnątrz zewnętrznego TLS, a jego pierwsze pakiety są krótkie i mają rozpoznawalne długości. Tego właśnie szukali autorzy pracy „Fingerprinting Obfuscated Proxy Traffic with Encapsulated TLS Handshakes” (USENIX Security 2024) u dostawcy internetu z około milionem użytkowników. Wyłowili zamaskowany ruch proxy, prawie nie ruszając zwykłego ruchu. Praca pokazała też, że sam losowy padding ani multipleksowanie nie ukrywają tego śladu, bo żadne z nich nie zmienia rozmiaru serii ruchu ani liczby wymian tam i z powrotem.
Odpowiedzią Xray na ten ślad jest XTLS Vision. Dopełnia krótkie pakiety wewnętrznego uzgadniania, żeby ich długość go nie zdradzała, a po zakończeniu uzgadniania po prostu przekazuje dane dalej. Jego autorzy przyznają, że Vision nie ukrywa tego, jak uzgadnianie rozkłada się w czasie.
Co z tym robi Bebra
W Bebrze VLESS + REALITY to jeden ze sposobów połączenia, obok XHTTP, Hysteria2 i Shadowsocks. W sieci wyglądają różnie, więc filtr, który przeszkadza jednemu, może nie zauważyć innego. Aplikacja decyduje, którego protokołu i której trasy użyć, a jeśli trasa przestaje działać, przechodzi na inną. Czym różnią się te cztery, wyjaśniamy w tekście o protokołach VPN.
Nie musisz niczego konfigurować. W aplikacji nie ma wyboru protokołu, konto dla twojego urządzenia powstaje automatycznie, a z krajem łączysz się, stukając jego kafelek. Jeśli z jakimś krajem nadal nie da się połączyć, otwórz „Mój profil” → „Ustawienia” i stuknij „Znajdź działający serwer”. Aplikacja ponownie przetestuje trasy i pobierze nowe adresy serwerów, co trwa do dwóch minut. Nowy adres to dokładnie to, co pomaga, gdy dostawca zablokował stary.
Żeby wypróbować Bebrę, zacznij od okresu próbnego za 10 ₽. 3 dni pełnego dostępu, potem 500 ₽ miesięcznie. Subskrypcja odnawia się automatycznie.
Pytania i odpowiedzi
Dlaczego VLESS nazywa się protokołem bez szyfrowania?
Bo w typowej konfiguracji sam niczego nie szyfruje. W jego polu encryption jest none, a szyfrowaniem zajmuje się TLS albo REALITY. Opcjonalne szyfrowanie VLESS Encryption dodano w 2025 roku z myślą o szczególnych przypadkach.
Czy w Bebrze mogę ręcznie wybrać VLESS?
Nie, w aplikacji nie ma wyboru protokołu. Bebra sama decyduje, czy łączyć się przez VLESS + REALITY, XHTTP, Hysteria2, czy Shadowsocks, i przechodzi na inną trasę, gdy bieżąca przestaje działać.
Czym VLESS różni się od Shadowsocks?
Shadowsocks sam szyfruje dane kluczem, który klient i serwer znają z góry. Jego strumień zaczyna się od losowej soli, po której idą zaszyfrowane fragmenty, bez żadnego TLS dookoła. VLESS sam nie szyfruje i jest przesyłany wewnątrz TLS albo REALITY, więc z zewnątrz wygląda jak wizyta na stronie przez HTTPS.
Czy dostawca internetu widzi, jakie strony otwieram przez VLESS?
Nie. Adres strony jest w nagłówku VLESS, wewnątrz zaszyfrowanego kanału. Dostawca widzi adres serwera, nazwę w uzgadnianiu TLS i rozmiary pakietów.
Co zobaczy ktoś, kto sprawdzi serwer REALITY?
Odpowiedź prawdziwej strony, za którą serwer się podaje. REALITY przekazuje tej stronie połączenia bez właściwego klucza i do VLESS przepuszcza tylko własnych klientów.
Co robi XTLS Vision?
Dopełnia krótkie pakiety uzgadniania, które biegnie wewnątrz zaszyfrowanego kanału, żeby ich długość tego uzgadniania nie zdradzała. Potem Vision po prostu przekazuje dane. Jego autorzy przyznają, że nie ukrywa on tego, jak uzgadnianie rozkłada się w czasie.



