Устанавливаем shadowsocks всем двачем

Устанавливаем shadowsocks всем двачем

special for 2ch.hk/s

Почему именно shadowsocks?

1) Быстрее OpenVPN (даже без обфускации и через UDP)
2)
Даже без обфускации не детектится Великим Китайским Фаерволлом!
3)
С обфускацией, которая ставится в несколько простых шагов, дает пососать абсолютно всем.

По скорости:

  • SSH ≈ SS > OVPN-UDP > говно > моча > SOFTETHER

И как это всё развернуть?

1) Берёшь дешевый VPS. Посмотреть их список можно на lowendstock.com
Эмпирическим путем было выяснено, что необходимый минимум RAM для нормально работы составляет 256мб. В теории, можно заставить работать и на 128мб, но тогда про обфускацию и прочие плюшки можешь сразу забыть. Также, необходим 1 адрес ipv4 (он не должен быть за NAT!). И еще желательно хотя-бы одно полноценное ядро процессора.

2) В панели управления сервером выбираем Ubuntu 16.04-17.04 или Debian 7-8

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 порт

Логин и пароль тебе даст хостер. Кто-то показывает его в панели управления, кто-то присылает по почте.

4) Устанавливаем SS на сервере:

sudo apt update && sudo apt upgrade -y && sudo apt install software-properties-common -y && sudo add-apt-repository ppa:max-c-lv/shadowsocks-libev && sudo apt update && sudo apt install shadowsocks-libev -y

НАЖАТЬ ENTER ПО ЗАПРОСУ!

5) Настраиваем SS:

sudo nano /etc/shadowsocks-libev/config.json
  • Если вместо открывшегося файла тебе выбило bash: nano: command not found - выполни команду sudo apt-get install nano

В открывшемся файле подставляешь следующие значения:

{
"server":"пишешь_сюда_адрес_твоего_сервера",
"server_port":443,
"password":"копируешь_тот_что_сгенерирован",
"timeout":30,
"method":"chacha20-ietf-poly1305",
"fast_open":true,
"reuse_port": true,
"mode": "tcp_and_udp"
}

Выходишь из редактора через Ctrl+X, сохраняешь файл на Y. Далее перезапускаем SS:

sudo systemctl enable shadowsocks-libev.service && sudo 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.
Далее выполняешь

nano /etc/shadowsocks-libev/config.json

Заполняем по аналогии с серверным, но добавляем строчку "local_port":1080, где-нибудь между строчками.
После выхода из редактора выполняем

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[Unit]
Description=Daemon to start Shadowsocks Client
Wants=network-online.target
After=network.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.
Снова тапаешь ЛКМ по иконке - выбираешь свой профиль.
Заходишь на 2ip.ru. Если там будет IP твоего сервера - значит ты умница и настроил все правильно.


Некоторые вопросы и ответы на них

Вынесено на отдельную страницу: http://telegra.ph/Nekotorye-voprosy-i-otvety-na-nih-02-20


Устанавливаем Simple-OBFS

1) Цепляемся к серверу по SSH. Выполняем:

sudo apt install --no-install-recommends build-essential git autoconf libtool libssl-dev libpcre3-dev libc-ares-dev libev-dev asciidoc xmlto automake -y && sudo git clone https://github.com/shadowsocks/simple-obfs.git && cd simple-obfs && sudo git submodule update --init --recursive && sudo ./autogen.sh && sudo ./configure && sudo make && sudo make install

После установки снова открываем конфиг SS:

sudo nano /etc/shadowsocks-libev/config.json

Между строк reuse_port и mode добавляем:

"plugin":"obfs-server",
"plugin_opts":"obfs=tls",

Выходим с сохранением. Выдаём права Simple-OBFS и перезапускаем shadowsocks:

sudo setcap cap_net_bind_service+ep /usr/local/bin/obfs-server && sudo systemctl enable shadowsocks-libev.service && sudo 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: скачиваешь .apk
После установки заходишь в SS, в профиле сервера выбираешь плагином Simple obfuscation. После идёшь в Configure и в параметре Obfuscation wrapper выбираешь tls. Сохраняешь профиль, перезапускаешь SS.

2.3) iOS: ???

2.4) *nix: читаешь здесь инструкции под свой дистрибутив.


Какие ещё способы обхода блокировок есть?


Report Page