Это руководство описывает ещё один способ получить личный прокси-сервер shadowsocks бесплатно. В этот раз мы воспользуемся сервисом Replit.
В этот раз всё будет намного проще: регистрация, импорт, запуск. Три шага.
О shadowsocks
shadowsocks - это шифрованный сетевой туннель, клиентская часть которого предоставляет доступ приложениям к сети как SOCKS-прокси, запущенный на этом же устройстве. Существуют клиентские приложения shadowsocks, которые позволяют заворачивать в него трафик как в VPN.
С самого начала shadowsocks разрабатывался как средство для обхода блокировок в Китае, и достаточно в этом деле преуспевает. С некоторого момента он стал иметь возможность подключения внешних модулей-плагинов для оборачивания трафика shadowsocks в различные виды сетевых соединений. Это значительно расширяет границы его применения.
Развёртывание сервера
Шаг 1. Регистрация
Зарегистрируйтесь на Replit. Кнопка Sign up справа вверху. Вам потребуется только электронная почта. Подтвердите свою почту прежде, чем продолжать.
Шаг 2. Импорт
На своей главной странице Replit нажмите кнопку "+ Create". Далее нажмите "Import from Github". В поле Github URL вставьте из буфера обмена (иначе не работает!) следующую ссылку:
https://github.com/Snawoot/ss-replit
После этого подтвердите импорт.
Шаг 3. Запуск
После окончания импорта нажмите на кнопку Run (зелёная вверху). После запуска в workspace появятся три файла:
passwd.txt
- файл с паролем от shadowsocks.url.txt
- файл со ссылкой в формате shadowsocks SIP002, которую можно легко импортировать в клиент со всеми нужными настройками.qr.png
- картинка с QR-кодом, содержащим упомянутую выше ссылку. Удобно импортировать в телефон.
Также вся информация для подключения печатается в консоль (нижняя правая четверть экрана). На ошибку "Bad Request" в Webview в правой верхней четверти экрана не обращаем внимания.
Настройка клиентов
Настройка мобильного клиента на примере Android
Установите на Ваше устройство клиент shadowsocks и плагин v2ray к нему.
Запустите приложение и добавьте новый профиль кнопкой с плюсом в правом верхнем углу. Выберите сканирование QR-кода и отсканируйте его. QR-код лежит в файле
qr.png
в воркспейсе replit.Выберите созданный профиль касанием.
Запустите соединение нажатием на круглую кнопку внизу.
Готово!
Настройка настольного клиента на примере Windows
Скачайте отсюда и распакуйте shadowsocks.
Скачайте отсюда плагин v2ray, подходящий под вашу платформу. Достаньте из архива файл и переименуйте его в
v2ray.exe
(или простоv2ray
, если ваш проводник не отображает расширения файлов). Поместите его в одну директорию с shadowsocks.Запустите shadowsocks.
Скопируйте конфигурационный URL вашего личного сервера shadowsocks из файла
url.txt
, упомянутого в третьем шаге руководства по установке сервера.Нажмите правой кнопкой мыши на значке shadowsocks в системном трее и выберите Servers - Import URL from Сlipboard.
Включите прокси, выбрав в том же контекстном меню System Proxy - Global.
-
Готово!
Замечание: если в браузере установлены расширения, которые управляют выбором прокси-сервера (VPN-расширения, Switchy Omega), то включение ShadowSocks через System Proxy - Global не будет иметь никакого эффекта на браузер. Нужно их либо выключить, либо перенастроить на системный прокси, если есть такая возможность.
Настройка настольного клиента на примере Linux
Также этот способ можно применять на MacOS и Windows для запуска консольного клиента.
Скачайте отсюда и распакуйте go-shadowsocks2.
Скачайте отсюда и распакуйте плагин v2ray-plugin.
Поместите оба исполняемых файла в одну директорию. Перейдите в эту директорию в терминале.
Переименуйте исполняемый файл плагина в
v2ray
Сделайте оба файла исполняемыми. Команда:
chmod +x shadowsocks2linux v2ray
Запустите прокси командой
./shadowsocks2-linux -c 'ss://AEAD_CHACHA20_POLY1305:PASSWORD@DOMAIN:443' -verbose -socks :1080 -u -plugin v2ray -plugin-opts "tls;host=DOMAIN"
, где вместо DOMAIN и PASSWORD ваш домен и пароль. Домен виден в ссылке в WebView после запуска (https:// и слэши указывать не надо, только домен!). Пароль находится в файлеpasswd.txt
. Пример итоговой команды:/shadowsocks2-linux -c 'ss://AEAD_CHACHA20_POLY1305:Yeyitoa7@ss-replit.SomeUser.repl.co:443' -verbose -socks :1080 -u -plugin v2ray -plugin-opts "tls;host=ss-replit.SomeUser.repl.co"
После запуска на локальном порту 1080 по адресу 127.0.0.1 будет доступен SOCKS5-прокси. Его уже можно использовать в программах.
Комментарии (20)
DangerousAndMoving
08.10.2022 11:26+2Здравствуйте.
Вероятно этот сервис в скором времени постигнет судьба хероку. Лучше сразу поднимать на VPS.
Зачем используете плагин? Он не поддерживает udp, поэтому у всяких мессенджеров отваливаются звонки. Уж лучше голый shadowsocks. В плане обхода блокировок, вероятно, особых плюсов не будет. В Китае последние несколько дней начали блокировать v2ray с tls режимами. Думаю и пост СССР подтянется скоро.
Не по теме. Как подружить ваш dumbproxy с телеграм? Выбираю http proxy. Ввожу имя, пароль. Не может соединится. Через браузер всё нормально, через qbittorent тоже.
YourChief Автор
08.10.2022 11:31+1Здравствуйте!
Да, но не все могут арендовать сервер по каким-то причинам. Да и платное с бесплатным несравнимо - на своей VPS что угодно накрутить можно.
Затем, что пропускается внутрь REPL только трафик по вебсокетам. Поэтому используется плагин, который работает с трафиком по вебсокетам. Про блокировку этого в Китае источником не поделитесь?
Если вы его подняли в режиме HTTPS (как в статье), то телеграм с ним работать не сможет. Но можно использовать адаптер steady-tun на клиентской стороне, чтобы телеграм подключался к нему по HTTP, а он дальше уже взаимодействовал по HTTPS.
DangerousAndMoving
08.10.2022 11:48Информация по блокировкам: https://github.com/net4people/bbs/issues/129
На сервере dumbproxy с сертификатами, созданы при помощи quick cert. На клиенте steady-tun. В телеграм, http proxy 127.0.0.1:57800. Имя и пароль заданы. Постоянно висит надпись "соединение...". Из всех программ, которые поддерживают http прокси, проблемы только в телеграм.
YourChief Автор
08.10.2022 13:17А с какими параметрами steady-tun запускаете?
DangerousAndMoving
08.10.2022 13:25steady-tun.windows-amd64.exe -dsthost мой.сайт -dstport 6666 -cert "D:\quickcerts-1.0.1\me.pem" -key "D:\quickcerts-1.0.1\me.key" -cafile "D:\quickcerts-1.0.1\ca.pem"
YourChief Автор
08.10.2022 13:58А остальные проги, которые через HTTP-прокси работают, работают именно через steady-tun? Не совсем понимаю, зачем имя и пароль, если вы авторизуетесь по клиентским сертификатам? В каком режиме auth на dumbproxy настроен?
DangerousAndMoving
08.10.2022 14:20Браузер через SwitchyOmega и Qbittorrent, точно через steady-tun.
Запуск сервиса на сервере:
ExecStart=/etc/dp/dumb -bind-address :6666 -auth 'basicfile://?path=/etc/dp/dumbproxy.htpasswd&hidden_domain=xx.org' -cert /etc/dp/me.pem -key /etc/dp/me.key -cafile /etc/dp/ca.pem -verbosity 40 -ciphers TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256:TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256:TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
YourChief Автор
08.10.2022 14:29Подозреваю, что телега ломается из-за hidden_domain - видимо она всё-таки хочет 407 ответ, прежде чем пароль пошлёт.
koreec
08.10.2022 17:29+1Про блокировку V2Ray в Китае я вам могу рассказать.
Собственно, блокируется не трафик, а вычисляются сервера и блокируются по IP. В результате у моего VPN провайдера отдельные сервера отваливается каждые несколько часов. Провайдер поднимает новые, и так по кругу. У них vless/tls.
При этом мой личный V2Ray (vmess без tls) никто не трогает, потому что он не привлекает внимания. Работает уже третий год на том же адресе.
altarit
После закрытия бесплатного аккаунта Heroku тоже искал где бы развернуть аналогичный скрипт с прокси для личных целей. И хотелось бы, чтобы это не нарушало правила сервиса, но увы, в Repl.it запрещены прокси для обхода блокировок.
В https://replit.com/site/terms среди запрещенных действий есть такой пункт:
Use the Service to create a proxy with the purpose of circumventing any firewall or other access control measure;
Так что используйте на свой страх и риск.