Shadowsocks

Материал из Inner Equestria

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

Клиент[править | править код]

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

Windows[править | править код]

  • Скачайте последнюю версию клиента Shadowsocks и распакуйте в произвольное место.
  • Рядом с файлом Shadowsocks.exe распакуйте плагин V2Ray для Shadowsocks.
  • Переименуйте распакованный файл плагина V2Ray в v2ray-plugin.exe.

Android[править | править код]

Далее, ознакомьтесь со списком серверов ниже и выберите подходящий.

Адрес / Yggdrasil Порт Пароль Алгоритм Плагин Опции Локация
glimmy.092918.xyz 200:eadd:d0cf:90df:2608:a3f7:c7d8:802f 8388/443 8380/80 glimmyisagoodpony aes-256-gcm v2ray-plugin tls;host=glimmy.092918.xyz;path=/ss Украина
trixie.092918.xyz 201:5fe2:5987:edcb:244b:32b2:b2b6:e9ab 8388/443 8380/80 trixieisagoodpony aes-256-gcm v2ray-plugin tls;host=trixie.092918.xyz;path=/ss США
thecore.city 200:b6b6:1530:94a7:d8e1:737e:767a:b08b 8388/443 8380/80 cognitumisagoodpony aes-256-gcm v2ray-plugin tls;host=thecore.city;path=/ss США
daybreaker.092918.xyz 8388/443 8380/80 daybreakerdidnothingwrong aes-256-gcm v2ray-plugin tls;host=daybreaker.092918.xyz;path=/ss США
  • ss://YWVzLTI1Ni1nY206Z2xpbW15aXNhZ29vZHBvbnk@glimmy.092918.xyz:443/?plugin=v2ray-plugin%3btls%3bhost%3dglimmy.092918.xyz%3bpath%3d%2fss
  • ss://YWVzLTI1Ni1nY206dHJpeGllaXNhZ29vZHBvbnk@trixie.092918.xyz:443/?plugin=v2ray-plugin%3btls%3bhost%3dtrixie.092918.xyz%3bpath%3d%2fss
  • ss://YWVzLTI1Ni1nY206Y29nbml0dW1pc2Fnb29kcG9ueQ@thecore.city:443/?plugin=v2ray-plugin%3btls%3bhost%3dthecore.city%3bpath%3d%2fss
  • ss://YWVzLTI1Ni1nY206ZGF5YnJlYWtlcmRpZG5vdGhpbmd3cm9uZw==@daybreaker.092918.xyz:443/?plugin=v2ray-plugin%3btls%3bhost%3ddaybreaker.092918.xyz%3bpath%3d%2fss


Используя эти данные, создайте профиль. Обратите внимание, вы обязательно должны указать плагин и его опции. Мы рекомендуем использовать порт 443 и опцию path=/ss для лучшего скрытия трафика, но также возможно использование порта 8388. В этом случае указание опции path=/ необязательно. В случае, когда HTTPS-соединение так же ограничивается вы можете использовать порт 80 без TLS-шифрования, проксирумый из порта 8380. Для такого способа опция tls не нужна.

Сервер[править | править код]

shadowsocks-rust в контейнере и Caddy[править | править код]

Вы можете организовать свой собственный сервер, это не сложно. Мы для этого используем контейнеры и Docker, и веб-сервер Caddy.

Порядок действий таков:

Откройте порты 8388 и 8380 в фаерволе своей системы.

Создайте Caddyfile для вашего веб-сервера, проксирующий трафик с порта 8388 и 8380 на поддиректорию /ss.

http://someserver.tld {
        root * /srv/http/someserver.tld
        file_server

        handle /ss* {
                uri strip_prefix /ss
                reverse_proxy http://someserver.tld:8380
        }
}

someserver.tld {
        handle /ss* {
                uri strip_prefix /ss
                reverse_proxy https://someserver.tld:8388
        }

        tls
}

Также создайте docker-compose.yml.

version: "3"

services:
  yourserver:
    image: quay.io/innereq/containers:shadowsocks-rust
    entrypoint: ["/opt/entrypoint.sh"]
    restart: always
    depends_on:
      - acme.sh
    network_mode: host
    environment:
      - SS_HOST=yourdomain.tld
      - SS_PASSWORD=yourpassword
    volumes:
      - ./acme.sh:/root/.acme.sh

  yourserver_http:
    image: quay.io/innereq/containers:shadowsocks-rust
    entrypoint: ["/opt/entrypoint.sh"]
    restart: always
    network_mode: host
    environment:
      - SS_PASSWORD=yourpassword
      - SS_PORT=8380
      - SS_PLUGIN_OPTS=server

  acme.sh:
    image: neilpang/acme.sh
    command: daemon
    restart: always
    volumes:
      - ./acme.sh:/acme.sh
      - /srv/http:/srv/http

Доступные переменные окружения.

  • SS_PORT=8388 — порт, используемый для подключения/
  • SS_METHOD=aes-256-gcm — алгоритм шифрования (список алгоритмов).
  • SS_PLUGIN=v2ray-plugin — плагин для манипуляции над трафиком.
  • SS_PLUGIN_OPTS=server;tls;host=$SS_HOST — опции используемого плагина.
  • SS_PASSWORD — пароль для подключения.
  • SS_HOST — домен, используемый для V2Ray в режиме TLS-шифрования.

Где acme.sh — директория с сертификатами, а /srv/http — доступная для чтения веб-сервером директория для временных доменных ключей.

Запустите docker-compose -d acme.sh && docker-compose exec acme.sh /bin/sh, чтобы внутри контейнера сгенерировать сертификат для своего домена: acme.sh --issue -d yourdomain.tld -w /srv/http/yourdomain.tld. Далее работающий контейнер будет самостоятельно обновлять сертификаты по cron.

Теперь вы можете запустить и сам сервер Shadowsocks, docker-compose up -d yourserver.