Для начала стоит объяснить, что такое Shadowsocks и для чего он может быть полезен.
Иногда вы можете оказаться в сети с ограничениями, где фильтруется интернет-трафик, и доступ к определённым ресурсам блокируется. Такие ограничения могут встречаться, например, в корпоративной сети на работе. Если вам необходимо обойти такие блокировки и получить доступ к нужным сайтам, на помощь может прийти инструмент под названием Shadowsocks. По сути, это прокси-сервер, который использует протокол SOCKS5 для передачи данных.
Протокол SOCKS5 позволяет создать зашифрованное соединение и направлять трафик через него, делая его менее заметным для фильтров и блокировок. В этой статье я расскажу, как быстро развернуть свой прокси-сервер с использованием Shadowsocks. Чем-то это напоминает создание шифрованного тоннеля через ssh.
Для начала вам необходим свой сервер. Если у вас еще нет своего сервера, то переходите по ссылке и зарегистрируйте его. Хостинг дает сутки на тестирование, поэтому можно проверить как работает тот же sadownsocks, например.
После того как у вас появился свой сервер, необходимо установить shadowsocks
это легко сделать при помощи нескольких команд:
$ sudo apt update $ sudo apt install shadowsocks-libev
Теперь нужно создать основной файл с настройками shadowsocks. Поэтому создаем в /etc/shadowsocks-libev файл config.json со следующем содержимым:
{ "server": "[server]", "server_port": "[server_port]", "password":"[password]", "mode":"tcp_and_udp", "timeout": 300, "local_port": "[local_port]", "method": "xchacha20-ietf-poly1305", "fast_open": true, "nameserver": "8.8.8.8" }
server — ip адрес сервера
server_port — сервер порт через который будет создан тоннель ( замените на свой )
password — пароль подключения ( замените на свой )
method — метод шифрования ( если не уверены, то лучше оставить такой как в примере )
local_port — порт на локальной машине через который будет проходить зашифрованный трафик
Если у вас на сервере установлен файрвол, то необходимо открыть порт, который был указан в настройках:
$ sudo ufw allow [server_port] $ sudo ufw reload
Теперь можно запустить shadowsocks:
$ sudo systemctl restart shadowsocks-libev
После этого на сервере все готово и можно приступать к настройке клиентской части.
Для того, чтобы запустить зашифрованный socks5 на вашей локальной машине потребуется установить Shadowsocks клиент. Вот несколько вариантов для разных систем:
Windows
- Shadowsocks for Windows — Официальный клиент с графическим интерфейсом.
- ShadowsocksR — Модифицированная версия Shadowsocks, поддерживающая дополнительные шифрования и функции.
- Outline — Простой в использовании клиент, который также поддерживает Shadowsocks и удобен для новичков.
macOS
- ShadowsocksX-NG — Популярный клиент для macOS с поддержкой Shadowsocks и дополнительными функциями.
- Outline — Также доступен для macOS, позволяет легко подключаться к Shadowsocks-серверам.
Linux
- Shadowsocks-libev — Лёгкий клиент для Linux, поддерживающий командную строку и простой в настройке.
- Outline — Клиент с графическим интерфейсом, доступный для нескольких версий Linux.
- Shadowsocks-qt5 — Версия с графическим интерфейсом, подходящая для пользователей, предпочитающих GUI.
Android
- Shadowsocks for Android — Официальное приложение для Android с поддержкой настроек и переключений.
- ShadowsocksR Android — Вариант с дополнительными настройками и функциями.
- Outline — Отличный вариант для пользователей, которые хотят быстро подключиться без сложных настроек.
iOS
Outline — Простое и удобное приложение, особенно для начинающих.
Shadowrocket — Один из самых популярных и мощных клиентов для iOS, поддерживает Shadowsocks и другие протоколы.
Potatso Lite — Поддерживает Shadowsocks и имеет удобный интерфейс.
Выбираем подходащий клиент и настраиваем соединение в нем для сервера на который поставили shadwonsocks
После установки соединения SOCKS5 будет доступен на локальной машине на порту local_port который ранее мы указали в настройках shadownsock на сервере
Ну вот и все. Следите за обновлениями в телеграме, чуть позже планирую написать продолжение по данной тематики.