freedom_threand

ss+v2ray behind nginx over cf

Mar 25th, 2019 (edited)
3,695
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 7.40 KB | None | 0 0
  1. Пердолинг shadowsocks с v2ray плагином через cloudflare с 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), жмупинусники делают у себя на пеках пункты 3 и 3.5 (кроме конфига, его брать из пункта 4)
  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. Ставим носки:
  22. ssh root@<ip впски> - снова подключаемся к нашей впс по ssh
  23. sudo mkdir /etc/ss-go - создаем папку под бинарники сс
  24. sudo wget https://github.com/shadowsocks/go-shadowsocks2/releases/download/v0.1.4/shadowsocks2-linux.gz - качаем бинарник сс с гитхаба
  25. sudo gzip -d shadowsocks2-linux.gz - распакуем архив сс-го
  26. sudo mv shadowsocks2-linux /etc/ss-go/ss-go - переносим и переименуем бинарник
  27. sudo chmod +x /etc/ss-go/ss-go - делаем бинарник исполняемым
  28. sudo setcap “cap_net_bind_service=+eip” /etc/ss-go/ss-go - повышаем права сс и позволяем ему занимать привилегированные порты
  29.  
  30. 3.5 v2ray плагин к носкам:
  31. 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)
  32. sudo tar -xf v2ray-plugin-linux-amd64-v1.3.1.tar.gz - разархивируем сам плагин, тут опять же может быть другой файл в зависимости от скачиваемой версии.
  33. sudo mv v2ray-plugin_linux_amd64 /etc/ss-go/v2ray-plugin - переносим и переименуем плагин.
  34. sudo setcap 'cap_net_bind_service=+eip' /etc/ss-go/v2ray-plugin - даем возможность v2ray-плагину занимать привилегированные порты.
  35. sudo nano /etc/systemd/system/ss-v2ray.service - вставляем следующее (вместо <пароль> нужно придумать пароль):
  36.  
  37. [Unit]
  38. Description=Go-shadowsocks2 with V2RAY-websocket obfuscation
  39. After=network.target
  40.  
  41. [Service]
  42. Type=simple
  43. User=nobody
  44. Group=nogroup
  45. LimitNOFILE=51200
  46. 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"
  47.  
  48. [Install]
  49. WantedBy=multi-user.target
  50.  
  51. Сохраняем ctrl + o, закрываем ctrl + x
  52. sudo systemctl enable ss-v2ray.service  - включаем сервис
  53.  
  54. 4. Настраиваем клиент:
  55. Конфиг клиента для пользователей виндовс (<домен> заменить на свой домен, <пароль> на придуманный ранее пароль):
  56. server addr - <домен>
  57. server port - 80
  58. password - <пароль>
  59. encryption - chacha20-ietf-poly1305
  60. plugin program - v2ray
  61. plugin options - host=<домен>;path=/anime
  62. proxy port - локальный порт куда будем направлять браузер (по дефолту 1080, можно не трогать)
  63.  
  64. Конфиг клиента для пользователей линукс (<домен> и <пароль> заменить на свои домен и пароль):
  65.  
  66. sudo nano /etc/systemd/system/ss-v2ray.service - вставляем:
  67.  
  68. [Unit]
  69. Description=Daemon to start Shadowsocks Client with v2ray plugin
  70. Wants=network-online.target
  71. After=network.target
  72.  
  73. [Service]
  74. Type=simple
  75. 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"
  76.  
  77. [Install]
  78. WantedBy=multi-user.target
  79.  
  80. sudo systemctl enable ss-v2ray.service - включаем сервис клиента
  81.  
  82. 5. Настраиваем nginx (<домен> заменить на свой домен):
  83. sudo rm /etc/nginx/sites-available/default && sudo rm /etc/nginx/sites-enabled/default - удаляем дефолтный конфиг
  84. sudo nano /etc/nginx/sites-available/<домен> - вставляем следующее:
  85.  
  86. server {
  87.         listen 80;
  88.         #listen [::]:80;
  89.         server_name <домен>;
  90.         root /var/www/<домен>;
  91.         index index.html;
  92.         location /anime {
  93.             proxy_redirect off;
  94.             proxy_http_version 1.1;
  95.             proxy_pass http://localhost:8008;
  96.             proxy_set_header Host $http_host;
  97.             proxy_set_header Upgrade $http_upgrade;
  98.             proxy_set_header Connection "upgrade";
  99.         }
  100.  
  101. }
  102.  
  103. Сохраняем ctrl + o, закрываем ctrl + x
  104. sudo ln -s /etc/nginx/sites-available/<домен> /etc/nginx/sites-enabled/ - включаем сайт
  105. sudo systemctl restart nginx - рестартим энжинкс
  106. sudo systemctl restart ss-v2ray - рестартим v2ray (пердольки на линуксе тыкают в своей консоли тоже самое чтобы запустить клиент)
  107. Переходим на свой сайт, убеждаемся, что все работает.
  108.  
  109. Ставим прокси расширение для браузера (например Proxy SwitchyOmega, протокол - socks5, сервер - 127.0.0.1, порт - 1080)
  110. Все! Теперь провайдер видит как от вас к серверам клауды идет обычный http, при этом если фрином решит просканировать наш домен, он найдет нашу страничку и пройдет мимо (фрином может отобрать домен, если ничего не найдет).
Add Comment
Please, Sign In to add comment