freedom_threand

ss+v2ray with tls behind nginx over cf

Mar 23rd, 2019 (edited)
2,764
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Пердолинг shadowsocks с v2ray плагином через cloudflare в tls режиме с nginx перед ss для Ubuntu.
  2.  
  3. 0. Подготовка:
  4. Получаем фриномовский домен и привязываем его к клауде, см 1 и 2 части инструкции ss over cf в шапке (https://telegra.ph/shadowsocks-over-cloudflare-05-17)
  5. Скачиваем и устанавливаем Shadowsocks клиент и плагин к нему - виндусятники берут по ссылкам https://github.com/shadowsocks/shadowsocks-windows/releases/latest и https://github.com/shadowsocks/v2ray-plugin/releases/latest (разархивируем в папку с клиентом и переименовываем в v2ray.exe), жмупинусники делают у себя на пеках пункты 4 и 4.5 (кроме конфига, его брать из пункта 5)
  6. Скачиваем и распаковываем странички нашего сайта https://anonfiles.com/g0c4Eblaud (если очень хочется, можно использовать свои хтмлки)
  7.  
  8. 1. Устанавливаем nginx на своей впсочке:
  9. Коннектимся к серверу, в консоли на своей пеке вводим:
  10. ssh root@<ip впски> - попросит пароль от рута
  11. sudo apt update && sudo apt upgrade
  12. sudo apt install nginx
  13.  
  14. 2. Перекидываем хтмлки на сервак(<домен> заменить на свой домен):
  15. В консоли своей впски вводим:
  16. sudo mkdir /var/www/<домен>
  17. exit - закрываем ssh соединение
  18. В консоли на своей пеке вводим:
  19. scp <путь/к/распакованным/хтмлкам> root@<ip впски>:/var/www/<домен>/
  20.  
  21. 3. Настраиваем nginx чтобы показывал нашу страничку (<домен> заменить на свой домен):
  22. ssh root@<ip впски> - снова подключаемся к нашей впс по ssh
  23. sudo rm /etc/nginx/sites-available/default && sudo rm /etc/nginx/sites-enabled/default - удаляем дефолтный конфиг
  24. sudo nano /etc/nginx/sites-available/<домен> - вставляем следующее
  25.  
  26. server {
  27.     listen 80;
  28.     #listen [::]:80;
  29.     server_name <домен>;
  30.     root /var/www/<домен>;
  31.     index index.html;
  32.  
  33.     location /anime {
  34.         proxy_redirect off;
  35.         proxy_http_version 1.1;
  36.         proxy_pass http://localhost:8008;
  37.         proxy_set_header Host $http_host;
  38.         proxy_set_header Upgrade $http_upgrade;
  39.         proxy_set_header Connection "upgrade";
  40.         }
  41. }
  42.  
  43. Сохраняем ctrl + o, закрываем ctrl + x
  44. sudo ln -s /etc/nginx/sites-available/<домен> /etc/nginx/sites-enabled/ - включаем сайт
  45. sudo systemctl restart nginx - рестартим энжиникс
  46. Открываем свой сайт в браузере и убеждаемся в том, что все работает.
  47.  
  48.  
  49. 4. Ставим носки:
  50. sudo mkdir /etc/ss-go - создаем папку под бинарники сс
  51. sudo wget https://github.com/shadowsocks/go-shadowsocks2/releases/download/v0.1.4/shadowsocks2-linux.gz - качаем бинарник сс с гитхаба
  52. sudo gzip -d shadowsocks2-linux.gz - распакуем архив сс-го
  53. sudo mv shadowsocks2-linux /etc/ss-go/ss-go - переносим и переименуем бинарник
  54. sudo chmod +x /etc/ss-go/ss-go - делаем бинарник исполняемым
  55. sudo setcap “cap_net_bind_service=+eip” /etc/ss-go/ss-go - повышаем права сс и позволяем ему занимать привилегированные порты
  56.  
  57. 4.5 v2ray плагин к носкам:
  58. sudo wget https://github.com/shadowsocks/v2ray-plugin/releases/download/v1.3.1/v2ray-plugin-linux-amd64-v1.3.1.tar.gz - скачиваем плагин (тут вместо "v1.3.1/v2ray-plugin-linux-amd64-v1.3.1.tar.gz" может быть что-то другое, последняя версия лежит тут https://github.com/shadowsocks/v2ray-plugin/releases/latest)
  59. sudo tar -xf v2ray-plugin-linux-amd64-v1.3.1.tar.gz - разархивируем сам плагин, тут опять же может быть другой файл в зависимости от скачиваемой версии.
  60. sudo mv v2ray-plugin_linux_amd64 /etc/ss-go/v2ray-plugin - переносим и переименуем плагин.
  61. sudo setcap 'cap_net_bind_service=+eip' /etc/ss-go/v2ray-plugin - даем возможность v2ray-плагину занимать привилегированные порты.
  62. sudo nano /etc/systemd/system/ss-v2ray.service - вставляем следующее (вместо <пароль> нужно придумать пароль):
  63.  
  64. [Unit]
  65. Description=Go-shadowsocks2 with V2RAY-websocket obfuscation
  66. After=network.target
  67.  
  68. [Service]
  69. Type=simple
  70. User=nobody
  71. Group=nogroup
  72. LimitNOFILE=51200
  73. ExecStart=/etc/ss-go/ss-go -s localhost:8008 -password <пароль> -cipher AEAD_CHACHA20_POLY1305 -plugin /etc/ss-go/v2ray-plugin -plugin-opts "server;loglevel=none;path=/anime"
  74.  
  75. [Install]
  76. WantedBy=multi-user.target
  77.  
  78. Сохраняем ctrl + o, закрываем ctrl + x
  79. sudo systemctl enable ss-v2ray.service  - включаем сервис
  80.  
  81. 5. Настраиваем клиент:
  82.  
  83. Конфиг клиента для пользователей виндовс (<домен> заменить на свой домен, <пароль> на придуманный ранее пароль):
  84.  
  85. server addr - <домен>
  86. server port - 443
  87. password - <пароль>
  88. encryption - chacha20-ietf-poly1305
  89. plugin program - v2ray
  90. plugin options - tls;host=<домен>;path=/anime
  91. proxy port - локальный порт куда будем направлять браузер (по дефолту 1080, можно не трогать)
  92.  
  93. Конфиг клиента для пользователей линукс (<домен> и <пароль> заменить на свои домен и пароль):
  94.  
  95. sudo nano /etc/systemd/system/ss-v2ray.service - вставляем:
  96.  
  97. [Unit]
  98. Description=Daemon to start Shadowsocks Client with v2ray plugin
  99. Wants=network-online.target
  100. After=network.target
  101.  
  102. [Service]
  103. Type=simple
  104. ExecStart=/etc/ss-go/ss-go -c <домен>:443 -password <пароль> -cipher AEAD_CHACHA20_POLY1305 -socks :1080 -plugin /etc/ss-go/v2ray-plugin -plugin-opts "tls;host=<домен>;path=/anime"
  105.  
  106. [Install]
  107. WantedBy=multi-user.target
  108.  
  109.  
  110. sudo systemctl enable ss-v2ray.service - включаем сервис клиента
  111.  
  112. 6. Получаем lets encrypt сертификат:
  113. sudo apt install snapd
  114. sudo snap install --classic certbot
  115. sudo ln -s /snap/bin/certbot /usr/bin/certbot
  116. sudo certbot --nginx
  117. После этого в консолечке должно быть поздравление о том, что все прошло успешно, и путь до сертификата.
  118.  
  119. sudo systemctl restart nginx - рестартим энжинкс
  120. sudo systemctl restart ss-v2ray - рестартим v2ray (пердольки на линуксе тыкают в своей консоли тоже самое чтобы запустить клиент)
  121.  
  122. 7. Настраиваем клауду:
  123. В настройках своего домена на cloudflare, в разделе Crypto ставим Full(strict).
  124. Переходим на свой сайт, убеждаемся, что все работает.
  125.  
  126. Ставим прокси расширение для браузера (например Proxy SwitchyOmega, протокол - socks5, сервер - 127.0.0.1, порт - 1080)
  127. Все! Если перейти на свой сайт, он должен открыться через https. Теперь провайдер видит как от вас к серверам клауды идет настоящий https, при этом если фрином решит просканировать наш домен, он найдет нашу страничку и пройдет мимо (фрином может отобрать домен, если ничего не найдет).
RAW Paste Data