Установка shadowsocks для домохозяек™
special for 2ch.hk/sПочему именно shadowsocks?
1) Быстрее OpenVPN (даже без обфускации и через UDP).
2) Даже без обфускации не детектится Великим Китайским Фаерволлом!
3) С обфускацией, которая ставится в несколько простых шагов, дает пососать абсолютно всем.
По скорости:
SSH ≈ SS > OVPN-UDP > говно > моча > SOFTETHER
И как это всё развернуть?
1) Покупаешь дешевый VPS.
Посмотреть их список можно на lowendstock.com или на vps.menu
Обязательные требования к серверу: ≥128MB RAM, адрес IPv4 (не за NAT).
2) В панели управления сервером выбираем Ubuntu 16.04-17.04
3) Цепляемся к серверу по SSH:
3.1) Windows: скачиваешь Putty
Hostname: адрес сервера
Port: тот, что предоставит тебе хостер, по дефолту 22
3.2) Android: JuiceSSH (APK можно утащить отсюда)
3.3) iOS: WebSSH Essential
3.4) *nix: ssh адрес -l логин -p порт
Логин и пароль тебе даст хостер. Кто-то показывает его в панели управления, кто-то присылает по почте. Если логин отличный от root - выполни команду "su" перед вводом команд!
4) Устанавливаем SS на сервере:
apt update && apt upgrade -y && apt install software-properties-common nano -y && add-apt-repository ppa:max-c-lv/shadowsocks-libev && apt update && apt install shadowsocks-libev -y
НАЖАТЬ ENTER ПО ЗАПРОСУ!
5) Настраиваем SS:
nano /etc/shadowsocks-libev/config.json
В открывшемся файле подставляешь следующие значения:
{ "server":"пишешь_сюда_адрес_твоего_сервера", "server_port":443, "password":"копируешь_тот_что_сгенерирован", "timeout":30, "method":"chacha20-ietf-poly1305", "fast_open":true, "reuse_port": true, "mode": "tcp_and_udp" }
Выходим из редактора через Ctrl+X, сохраняешь файл на Y, ENTER. Далее перезапускаем SS:
systemctl enable shadowsocks-libev.service && systemctl restart shadowsocks-libev
6) Скачиваем и настраиваем клиенты:
6.1) Windows: здесь
Тебе нужен zip файл. Скачай и распакуй его куда-нибудь.
Запускаешь shadowsocks.exe, в трейбаре должен появиться его логотип (самолетик).
Жмакаешь ПКМ по этому самолётику - ставишь галочку Start On Boot
Далее идешь в Servers - Edit Servers
Заполняешь поля по аналогии с конфигом на сервере. В строке Proxy Port ставишь тот, который тебе удобен (можно оставить дефолтный 1080).
6.2) Android: Google Play и .apk
Все почти так же, как и на винде. В меню Apps VPN mode выбираешь нужные приложения, трафик которых будет заворачиваться через SS.
6.3) iOS: есть какая-то стрёмная хуита на китайском. Составитель этого гайда за неё не ручается, используйте на свой страх и риск.
6.4) MacOS: ShadowsocksX-NG
6.5) OpenWRT: opkg install shadowsocks-libev
Дальнейшая настройка идентична обычному способу из п6.6
6.6) *nix: быстрый и простой способ через ГУЙ - shadowsocks-qt5 (github)
Однако, он не умеет в Simple-OBFS и вообще в плагины (обещают реализовать в следующем мажорном апдейте). Если тебе нужна обфускация, то делаешь как написано дальше.
Обычный способ: повторяешь пункт 4 (с адаптацией под свой дистрибутив).
Заполняешь конфиг по аналогии с серверным:
sudo nano /etc/shadowsocks-libev/config.json
Добавь строчку "local_port":1080, где-нибудь между строчками.
После выхода из редактора цепляй этот конфиг к SS:
sudo ss-local -c /etc/shadowsocks-libev/config.json
Опционально можно добавить сервис, чтобы соединение было всегда после перезагрузки:
sudo nano /etc/systemd/system/ss-local.service
Вставляем это:
[Unit] Description=Daemon to start Shadowsocks Client Wants=network-online.target After=network.target [Service] Type=simple ExecStart=/usr/bin/ss-local -c /etc/shadowsocks-libev/config.json [Install] WantedBy=multi-user.target
Выходим с сохранением, выполняем:
sudo systemctl daemon-reload && sudo systemctl enable ss-local.service && sudo systemctl start ss-local.service
7) Скачиваешь для Chrome и/или Firefox аддон SwitchyOmega.
Открываешь его настройки (ЛКМ по иконке - Options)
Profiles - New profile...
Profile name: пишешь что угодно
Profile type: Proxy Profile
Protocol: SOCKS5
Server: 127.0.0.1
Port: тот, что поставил в 6 пункте, по дефолту 1080
Жмешь Apply Changes.
Снова тапаешь ЛКМ по иконке - выбираешь свой профиль.
Устанавливаем Simple-OBFS
Simple-OBFS необходим для того, чтобы наебать провайдера, который троттлит или дропает трафик SS. Настоятельно рекомендуется к установке (даже если у вас и без него всё работает нормально - не исключено, что завтра работать уже не будет).
1) Цепляемся к серверу по SSH. Выполняем:
apt install --no-install-recommends build-essential git autoconf libtool libssl-dev libpcre3-dev libc-ares-dev libev-dev asciidoc xmlto automake -y && git clone https://github.com/shadowsocks/simple-obfs.git && cd simple-obfs && git submodule update --init --recursive && ./autogen.sh && ./configure && make && make install
После установки снова открываем конфиг SS:
nano /etc/shadowsocks-libev/config.json
Между строк reuse_port и mode добавляем:
"plugin":"obfs-server", "plugin_opts":"obfs=tls",
Выходим с сохранением. Выдаём права Simple-OBFS и перезапускаем shadowsocks:
setcap cap_net_bind_service+ep /usr/local/bin/obfs-server && systemctl enable shadowsocks-libev.service && systemctl restart shadowsocks-libev
2) Установка на клиентах:
2.1) Windows: скачиваешь obfs-local.zip отсюда
Распаковываешь его в ту же папку, что и shadowsocks. Щелкаешь ПКМ по самолету - Servers - Edit Servers. Добавляешь значения к полям:
Plugin: obfs-local Plugin Options: obfs=tls
Перезапускаешь клиент shadowsocks.
2.2) Android: Google Play (.apk)
После установки заходишь в SS, в профиле сервера выбираешь плагином Simple obfuscation. После идёшь в Configure и в параметре Obfuscation wrapper выбираешь tls. Сохраняешь профиль, перезапускаешь SS.
2.3) iOS: ??? (знающие аноны, отпишитесь в тред)
2.4) *nix: читаешь здесь инструкции под свой дистрибутив.
Какие ещё способы обхода блокировок есть?
- Скрипт автоматической установки и настройки OpenVPN сервера и прозрачного прокси-сервера 3Proxy
- OpenVPN installer for Debian, Ubuntu, Fedora, CentOS and Arch Linux - setup your own secure VPN server in just a few minutes
- Пердолинг-tier гайд по настройке privoxy. Зачем он нужен - никто не знает.
- Очень простой способ скрипт автоустановки shadowsocks. Все инструкции на китайском, трахайтесь с этим как хотите.
- Очень сложный проект по разворачиванию целой пачки всего со всем для обеспечения антицензуры и прочего. Требует много пердолинга и танцев с бубном.