Shadowsocks - лучшее средство для обеспечения приватности в сети.

Shadowsocks - лучшее средство для обеспечения приватности в сети.

hardware aesthetics

Бесплатный OpenSource прокси, который шифрует соединение между клиентом и сервером практически без потерь скорости.

Подписывайся на канал, чтобы не пропустить другие статьи, новости, обзоры, и другой интересный контент!

Возник почти десять лет назад в Китае и изначально предназначался для обхода Великого китайского файрволла, но позже обрел популярность и в других странах с запретами. Принцип его работы предельно прост: есть клиент, который изображает из себя socks5-прокси, на него система пускает трафик. Клиент отправляет этот трафик на сервер, а сервер уже расшифровывает его и выпускает в интернет.

Основные преимущества Shadowsocks перед обычным VPN:

  • Скорость. Она практически не падает. Вырастает только пинг - к счастью, незначительно, поэтому не критично.
  • Не нужны никакие kill-switch, при обрыве связи ваш трафик не уйдет по незащищенному каналу.
  • Максимально просто и удобно можно настроить доступ в интернет через прокси только отдельным приложениям, или, например, веб-сайтам.
  • Нетребовательность к ресурсам.

У самого SS есть тоже неплохие плюсы - например, конфиг занимает всего несколько строк, а клиенту не нужны права администратора (прощай, файрволл на работе).

Я давно пользуюсь данной разработкой, ибо понятно, насколько медленны/ненадёжны обычные бесплатные VPN, которые еще и продают данные. И естественно, разница в удобстве использования также огромна. Проще заплатить несколько долларов, но получить безопасность, скорость и удобство.

Как я уже и говорил, и клиент, и сервер очень нетребовательны к ресурсам. Поэтому в качестве VPS выбираем самый дешевый вариант, который только возможно. 1 ядра и 0.5гб ОЗУ будет достаточно. Я использую Vultr, он предлагает сервера от 5 долларов в месяц (кстати вот рефка, если зарегистрируетесь по ней и привяжете карту, дадут 100$ на месяц) и очень хорошую скорость интернета, но можно найти сервера значительно дешевле. До недавнего времени я пользовался сервером за ~1$ от российского хостера, правда там были проблемы с стабильностью. Еще использовал сервер от ruvds, у них есть варианты от 130 рублей, проблем с стабильностью не возникало, но скорость инета похуже.

скорость интернета Vultr

Ставить будем версию, написанную на Rust, ведь разработка сместилась в его сторону. Раньше полноценно поддерживалась версия на C, но сейчас там только фиксят баги - нововведений нет.

Подключаемся к серверу по SSH. Для этого можно использовать Putty.

  1. Обновим пакеты: apt update && apt upgrade -y
  2. Перейдем в директорию, и скачаем SS: mkdir /etc/ss/ && cd /etc/ss/ && wget -q https://github.com/shadowsocks/shadowsocks-rust/releases/download/v1.10.2/shadowsocks-v1.10.2.x86_64-unknown-linux-gnu.tar.xz (если выйдут новые версии - берем их тут)
  3. Распакуем в текущую папку, сделаем сервер исполняемым и позволим биндится к привилегированным портам: tar xvf shadowsocks-v1.10.2.x86_64-unknown-linux-gnu.tar.xz && chmod +x /etc/ss/ssserver && setcap cap_net_bind_service=+eip /etc/ss/ssserver
  4. Создаём конфиг: nano /etc/ss/config.json

Приводим его к такому виду:

{
    "server": "server_ip",
    "server_port": 8388,
    "password": "password",
    "method": "aes-256-gcm",
    "dns": 1.1.1.1,
    "fast_open": true,
    "no_delay": true,
    "mode": "tcp_and_udp"
}

Вместо server_ip вписываем ИП сервера, вместо пароля - соответственно, пароль, который будет использоваться для подключения к серверу. Желательно подлиннее.

В качестве метода шифрования трафика используем aes-256-gcm, из-за аппаратной поддержки шифрования. Можно использовать chacha20-ietf-poly1305 , он тоже достаточно надежный и быстрый, но аппаратно не ускоряется.

  1. Создаем systemd сервис: nano /etc/systemd/system/ss.service
[Unit]
Description=Shadowsocks
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/ssserver -c /etc/ss/config.json
[Install]
WantedBy=multi-user.target

Стоит также оптимизировать сервер, как это описано на сайте СС.

И запускаем SS:

systemctl daemon-reload && systemctl restart ss.service && systemctl enable ss.service && systemctl status ss.service

Если все правильно сделали, то сервер запустится -

Скачиваем нужный клиент отсюда и настраиваем данными с конфига.

Чтобы не вводить длинный пароль в телефона, просто отсканируем qr-код.

Чтобы проксировать соединение отдельных программ можно использовать Proxifier. Для отдельных доменов в Chrome я использую ProxySwitchySharp, в Firefox - FoxyProxy. Просто отправляем соединение на 127.0.0.1 и порт, который выбрали в клиенте теневых носков (по стандарту - 1080)

Ну и тесты скорости к одному и тому же серверу, куда ж без них :)

Если нужно что-то добавить - пишите в комментарии, обязательно поправлю.

Понравилась статья? - Подписывайся на канал :)


Report Page