Тип | комунікаційний протокол і Internet censorship circumventiond |
---|---|
Автори | clowwindy та спільнота |
Розробники | Clowwindyd і zonyitood |
Версії | Windows: 4.4.1.0 (8 лютого 2022)[1] і macOS: 1.10.2 (29 березня 2023)[2] |
Операційна система | UNIX-подібні операційні системи, Windows, Android і IOS |
Мова програмування | C, C++, Perl, Rust, Go |
Ліцензія | GNU GPL 3[3][4], Apache Software License 2.0d[5][6], MIT[7] і GNU Lesser General Public License, version 3.0[8] |
Репозиторій | https://github.com/shadowsocks/shadowsocks-rust, https://github.com/shadowsocks/ |
Вебсайт | shadowsocks.org |
"Shadowsocks" - це безкоштовний та відкритий проект шифрування, який широко використовується в КНР для обходу інтернет-цензури. Його створив китайський програміст з ніком "clowwindy" у 2012 році, і з того часу було створено кілька реалізацій цього протоколу. Shadowsocks сам по собі не є проксі, але зазвичай виступає як клієнтське програмне забезпечення для підключення до стороннього проксі SOCKS5, схожого на SSH. Після підключення інтернет-трафік можна направити через проксі. На відміну від SSH-тунелю, Shadowsocks також може проксіювати трафік UDP.
Протокол створено китайським програмістом "clowwindy" у 2012 році. 22 серпня 2015 року "clowwindy" оголосив у темі на GitHub, що до нього звернулися співробітники поліції, через що він більше не зможе підтримувати проект. Відповідний код проекту був в подальшому розгалужений з повідомленням про його припинення. Три дні потому, 25 серпня, інша проксі-програма, GoAgent, також була видалена з репозиторію GitHub. Видалення проектів привернуло увагу ЗМІ, і новинні видання робили припущення про можливий зв'язок між припиненням розробки протоколу і DDoS атакою на GitHub, яка сталася кілька днів пізніше. Денні О'Брайєн з Electronic Frontier Foundation опублікував заяву з цього приводу.
Незважаючи на припинення підтримки проєкту clowwindy, співавтори продовжили розробку протоколу.
Наразі існує активні реалізації протоколу п'ятьма мовами програмування: С, С++, Rust, Go та Perl(Net::Shadowsocks). Усі вони підтримують роботу як у режимі серверу, так і у режимі клієнту. Оригінальна реалізація протоколу мовою програмування Python, яку створив clowwindy, була видалена з GitHub. Також доступні реалізації тільки для клієнта для Windows (shadowsocks-win), macOS (ShadowsocksX-NG), Android (shadowsocks-android) та iOS (Wingy). Багато клієнтів, включаючи shadowsocks-win та shadowsocks-android, підтримують перенаправлення всього системного трафіку через Shadowsocks, не тільки застосунків, які були явно налаштовані на це, що дозволяє використовувати Shadowsocks подібно до VPN. Якщо додаток не підтримує проксі-сервери, можна використовувати проксифікатор для перенаправлення додатка до клієнта Shadowsocks. Деякі проксифікатори, такі як Proxycap, підтримують безпосередньо Shadowsocks, уникнувши таким чином потреби у клієнті Shadowsocks, але деякі вимагають наявності клієнта.
Shadowsocks схожий на концепцію протоколу "Pluggable Transport" (PT) проекту Tor. PT робить складним виявлення трафіку Tor інтернет-провайдерами. Обидва протоколи також використовують інтерфейс socks-проксі. За розрізненням, Shadowsocks простіший, а Obfs4, що використовується у PT, більш захований. На відміну від Obfs4, Shadowsocks не стійкий до "Active Probing". Найбільш схожий PT до Shadowsocks - це Obfs3.
ShadowsocksR - це форк Shadowsocks. Його розробники вказують на покращену безпеку та стабільність. Під час випуску було встановлено, що він порушує ліцензію, не маючи відкритого початкового коду клієнта на мові програмування C#. Також його критикували за спосіб вирішення питань щодо загальновідомих проблем безпеки в джерелі вихідного проекту. Shadowsocks наразі знаходиться в розробці, тоді як розробка ShadowsocksR припинена.