Shadowsocks: standard obchodzenia cenzury

12 min. przeczytajBieg

Shadowsocks to protokół szyfrowania używany przez miliony ludzi w Chinach, Iranie i Rosji do przemykania przez krajowe zapory ogniowe. To nie jest VPN — to lekki, zaszyfrowany serwer proxy SOCKS5 — ale praktyczny efekt jest taki sam: ruch, który wygląda na nic szczególnego, przechodzi przez głęboką inspekcję pakietów, która blokowałaby normalny uzgadnianie VPN. To jest wyjaśnienie techniczne i polityczne.

Poniżej znajduje się pełna treść artykułu w języku angielskim.

Czym właściwie jest Shadowsocks

Shadowsocks to darmowy protokół proxy szyfrowany SOCKS5 typu open source, a nie VPN. Serwer proxy SOCKS5 przekazuje dowolny ruch TCP i UDP w imieniu klienta; Shadowsocks otacza to przekazywanie nowoczesnym szyfrowaniem uwierzytelnionym (AEAD), dzięki czemu obserwator między klientem a serwerem proxy widzi tylko nieprzezroczyste bajty.

Protokół został stworzony w 2012 roku przez chińskiego programistę przy użyciu uchwytu clowwindy. Cel był konkretny i osobisty: ominąć Wielką zaporę ogniową Chin, aby uzyskać dostęp do zablokowanych stron internetowych. Standardowe protokoły VPN w tamtym czasie (OpenVPN, IPsec) miały charakterystyczne wzorce uzgadniania, które GFW nauczyła się pobierać odciski palców. Shadowsocks zaprojektowano tak, aby nie przypominał niczego — żadnego rozpoznawalnego uścisku dłoni, żadnego stałego portu, żadnych oczywistych metadanych. Dla głębokiego inspektora pakietów połączenie Shadowsocks wygląda jak niczym nie wyróżniający się strumień losowych bajtów.

Usunięcie w 2015 r.

22 sierpnia 2015 r. clowwindy opublikował w repozytorium projektu GitHub, że policja skontaktowała się z nimi i nie mogą już kontynuować projektu. W poście napisano częściowo: „Dwa dni temu przyszła do mnie policja i zażądała usunięcia całego kodu”. W ciągu kilku godzin wszystkie oryginalne zatwierdzenia zostały usunięte.

Projekt przetrwał, ponieważ był oprogramowaniem typu open source. Na GitHubie natychmiast pojawiły się forki od autorów spoza Chin — Shadowsocks-libev (C), Shadowsocks-Rust (Rust), Shadowsocks-Windows, Shadowsocks-Android, Shadowsocks-iOS. Sam protokół jest tak prosty, że jego ponowne wdrożenie ze specyfikacji jest proste; usunięcie jednego programisty nie powstrzymało efektu sieciowego.

Ten wzorzec jest pouczający. Narzędzia do obchodzenia cenzury, które zależą od jednego punktu kontroli (firmy, domeny, organu podpisującego klucze), można łatwo zamknąć. Shadowsocks przetrwa, ponieważ protokół jest specyfikacją, implementacje są open source i każdy może postawić serwer.

Jak to działa

A Wdrożenie Shadowsocks składa się z dwóch części:

  1. Server — mały demon działający na VPS w kraju poza cenzurą sieć. Nasłuchuje na konfigurowalnym porcie zaszyfrowanego ruchu SOCKS5 i przekazuje go do miejsca docelowego.
  2. Client — działa na urządzeniu użytkownika, akceptuje połączenia lokalne z aplikacji (przeglądarki, BitTorrent, cokolwiek), szyfruje je i tuneluje do serwera.

Obydwa końce mają wspólne hasło i uzgodnioną zgodę zestaw szyfrów. Nie ma wymiany certyfikatów, infrastruktury klucza publicznego ani uścisku dłoni, który obserwator mógłby zidentyfikować. Tylko nieprzezroczyste zaszyfrowane bajty przesyłane od klienta do serwera na dowolnym porcie skonfigurowanym przez operatora.

Ewolucja szyfrów

Oryginalna Shadowsocks używała szyfrów strumieniowych (RC4-MD5, AES-256-CFB, ChaCha20). Zapewniały one poufność, ale nie integralność — osoba atakująca, która mogłaby zmodyfikować tekst zaszyfrowany, mogłaby potencjalnie zmodyfikować tekst jawny w przewidywalny sposób. Aktywne ataki sondujące wykazano na szyfr strumieniowy Shadowsocks w latach 2015–2017.

Protokół został przeniesiony do szyfrów AEAD w 2017 r.:

  • chacha20-ietf-poly1305 — obecny domyślny. Szybko na mobilnych procesorach bez akceleracji sprzętowej AES.
  • aes-256-gcm — alternatywa dla serwerów ze sprzętem AES-NI.
  • aes-128-gcm — ta sama rodzina, mniejszy klucz.

Stary strumień szyfry zostały przestarzałe w 2018 roku i usunięte z nowoczesnych klientów. Jeśli zobaczysz samouczek zalecający aes-256-cfb lub rc4-md5, oznacza to, że jest on nieaktualny od wielu lat, a konfiguracja jest niepewna.

Wtyczki zaciemniające

Nowoczesna analiza GFW może czasami wykryć nagie Shadowsock nawet za pomocą analizy kształtu ruchu chociaż same bajty są nieprzezroczyste. Rozwiązaniem jest system wtyczek:

  • simple-obfs (starszy) — otacza ruch Shadowsocks tak, aby wyglądał jak HTTP lub TLS. W dużej mierze przestarzałe.
  • v2ray-plugin — otacza Shadowsocks wewnątrz transportu V2Ray (WebSocket, mKCP, gRPC, HTTP/2), umożliwiając mu przepływ przez coś, co wygląda jak zwykły HTTPS do CDN, takiego jak Cloudflare.
  • cloak — alternatywny obfuscator, który naśladuje TLS dla określonego hosta-wabika.

W przypadku sieci nieograniczonych wystarczy sama Shadowsocks. Dla użytkowników z Chin kontynentalnych lub Iranu niezbędna jest wtyczka.

ShadowsocksR i problem zaufania

ShadowsocksR (SSR) pojawiły się w 2017 roku jako rozwidlenie zapewniające lepsze zaciemnianie i odporność na poziomie protokołu na aktywne sondowanie. Na krótko stał się popularny, ale miał dwa utrzymujące się problemy: problemy licencyjne (kwestionowano związek forka z oryginalną licencją Shadowsocks na MIT) oraz długi wzorzec podejrzanych luk w zabezpieczeniach, którymi opiekunowie nie spieszyli się z naprawieniem. Do 2019 roku repozytorium SSR zostało porzucone. Większość społeczności powróciła do głównego nurtu Shadowsocks z nowoczesną wtyczką lub do nowszych protokołów, takich jak V2Ray.

Outline autorstwa Jigsaw

W 2018 roku Jigsaw (spółka zależna Alphabet skupiająca się na swobodnej wypowiedzi) uruchomiła Outline, dopracowane narzędzie do wdrażania Shadowsocks. Prezentacja Outline: dziennikarz, organizacja pozarządowa lub członek rodziny spoza cenzurowanego regionu może w 60 sekund uruchomić serwer Outline na platformie DigitalOcean, AWS Lightsail lub podobnym, a następnie udostępnić klucz dostępu użytkownikowi w ocenzurowanym kraju.

Serwer Outline to rdza Shadowsocks pod maską. Jej klientem jest dopracowana aplikacja wieloplatformowa. Cały projekt jest open source. Dla nietechnicznych użytkowników, którzy muszą pomóc komuś za zaporą sieciową, Outline jest łatwym rozwiązaniem.

Shadowsocks vs VPN vs Tor

  • vs komercyjna sieć VPN: Shadowsocks jest prostsza, lżejsza i trudniejsza do wykrycia, ale wymaga uruchomienia własnego serwera. VPN zapewnia wyjściowe adresy IP w wielu krajach za pośrednictwem cudzej infrastruktury. Użyj Shadowsocks, gdy szczególnie chcesz ominąć agresywne DPI; korzystaj z VPN, aby zachować prywatność na co dzień.
  • vs Tor: Tor zapewnia anonimowość poprzez obwody z trzema przeskokami i jest znacznie silniejszy przed atakami korelacji ruchu. Shadowsocks umożliwia obejście poprzez jeden zaszyfrowany przeskok — jest znacznie szybszy, znacznie łatwiejszy w użyciu, ale nie zapewnia anonimowości wobec obserwatora, który może obserwować oba punkty końcowe. Zobacz nasze porównanie Tor i VPN, aby uzyskać szerszy obraz.
  • vs V2Ray/Xray: V2Ray i jego rozwidlenie Xray to bardziej bogate w funkcje platformy, które obejmują protokoły kompatybilne z Shadowsocks oraz VMess, VLESS i trojan. W przypadku nowych wdrożeń w 2026 r. wielu zaawansowanych użytkowników przeszło na V2Ray/Xray ze względu na dodatkową elastyczność. Dla większości użytkowników wtyczka Shadowsocks-plus jest nadal prostszą i dobrze przetestowaną opcją.

Jak bezpiecznie korzystać z Shadowsocks w 2026

  1. Użyj nowoczesnego szyfru AEAD (chacha20-ietf-poly1305). Unikaj wszystkiego, co kończy się na -cfb lub -md5.
  2. W kraju ocenzurowanym nałóż wtyczkę v2ray lub maskę na wierzch.
  3. Wybierz silne wspólne hasło — co najmniej 16 losowych znaków.
  4. Uruchom serwer na komputerze VPS w nieskomplikowanej politycznie jurysdykcji (unikaj hostów, które odpowiadają na wezwania z kraju cenzurującego).
  5. Nie używaj tego samego serwera dla wielu użytkowników — podnosi to profil adresu IP i zwiększa ryzyko jego zablokowania.
  6. Sprawdź, czy tunel spełnia swoje zadanie za pomocą naszego testu szczelności DNS i Test szczelności VPN po konfiguracji.

Często zadawane pytania

Czy Shadowsocks to VPN?
Nie. Shadowsocks to szyfrowany protokół proxy SOCKS5, a nie VPN. Praktyczny efekt dla większości użytkowników jest podobny (zaszyfrowany ruch z pominięciem lokalnego filtrowania), ale technicznie rzecz biorąc, VPN tworzy wirtualną kartę sieciową i kieruje przez nią cały ruch systemu operacyjnego, podczas gdy serwer proxy SOCKS przekazuje połączenia poszczególnych aplikacji. Niektórzy klienci Shadowsocks (np. Shadowsocks-Android z trybem VPN) tworzą wirtualny interfejs i emulują tunelowanie całego systemu na wzór VPN.
Czy Shadowsocks jest legalny?
Korzystanie z Shadowsocks jest legalne w większości krajów. Jest to nielegalne zgodnie z różnymi interpretacjami w Chinach kontynentalnych, Iranie i Rosji, gdzie narzędzia do obchodzenia cenzury są ograniczone. Prowadzenie serwera Shadowsocks jest legalne niemal wszędzie. Narzędzie jak zawsze jest neutralne – to, co z nim zrobisz, decyduje o ryzyku prawnym.
Czy Shadowsocks działa w Chinach?
Bare Shadowsocks jest czasami wykrywany przez Wielką Zaporę sieciową poprzez analizę kształtu ruchu, mimo że bajty są nieprzezroczyste. Dodanie wtyczki v2ray (która sprawia, że ​​połączenie wygląda jak normalne żądanie WebSocket-over-HTTPS do CDN) niezawodnie uniemożliwia większość wykrycia. Zabawa w kotka i myszkę trwa; spodziewaj się okresowej aktualizacji konfiguracji.
Jaka jest różnica między Shadowsocks i ShadowsocksR?
ShadowsocksR był forkiem z 2017 r., który wymagał dodatkowego zaciemnienia, ale budził ciągłe obawy dotyczące licencji i bezpieczeństwa. Projekt został skutecznie porzucony w 2019 roku. Modern Shadowsocks z wtyczką v2ray zapewnia wszystko, czego wymaga SSR, a także aktywną konserwację i czystą licencję. Użyj głównego Shadowsocks.
Czy Shadowsocks jest bezpieczniejszy niż komercyjna sieć VPN?
Różne modele zagrożeń. Shadowsocks zapewnia jeden zaszyfrowany skok i zaufanie do operatora serwera (często Ciebie). Komercyjna sieć VPN zapewnia jeden zaszyfrowany przeskok i zaufanie do dostawcy. Shadowsocks zapewnia większą kontrolę i trudniejszy do wykrycia ruch. Komercyjna sieć VPN zapewnia łatwiejszą konfigurację, wyjścia z wielu krajów i (w przypadku renomowanego dostawcy) ścieżkę audytu pozbawioną logów. Jeśli chodzi o prywatność na co dzień, VPN jest łatwiejszy. Do obejścia w cenzurowanym kraju Shadowsocks jest lepszy.
Wyjaśnienie Shadowsocks: Jak projekt chińskiego programisty stał się standardem w zakresie obchodzenia cenzury | Mistrz VPN Pro