Личный сервер shadowsocks за 10 минут без затрат

c1f14dbd7ff1e51158df7a4cef8fd05b.png

Несколько слов о shadowsocks

shadowsocks — это шифрованный сетевой туннель, клиентская часть которого предоставляет доступ приложениям к сети как SOCKS-прокси, запущенный на этом же устройстве. В некотором смысле его можно использовать как VPN, потому что клиенты поддерживают прозрачное перенаправление трафика приложений в туннель.

С самого начала shadowsocks разрабатывался как средство для обхода блокировок в Китае. С некоторого момента он получил возможность подключения внешних модулей-плагинов для оборачивания трафика shadowsocks в различные виды сетевых соединений. Это значительно расширяет границы его применения.

На хабре shadowsocks уже освещался ранее в статье от @Barafu_Albino_Cheetah.

В этом руководстве описано развёртывание сервера shadowsocks с плагином v2ray на облачном провайдере Heroku. Платформа Heroku позволяет бесплатно разворачивать небольшие веб-приложения, а плагин v2ray позволяет пропускать трафик shadowsocks внутри websocket-соединения, что в итоге и позволяет запускать всю конструкцию на Heroku.

Развёртывание сервера

В этом руководстве используется замечательный проект готового приложения для Heroku, которое реализует всё необходимое автоматически. Ссылка на GitHub проекта.

Шаг 1. Регистрация в сервисе Heroku

Для этого нужно зайти на сайт Heroku, нажать Sign up и заполнить требуемые сведения. Для регистрации нужна только электронная почта.

Шаг 2. Начало развёртывания

Нажмите на эту ссылку.

Шаг 3. Конфигурирование

В появившейся форме заполните все поля как показано на скриншоте:

879d087a93e8ed7236f8dac711b44850.png

В качестве значений «App Name» и AppName впишите какое-то уникальное имя приложения, одинаковое в обоих полях. Это имя станет частью доменного имени .herokuapp.com, по которому станет доступен сервис.

Вместо PASSWORD задайте свой пароль. Можно задать подлиннее и понадёжнее — Вам, скорее всего, не придётся вводить его вручную.

Кроме того, желательно поменять пути QR и путь обработчика прокси V2_Path на какое-нибудь трудноугадываемое значение.

Шаг 4. Запуск

Заполнив форму, нажмите Deploy app.

После завершения сборки и запуска QR-код с конфигурацией для мобильных устройств будет доступен по адресу

https://APPNAME.herokuapp.com/qr/vpn.png

а строка с конфигурацией в виде URL будет доступна по адресу

https://APPNAME.herokuapp.com/qr/

где APPNAME — выбранное Вами имя приложения. Если Вы меняли путь к QR-коду, то ссылка изменится в соответственно. Во второй ссылке косая черта на конце обязательна.

Всё, можно пользоваться!

Настройка мобильного клиента на примере Android

  1. Установите на Ваше устройство клиент shadowsocks и плагин v2ray к нему.

  2. Запустите приложение и добавьте новый профиль кнопкой с плюсом в правом верхнем углу. Выберите сканирование QR-кода и отсканируйте его.

  3. Выберите созданный профиль касанием.

  4. Запустите соединение нажатием на круглую кнопку внизу.

  5. Готово!

Настройка настольного клиента на примере Windows

  1. Скачайте отсюда и распакуйте shadowsocks.

  2. Скачайте отсюда плагин v2ray, подходящий под вашу платформу. Достаньте из архива файл и переименуйте его в v2ray.exe (или просто v2ray, если ваш проводник не отображает расширения файлов). Поместите его в одну директорию с shadowsocks.

  3. Запустите shadowsocks.

  4. Скопируйте конфигурационный URL вашего личного сервера shadowsocks со страницы https://APPNAME.herokuapp.com/qr/, где APPNAME — имя приложения, которое вы выбрали.

  5. Нажмите правой кнопкой мыши на значке shadowsocks в системном трее и выберите Servers — Import URL from Сlipboard.

  6. Включите прокси, выбрав в том же контекстном меню System Proxy — Global.

  7. Готово!

Ограничения Heroku

Для приложений, запущенных на Heroku, в настоящий момент действуют следующие ограничения:

  • Временная квота работы приложений при бесплатном уровне использования составляет 550 часов в месяц.

  • Контейнер приложения переходит в спящий режим после 30 минут отсутствия запросов к нему. С одной стороны это доставляет неудобства в виде задержек ответа до полминуты после перерыва в активности. С другой стороны, это экономит отведённую временную квоту.

  • Квота на передачу данных по сети равна 2 ТБ в месяц. То есть в случае с прокси это даёт чуть меньше 1 ТБ трафика в месяц.

© Habrahabr.ru