Shadowsocks-go how-to step-by-step guide

В последних версиях убунты и других осей вместо нормального пакетного менеджера начали завозить снэп, который не позволяет нормально настраивать СС-либев по старым гайдам. Вместо него, будем использовать сс-го2, который показал себя более производительным в рамках исследования производительности проксей и ВПНов https://habr.com/ru/post/479146/

СС-ГО2 совместим со всеми клиентами шэдоусокс для всех платформ, включая outlineVPN

Disclaimer: все выполняется из под суперпользователя/рута. Просто копируй все шаги один за другим, и все должно заработать.

Проверь адреса скачиваемых бинарников, со временем выйдут новые версии и ссылка в шаге №3 будет другая, найти новую можно по ссылке https://github.com/shadowsocks/go-shadowsocks2/releases.

  1. обновляем пакеты
    apt update && apt upgrade -y
  2. создаем папку под бинарники сс
    mkdir /etc/ss-go && cd /etc/ss-go
  3. качаем бинарник сс с гитхаба
    wget https://github.com/shadowsocks/go-shadowsocks2/releases/download/v0.1.3/shadowsocks2-linux.gz
  4. распакуем архив сс-го
    gzip -d shadowsocks2-linux.gz
  5. переименуем бинарник чтобы было проще
    mv /etc/ss-go/shadowsocks2-linux /etc/ss-go/ss-go
  6. делаем бинарник исполняемым
    chmod +x /etc/ss-go/ss-go
  7. повышаем права сс и позволяем ему занимать привилегированные портыsetcap “cap_net_bind_service=+eip” /etc/ss-go/ss-go
  8. создаем систем-Д сервис
    nano /etc/systemd/system/ss-go.service

Медиум уродски форматирует код, поэтому содержимое файла копируем построчно:

[Unit]

Description=simple-obfuscation standalone server service

Documentation=man:shadowsocks-libev(8)

After=network.target

[Service]

Type=simple

User=nobody

Group=nogroup

CapabilityBoundingSet=CAP_NET_BIND_SERVICE

AmbientCapabilities=CAP_NET_BIND_SERVICE

LimitNOFILE=51200

ExecStart=/etc/ss-go/ss-go -s 0.0.0.0:12345 -password ВАШ_ПАРОЛЬ -cipher AEAD_CHACHA20_POLY1305 -udp

[Install]

WantedBy=multi-user.target

Обрати внимание на строку, выделенную болдом — тут тебе после -s нужно поставить или внешний айпишник ВПС, или поставить 127.0.0.1 или оставить 0.0.0.0 и порт — в последнем случае шэдоусокс будет доступен как для работы с обфускаторами через локалхост, так и для прямого подключения с клиента СС (например если тебе зачем-то нужен UDP трафик — скажем для SIP-телефонии).
Там, гдe password очевидно надо поставить свой пароль.

9. перезагружаем системД юниты, запускаем сервис сс-го, включаем сервис сс-го в автозагрузку и проверяем статус:
systemctl daemon-reload && systemctl restart ss-go.service && systemctl enable ss-go.service && systemctl status ss-go.service

10. Если ошибок нет (а их быть не должно если все правильно скопировал) то все должно работать, трафик идет через ВПС. Дальше желательно накатить какой-то из обфускаторов (рекомендую в2рей и клоак-в1) по основному гайду:

https://medium.com/p/1d173b3d5513

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store