Shadowsocks: стандарт для обходу цензури
Shadowsocks — це протокол шифрування, який використовують мільйони людей у Китаї, Ірані та Росії, щоб пройти повз національні брандмауери. Це не VPN — це легкий зашифрований проксі-сервер SOCKS5, — але практичний ефект той самий: трафік, який не виглядає особливим, проходить через глибоку перевірку пакетів, яка б заблокувала звичайне рукостискання VPN. Це технічне та політичне пояснення.
Повний текст статті подано англійською мовою нижче.
Що насправді таке Shadowsocks
Shadowsocks — це безкоштовний проксі-протокол SOCKS5 із відкритим вихідним кодом, а не VPN. Проксі-сервер SOCKS5 пересилає довільний трафік TCP і UDP від імені клієнта; Shadowsocks обгортає це пересилання сучасним автентифікованим шифруванням (AEAD), тому спостерігач між клієнтом і проксі бачить лише непрозорі байти.
Протокол був створений у 2012 році китайським програмістом за допомогою дескриптора clowwindy. Мета була конкретною та особистою: обійти Великий китайський брандмауер, щоб отримати доступ до заблокованих веб-сайтів. Стандартні протоколи VPN того часу (OpenVPN, IPsec) мали характерні шаблони рукостискання, які GFW навчилася знімати відбитки пальців. Shadowsocks був розроблений, щоб не виглядати ні на що — без впізнаваного рукостискання, без фіксованого порту, без очевидних метаданих. Для глибокого інспектора пакетів з’єднання Shadowsocks виглядає як нічим не примітний потік випадкових байтів.
Вилучення 2015
22 серпня 2015 року clowwindy опублікував у сховищі GitHub проекту, що поліція зв’язалася з ними, і вони більше не можуть продовжувати проект. У дописі, зокрема, говорилося: «Два дні тому поліція прийшла до мене і вимагала, щоб я видалив увесь код». За кілька годин усі оригінальні коміти були видалені.
Проект вижив, оскільки був відкритим кодом. На GitHub негайно з’явилися форки від учасників за межами Китаю — shadowsocks-libev (C), shadowsocks-rust (Rust), shadowsocks-windows, shadowsocks-android, shadowsocks-iOS. Сам протокол настільки простий, що його повторна реалізація зі специфікації проста; видалення одного розробника не зупинило мережевий ефект.
Цей шаблон є повчальним. Інструменти обходу цензури, які залежать від однієї точки контролю (компанії, домену, центру підписання ключів), легко вимкнути. Shadowsocks виживає, тому що протокол є специфікацією, реалізації є відкритим кодом, і будь-хто може встановити сервер.
Як це працює
A Розгортання Shadowsocks складається з двох частин:
- Сервер — невеликий демон, що працює на VPS у країні за межами цензурована мережа. Прослуховує конфігурований порт для зашифрованого трафіку SOCKS5 і пересилає його до місця призначення.
- Client — працює на пристрої користувача, приймає локальні підключення від програм (браузерів, BitTorrent тощо), шифрує їх і тунелює на сервер.
Обидва кінці мають спільний пароль і узгоджений набір шифрів. Немає обміну сертифікатами, немає інфраструктури відкритих ключів, немає рукостискання, яке може ідентифікувати спостерігач. Лише непрозорі зашифровані байти, що надходять від клієнта до сервера через будь-який порт, налаштований оператором.
Еволюція шифру
Original Shadowsocks використовували потокові шифри (RC4-MD5, AES-256-CFB, ChaCha20). Це забезпечувало конфіденційність, але не цілісність — зловмисник, який міг змінити зашифрований текст, потенційно міг змінити відкритий текст передбачуваним способом. У 2015–2017 роках було продемонстровано активні пробні атаки проти Shadowsocks із потоковим шифруванням.
Протокол перенесено на шифри AEAD у 2017 році:
chacha20-ietf-poly1305— поточне значення за замовчуванням. Швидко працює на мобільних ЦП без апаратного прискорення AES.aes-256-gcm— альтернатива для серверів із апаратним забезпеченням AES-NI.aes-128-gcm— те саме сімейство, менший ключ.
Old Потокові шифри застаріли в 2018 році та були видалені з сучасних клієнтів. Якщо ви бачите навчальний посібник із рекомендацією aes-256-cfb або rc4-md5, це означає, що цей посібник застарів, а конфігурація є незахищеною.
Плагіни обфускації
Сучасний аналіз GFW інколи може виявити чисті Shadowsocks через трафік-форму навіть якщо самі байти непрозорі. Рішенням є плагін system:
- simple-obfs (застарілий) — обертає трафік Shadowsocks, щоб виглядати як HTTP або TLS. Значною мірою застаріло.
- v2ray-plugin — загортає Shadowsocks у транспорт V2Ray (WebSocket, mKCP, gRPC, HTTP/2), дозволяючи йому переміщатися всередині того, що виглядає як звичайний HTTPS, до CDN, як-от Cloudflare.
- cloak — альтернативний обфускатор, який імітує TLS для певного хоста-приманки.
Для необмежених мереж підійде голий Shadowsocks. Для користувачів материкового Китаю чи Ірану необхідний плагін.
ShadowsocksR і проблема довіри
ShadowsocksR (SSR) з’явилися в 2017 році як розгалуження, яке заявляє про кращу обфускацію та стійкість на рівні протоколу до активного зондування. На короткий час він став популярним, але мав дві постійні проблеми: проблеми з ліцензуванням (відносини форка з оригінальною ліцензією MIT Shadowsocks були оскаржені) і довгий шаблон підозрюваних уразливостей, які супроводжувачі не поспішали вирішувати. До 2019 року сховище ССР було занедбане. Більшість спільнот повернулися до основного Shadowsocks із сучасним плагіном або до новіших протоколів, як-от V2Ray.
Outline від Jigsaw
I. У 2018 році Jigsaw (дочірня компанія Alphabet, що зосереджується на вільному висловлюванні) запустила Outline, вдосконалений інструмент розгортання Shadowsocks. Пропозиція Outline: журналіст, неурядова організація чи член сім’ї за межами цензурованого регіону може запустити сервер Outline за 60 секунд на DigitalOcean, AWS Lightsail або подібному, а потім надати ключ доступу користувачеві в країні, де цензура. Сервер
Outline — це тіньова іржа під капотом. Його клієнт — це відшліфована кросплатформна програма. Весь проект має відкритий код. Для нетехнічних користувачів, яким потрібно допомогти комусь за брандмауером, Outline — це простий підхід.
Shadowsocks проти VPN проти Tor
- проти комерційної VPN: Shadowsocks простіший, легший і його важче виявити, але вимагає запуску власного сервера. VPN надає IP-адреси виходу в багатьох країнах через чужу інфраструктуру. Використовуйте Shadowsocks, коли вам спеціально потрібно обійти агресивний DPI; використовуйте VPN для повсякденної конфіденційності.
- vs Tor: Tor забезпечує анонімність за допомогою трьох ланцюгів і набагато сильніший проти атак кореляції трафіку. Shadowsocks забезпечує обхід через один зашифрований стрибок — набагато швидше, набагато простіше у використанні, але не забезпечує анонімності проти спостерігача, який може стежити за обома кінцевими точками. Перегляньте наше порівняння Tor і VPN, щоб отримати ширшу картину.
- проти V2Ray/Xray: V2Ray і його форк Xray — це багатофункціональні фреймворки, які включають протоколи, сумісні з Shadowsocks, а також VMess, VLESS і Trojan. Для нових розгортань у 2026 році багато досвідчених користувачів перейшли на V2Ray/Xray для додаткової гнучкості. Для більшості користувачів Shadowsocks-plus-plugin залишається простішим і добре перевіреним варіантом.
Як безпечно використовувати Shadowsocks у 2026
- Використовуйте сучасний шифр AEAD (
chacha20-ietf-poly1305). Уникайте всього, що закінчується на-cfbабо-md5. - У країні з цензурою розмістіть плагін v2ray або плащ зверху.
- Виберіть надійний спільний пароль — щонайменше 16 випадкових символів.
- Run сервер на VPS у політично нескладній юрисдикції (уникайте хостів, які відповідають на повістки від країни цензури).
- Не використовуйте один і той самий сервер для багатьох користувачів — це підвищує профіль IP-адреси та збільшує ймовірність його блокування.
- Перевірте, чи тунель виконує свою роботу за допомогою нашого DNS тест на витік і VPN тест на витік після налаштування.
Часті запитання
- Чи є Shadowsocks VPN?
- Ні. Shadowsocks — це зашифрований проксі-протокол SOCKS5, а не VPN. Практичний ефект для більшості користувачів подібний (зашифрований трафік, який обходить локальну фільтрацію), але технічно VPN створює віртуальний мережевий адаптер і направляє через нього весь трафік ОС, тоді як проксі-сервер SOCKS пересилає підключення окремих програм. Деякі клієнти Shadowsocks (наприклад, shadowsocks-android із режимом VPN) створюють віртуальний інтерфейс і емулюють повносистемне тунелювання, схоже на VPN.
- Чи законний Shadowsocks?
- Використання Shadowsocks є законним у більшості країн. Це незаконно за різними інтерпретаціями в материковому Китаї, Ірані та Росії, де інструменти для обходу цензури обмежені. Робота з сервером Shadowsocks є законною майже всюди. Як завжди, інструмент нейтральний — те, що ви з ним робите, визначає юридичний ризик.
- Чи працює Shadowsocks у Китаї?
- Bare Shadowsocks іноді виявляється Great Firewall за допомогою аналізу форми трафіку, навіть якщо байти непрозорі. Додавання плагіна v2ray (який робить з’єднання схожим на звичайний запит WebSocket-over-HTTPS до CDN) надійно перешкоджає більшості виявлень. Кішка-мишка продовжується; очікуйте періодичного оновлення конфігурації.
- Яка різниця між Shadowsocks і ShadowsocksR?
- ShadowsocksR був форком 2017 року, який стверджував про додаткову обфускацію, але мав постійні проблеми щодо ліцензування та безпеки. Проект фактично припинили до 2019 року. Modern Shadowsocks із плагіном v2ray дає вам усе, що вимагає SSR, плюс активне технічне обслуговування та чисту ліцензію. Використовуйте головну лінію Shadowsocks.
- Чи Shadowsocks безпечніший за комерційну VPN?
- Різні моделі загроз. Shadowsocks дає вам один зашифрований стрибок і довіру оператору сервера (часто вам). Комерційний VPN дає вам один зашифрований стрибок і довіру до постачальника. Shadowsocks дає більше контролю та важче виявити трафік. Комерційна мережа VPN забезпечує простіше налаштування, кілька виходів із країни та (з авторитетним постачальником) контрольний журнал без реєстрації. Для повсякденної конфіденційності VPN простіше. Для обходу в країні з цензурою краще підійде Shadowsocks.