Как поднять свой Shadowsocks сервер?

Как поднять свой Shadowsocks сервер?

@johnnykramer

Shadowsocks — современная, актуальная прокси-технология для обхода блокировок провайдера, интернет-цензуры и всяких брендмауэров. Он шифрует весь трафик между вашим устройством и сервером Shadowsocks, посыпая песком глаза товарища майора, который не сможет отличить его от любого другого зашифрованного трафика.

Эта технология изначально разрабатывалась для обхода блокировок, с чем довольно успешно справляется, при этом она безумно популярна в Китае среди IT-шников и геймеров.

Shadowsocks прекрасно работает на Mac/Linux/Windows/iOS/Android. Одной из его главных фишек, лично для меня, является незаметное переключение между Wi-Fi сетями и мобильным интернетом "на лету". Например, смотрите вы (пока еще) не заблокированный YouTube дома, с домашнего Wi-Fi, будучи подключенным к Shadowsocks. Затем не прекращая воспроизведение можете выйти на улицу, переключившись на мобильный интернет. Подключение к Shadowsocks предательски не прервется, приложение не будет голосить на всю шторку уведомлений о том что попытка переподключения неудачна (как это часто бывает с VPN-клиентами) — ничего просто не произойдет. Трафик попросту продолжит идти через ваш сервер без каких-либо переподключений.

Также, довольно значительным плюсом является возможность bypass некоторые сайты или IP-адреса, для которых вам не нужно быть анонимным.


Вот вам кратенькое руководство по разворачиванию своего собственного сервера Shadowsocks:

  • Вам нужен чистый сервер с установленной Ubuntu. Простым и дешевым способом будет аренда самого дешевого дропета на DigitalOcean за $5 в месяц. https://m.do.co/c/bf153cb5265b (По моей реферальной ссылке вы получите $10 на новый аккаунт. Но я не настаиваю)
  • После регистрации нужно создать новый дроплет, в минимальной конфигурации, за $5. Регион датацентра выбирайте на свой вкус. Я использую San Francisco — он лучше всего работает в Китае. Ждем запуска дроплета...
  • Подключаемся к серверу по SSH через терминал (если у вас Mac/Linux), либо используя программу PuTTy (если у вас Windows):
ssh root@АДРЕС_СЕРВЕРА


  • Обновляемся
$ apt-get update


  • Устанавливаем пакетный менеджер для Python
$ apt-get install python-pip


  • Устанавливаем сам Shadowsocks
$ pip install shadowsocks


  • Shadowsocks поддерживает целую кучу методов шифрования. Но рекомендуется использовать CHACHA20, для оптимизации производительности. Следующими командами мы его и установим:
$ apt-get install python-m2crypto
$ apt-get install build-essential
$ wget https://github.com/jedisct1/libsodium/releases/download/1.0.10/libsodium-1.0.10.tar.gz
$ tar xf libsodium-1.0.10.tar.gz && cd libsodium-1.0.10
$ ./configure && make && make install
$ ldconfig


  • Пора создавать конфигурационный файл. Сделаем это!
$ nano /etc/shadowsocks.json


  • Заполняем конфигурационный файл по следующему шаблону.
Каждому пользователю вашего сервера выдается собственная пара ПОРТ:ПАРОЛЬ. Порт указывайте любой свободный (например, 1500-1600. точно хватит).
{
    "server":"АДРЕС_СЕРВЕРА",
    "port_password": {
        "ПОРТ": "ПАРОЛЬ",
        "ПОРТ": "ПАРОЛЬ",
        "ПОРТ": "ПАРОЛЬ"
    },
    "local_port":1080,
    "timeout":600,
    "method":"chacha20"
}


  • Мы готовы к старту сервера! Стартуем...
$ ssserver -c /etc/shadowsocks.json -d start


  • Чтобы после перезагрузки сервера Shadowsocks запускался автоматически мы открываем файл
$ nano /etc/rc.local


  • И перед 'exit 0' вставляем строку.
/usr/bin/python /usr/local/bin/ssserver -c /etc/shadowsocks.json -d start


  • Все! Сервер запущен. Осталось установить и настроить клиенты.

Machttps://github.com/shadowsocks/ShadowsocksX-NG/

Windowshttps://github.com/shadowsocks/shadowsocks-windows/ (.NET Framework)

Linuxhttps://github.com/shadowsocks/shadowsocks-qt5/

Androidhttps://github.com/shadowsocks/shadowsocks-android/

iOS — NetShuttle, Waterdrop в App Store.


Большинство клиентов поддерживают как сканирование QR-кода с конфигурацией, так и ручной ввод оной.

С этим все просто:

Host/server — адрес вашего сервера.

Portиндивидуальный порт пользователя.

Passwordиндивидуальный пароль пользователя.

Method — должен совпадать с указанным на сервере. В нашем случае — CHACHA20.

Local Port — порт локального прокси сервера. Его не нужно менять, если оно вам не нужно.

Вводите эти данные в свой клиент и подключаетесь к вашему собственному Shadowsocks-серверу. Все!

А если вам анонимность нужна не постоянно, то вы можете сделать Snapshot дроплета в личном кабинете DigitalOcean, а сам дроплет удалить. Деньги тратиться не будут, а восстановить дроплет по данному снапшоту будет дело одной минуты. Э — экономия.

На этом все! Подписывайтесь на @johnnykramerlife, а самые каверзные вопросы задавайте мне в личку @johnnykramer. И да прибудет с вами Свободный Интернет!

Report Page