Установка обфускатора cloak v.2xx

DISCLAIMER:

Гребаный медиум с уродским форматированием не позволяет копипастить с сохранением строк многострочные тексты. Те места, где нужно вставлять построчно в данном гайде, специально промаркированы как “вставлять построчно”
Этот гайд продолжение нижеследующего гайда, инструкцию по настройке самого сс-сервера ищи там. Предполагается, что ты как минимум выполнил шаг №0 из него.

Ставим сервер

  1. apt update && apt upgrade -y
    обновляем систему
  2. wget https://github.com/cbeuw/Cloak/releases/download/v2.1.1/ck-server-linux-amd64-2.1.1
    скачиваем серверный бинарник
  3. mv ck-server-linux-amd64-2.1.1 /etc/shadowsocks-libev/ck2-server
    переименовываем и переносим бинарник клоак в папку СС
  4. setcap “cap_net_bind_service=+eip” /etc/shadowsocks-libev/ck2-server && chmod +x /etc/shadowsocks-libev/ck2-server
    даем бинарнику СС права на занятие привелегированных портов (ниже 1024) и делаем его исполняемым

/etc/shadowsocks-libev/ck2-server -u > /etc/shadowsocks-libev/ck2-server.info && /etc/shadowsocks-libev/ck2-server -k >> /etc/shadowsocks-libev/ck2-server.info
генерируем UID (ID пользователя) и пару ключей, записываем это хозяйство в файл ck2-server.info
пользователей может быть больше одного, им можно выставлять лимиты по трафику и прочее, но мне это не интересно, разбирайтесь сами по кривым гайдам автора на гитхабе

Image for post
Image for post

7. wget https://raw.githubusercontent.com/cbeuw/Cloak/master/example_config/ckserver.json
качаем конфиг клоака с гитхаба (так проще, чем переносить с медиума)

8. mv ckserver.json /etc/shadowsocks-libev/ck2server.json
переименовываем и переносим конфиг сервера в папку СС

9. nano /etc/shadowsocks-libev/ck2server.json
правим конфиг:
в BindAddr можно поставить 0.0.0.0 или внешний адрес сервака, можно добавить и ipv6 если очень надо, стандартные порты 443 и 80 можно заменить на другие например (465 и 25), если планируется использовать несколько обфускаторов
в BypassUID вносится ID пользователя, для которого не применяются ограничения на трафик, если пользователь будет один прост ставь туда свой

Image for post
Image for post

10. проверяем работоспособность серверной части
/etc/shadowsocks-libev/ck2-server -c /etc/shadowsocks-libev/ck2server.json

Image for post
Image for post
все работает, теперь клоак слушает указанные адреса и порты

11. делаем сервис
nano /etc/systemd/system/ss-cloak2.service

вставлять построчно, ExecStart это одна строка:

[Unit]
After=network.target
[Service]
Type=simple
CapabilityBoundingSet=CAP_NET_BIND_SERVICE
AmbientCapabilities=CAP_NET_BIND_SERVICE
LimitNOFILE=51200
ExecStart=/etc/shadowsocks-libev/ck2-server -c "/etc/shadowsocks-libev/ck2server.json"[Install]
WantedBy=multi-user.target

12. включаем и стартуем сервис
systemctl restart ss-cloak2 && systemctl enable ss-cloak2

Image for post
Image for post
усе у порядки

Ставим клиент

1 пиздуем сюда https://github.com/cbeuw/Cloak/releases и качаем последнюю версию клиента ПОД СВОЮ ПЛАТФОРМУ
для шинды на момент написания последяя версия ck-client-windows-amd64–2.1.1.exe

1.1 под андроид клиент находится тут: https://github.com/cbeuw/Cloak-android/releases
под iOS клиента нету

edit: теперь для iOS можно использовать shadowrocket, они добавили клок.

2 помещаем экзешник в папку с клиентом СС, переименовываем в ck2.exe

3 качаем в папочку с клиентом файл https://raw.githubusercontent.com/cbeuw/Cloak/master/example_config/ckclient.json
переименовываем его в ck2.json, открываем текстовым редактором

В поле UID вносим первую строку из файла ck2-server.info с сервера, наш UID
В поле PublicKey вносим наш публичный ключ, первую часть до запятой из второй строки файла

4 открываем СС и добавляем новый сервер
в поле plugin program ставим ck2
в поле plugin options ставим путь к файлу с конфигом клиента типа “c:\shadowsocks\ck2.json”

5 в браузере устанавливаем прокси-плагин (например прокси свичи омега) и настраиваем проксирование на тот порт, где у нас висит сс (по дефолту 1080)

6 проверяем ip

Траблшутинг

если появляется ошибка типа пикрила, то значит у клиента очень сильное расхождение по времени с сервером (часовые пояса непричем), надо просто синхронизировать время с каким-то NTP сервером

Image for post
Image for post
ошибка появляющаяся при разнице во времени

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