SHOW:
|
|
- or go back to the newest paste.
| 1 | - | Пердолинг shadowsocks с v2ray плагином через cloudflare в tls режиме с nginx перед ss для Ubuntu. |
| 1 | + | Всевозможный пердолинг Xray. Xray по vless и vmess через клаудфлер, а так же по vless в йоба XTLS режиме чтобы было еще быстрее. (бонусом голые теневые носочки иксрей эдишн) |
| 2 | ||
| 3 | -1. Зочем? | |
| 4 | - | Получаем фриномовский домен и привязываем его к клауде, см 1 и 2 части инструкции ss over cf в шапке (https://telegra.ph/shadowsocks-over-cloudflare-05-17) |
| 4 | + | В отличии от Shadowsocks с v2ray плагином умеет в обфускацию udp, по заявлениям разрабов более производителен за счет устранения лишнего слоя шифрования в случае с VLESS, а так же доработки ошибок v2ray с которого xray и был форкнут; проще установка и настройка т.к. отпадает необходимость как в пердолинге самого SS так и в обмазывании его всевозможными плагинами, никакого зоопарка, один конфиг файл. В случае с VMESS результат будет идентичен этому https://pastebin.com/CpKBhNC3, только без лишней прослойки в виде shadowsocks и с меньшими телодвижениями. |
| 5 | - | Скачиваем и устанавливаем Shadowsocks клиент и плагин к нему - виндусятники берут по ссылкам https://github.com/shadowsocks/shadowsocks-windows/releases/latest и https://github.com/shadowsocks/v2ray-plugin/releases/latest (разархивируем в папку с клиентом и переименовываем в v2ray.exe), жмупинусники делают у себя на пеках пункты 4 и 4.5 (кроме конфига, его брать из пункта 5) |
| 5 | + | |
| 6 | - | Скачиваем и распаковываем странички нашего сайта https://anonfiles.com/g0c4Eblaud (если очень хочется, можно использовать свои хтмлки) |
| 6 | + | |
| 7 | Получаем фриномовский домен и привязываем его к клаудфлер, см 1 и 2 части инструкции ss over cf в шапке ( https://telegra.ph/shadowsocks-over-cloudflare-05-17 ) | |
| 8 | - | 1. Устанавливаем nginx на своей впсочке: |
| 8 | + | Помимо этого в дашборде CF нужно добавить поддомен - A запись webgame указывающая на ip впски и для этой же записи под proxy status переключить тумблер в состояние DNS Only. |
| 9 | ||
| 10 | 1. Устанавливаем xray и nginx на своей впсочке: | |
| 11 | Коннектимся к серверу, в консоли на своей пеке вводим: | |
| 12 | - | sudo apt install nginx |
| 12 | + | |
| 13 | sudo apt update && sudo apt upgrade | |
| 14 | - | 2. Перекидываем хтмлки на сервак(<домен> заменить на свой домен): |
| 14 | + | sudo apt -y install curl git nginx libnginx-mod-stream - ставим вебсервер и прочие штуки которые нам понадобятся |
| 15 | - | В консоли своей впски вводим: |
| 15 | + | bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install - ставим xray |
| 16 | - | sudo mkdir /var/www/<домен> |
| 16 | + | cd /var/www |
| 17 | - | exit - закрываем ssh соединение |
| 17 | + | git clone https://github.com/gd4Ark/2048.git 2048 - наша страничка-пустышка для товарища фринома/товарища майора/товарища Xi. |
| 18 | - | В консоли на своей пеке вводим: |
| 18 | + | |
| 19 | - | scp <путь/к/распакованным/хтмлкам> root@<ip впски>:/var/www/<домен>/ |
| 19 | + | 2. Настраиваем nginx (<домен> заменить на свой домен): |
| 20 | sudo rm /etc/nginx/sites-available/default && sudo rm /etc/nginx/sites-enabled/default - удаляем дефолтный конфиг | |
| 21 | - | 3. Настраиваем nginx чтобы показывал нашу страничку (<домен> заменить на свой домен): |
| 21 | + | |
| 22 | - | ssh root@<ip впски> - снова подключаемся к нашей впс по ssh |
| 22 | + | |
| 23 | server {
| |
| 24 | listen 80; | |
| 25 | #listen [::]:80; | |
| 26 | server_name <домен>; | |
| 27 | root /var/www/2048; | |
| 28 | index index.html; | |
| 29 | } | |
| 30 | - | root /var/www/<домен>; |
| 30 | + | |
| 31 | Сохраняем ctrl + o, закрываем ctrl + x | |
| 32 | sudo ln -s /etc/nginx/sites-available/<домен> /etc/nginx/sites-enabled/ - включаем сайт | |
| 33 | - | location /anime {
|
| 33 | + | sudo nano /etc/nginx/sites-available/webgame.<домен> - вставляем следующее |
| 34 | - | proxy_redirect off; |
| 34 | + | |
| 35 | - | proxy_http_version 1.1; |
| 35 | + | |
| 36 | - | proxy_pass http://localhost:8008; |
| 36 | + | |
| 37 | - | proxy_set_header Host $http_host; |
| 37 | + | |
| 38 | - | proxy_set_header Upgrade $http_upgrade; |
| 38 | + | server_name webgame.<домен>; |
| 39 | - | proxy_set_header Connection "upgrade"; |
| 39 | + | root /var/www/2048; |
| 40 | index index.html; | |
| 41 | } | |
| 42 | ||
| 43 | Сохраняем ctrl + o, закрываем ctrl + x | |
| 44 | sudo ln -s /etc/nginx/sites-available/webgame.<домен> /etc/nginx/sites-enabled/ - включаем сайт | |
| 45 | sudo systemctl restart nginx - рестартим энжиникс | |
| 46 | - | Открываем свой сайт в браузере и убеждаемся в том, что все работает. |
| 46 | + | |
| 47 | 3. Получаем lets encrypt сертификат (<домен> заменить на свой домен): | |
| 48 | sudo apt install snapd | |
| 49 | - | 4. Ставим носки: |
| 49 | + | |
| 50 | - | sudo mkdir /etc/ss-go - создаем папку под бинарники сс |
| 50 | + | |
| 51 | - | sudo wget https://github.com/shadowsocks/go-shadowsocks2/releases/download/v0.1.4/shadowsocks2-linux.gz - качаем бинарник сс с гитхаба |
| 51 | + | sudo certbot --nginx - делаем два раза, для основного домена и для поддомена. |
| 52 | - | sudo gzip -d shadowsocks2-linux.gz - распакуем архив сс-го |
| 52 | + | |
| 53 | - | sudo mv shadowsocks2-linux /etc/ss-go/ss-go - переносим и переименуем бинарник |
| 53 | + | Копируем сертификаты в удобное для xray место и делаем копирование автоматическим при их обновлении |
| 54 | - | sudo chmod +x /etc/ss-go/ss-go - делаем бинарник исполняемым |
| 54 | + | nano /etc/letsencrypt/renewal-hooks/post/001-copy-cert.sh - вставляем: |
| 55 | - | sudo setcap “cap_net_bind_service=+eip” /etc/ss-go/ss-go - повышаем права сс и позволяем ему занимать привилегированные порты |
| 55 | + | |
| 56 | #!/bin/bash | |
| 57 | - | 4.5 v2ray плагин к носкам: |
| 57 | + | cp /etc/letsencrypt/live/webgame.<домен>/fullchain.pem /usr/local/etc/xray/fullchain.pem |
| 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) |
| 58 | + | cp /etc/letsencrypt/live/webgame.<домен>/privkey.pem /usr/local/etc/xray/privkey.pem |
| 59 | - | sudo tar -xf v2ray-plugin-linux-amd64-v1.3.1.tar.gz - разархивируем сам плагин, тут опять же может быть другой файл в зависимости от скачиваемой версии. |
| 59 | + | chown nobody:nogroup /usr/local/etc/xray/fullchain.pem |
| 60 | - | sudo mv v2ray-plugin_linux_amd64 /etc/ss-go/v2ray-plugin - переносим и переименуем плагин. |
| 60 | + | chown nobody:nogroup /usr/local/etc/xray/privkey.pem |
| 61 | - | sudo setcap 'cap_net_bind_service=+eip' /etc/ss-go/v2ray-plugin - даем возможность v2ray-плагину занимать привилегированные порты. |
| 61 | + | |
| 62 | - | sudo nano /etc/systemd/system/ss-v2ray.service - вставляем следующее (вместо <пароль> нужно придумать пароль): |
| 62 | + | |
| 63 | sudo sh /etc/letsencrypt/renewal-hooks/post/001-copy-cert.sh | |
| 64 | - | [Unit] |
| 64 | + | |
| 65 | - | Description=Go-shadowsocks2 with V2RAY-websocket obfuscation |
| 65 | + | 4.Еще раз правим конфиги nginx (<домен> заменить на свой домен): |
| 66 | - | After=network.target |
| 66 | + | sudo nano /etc/nginx/nginx.conf - вставляем в самый конец |
| 67 | ||
| 68 | - | [Service] |
| 68 | + | stream {
|
| 69 | - | Type=simple |
| 69 | + | map $ssl_preread_server_name $example_multi {
|
| 70 | - | User=nobody |
| 70 | + | webgame.<домен> xtls; |
| 71 | - | Group=nogroup |
| 71 | + | <домен> xrayovercf; |
| 72 | - | LimitNOFILE=51200 |
| 72 | + | |
| 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" |
| 73 | + | upstream xtls {
|
| 74 | server 127.0.0.1:20001; | |
| 75 | - | [Install] |
| 75 | + | |
| 76 | - | WantedBy=multi-user.target |
| 76 | + | upstream xrayovercf {
|
| 77 | server 127.0.0.1:20002; | |
| 78 | } | |
| 79 | - | sudo systemctl enable ss-v2ray.service - включаем сервис |
| 79 | + | server {
|
| 80 | listen 443 reuseport; | |
| 81 | #listen [::]:443 reuseport; | |
| 82 | proxy_pass $example_multi; | |
| 83 | - | Конфиг клиента для пользователей виндовс (<домен> заменить на свой домен, <пароль> на придуманный ранее пароль): |
| 83 | + | ssl_preread on; |
| 84 | } | |
| 85 | - | server addr - <домен> |
| 85 | + | |
| 86 | - | server port - 443 |
| 86 | + | |
| 87 | - | password - <пароль> |
| 87 | + | |
| 88 | - | encryption - chacha20-ietf-poly1305 |
| 88 | + | sudo nano /etc/nginx/sites-available/<домен> - удаляем все и вставляем следующее |
| 89 | - | plugin program - v2ray |
| 89 | + | |
| 90 | - | plugin options - tls;host=<домен>;path=/anime |
| 90 | + | |
| 91 | - | proxy port - локальный порт куда будем направлять браузер (по дефолту 1080, можно не трогать) |
| 91 | + | listen 80; |
| 92 | server_name <домен>; | |
| 93 | - | Конфиг клиента для пользователей линукс (<домен> и <пароль> заменить на свои домен и пароль): |
| 93 | + | if ($host = <домен>) {
|
| 94 | return 301 https://$host$request_uri; | |
| 95 | - | sudo nano /etc/systemd/system/ss-v2ray.service - вставляем: |
| 95 | + | |
| 96 | return 404; | |
| 97 | - | [Unit] |
| 97 | + | |
| 98 | - | Description=Daemon to start Shadowsocks Client with v2ray plugin |
| 98 | + | |
| 99 | - | Wants=network-online.target |
| 99 | + | |
| 100 | - | After=network.target |
| 100 | + | listen 127.0.0.1:20002 ssl; |
| 101 | server_name <домен>; | |
| 102 | - | [Service] |
| 102 | + | index index.html; |
| 103 | - | Type=simple |
| 103 | + | root /var/www/2048; |
| 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" |
| 104 | + | |
| 105 | ssl_certificate /etc/letsencrypt/live/<домен>/fullchain.pem; | |
| 106 | - | [Install] |
| 106 | + | ssl_certificate_key /etc/letsencrypt/live/<домен>/privkey.pem; |
| 107 | - | WantedBy=multi-user.target |
| 107 | + | include /etc/letsencrypt/options-ssl-nginx.conf; |
| 108 | ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; | |
| 109 | ||
| 110 | - | sudo systemctl enable ss-v2ray.service - включаем сервис клиента |
| 110 | + | location /vless {
|
| 111 | proxy_redirect off; | |
| 112 | - | 6. Получаем lets encrypt сертификат: |
| 112 | + | proxy_http_version 1.1; |
| 113 | proxy_pass http://localhost:11111; | |
| 114 | proxy_set_header Host $http_host; | |
| 115 | proxy_set_header Upgrade $http_upgrade; | |
| 116 | - | sudo certbot --nginx |
| 116 | + | proxy_set_header Connection "upgrade"; |
| 117 | - | После этого в консолечке должно быть поздравление о том, что все прошло успешно, и путь до сертификата. |
| 117 | + | |
| 118 | ||
| 119 | - | sudo systemctl restart nginx - рестартим энжинкс |
| 119 | + | location /vmess {
|
| 120 | - | sudo systemctl restart ss-v2ray - рестартим v2ray (пердольки на линуксе тыкают в своей консоли тоже самое чтобы запустить клиент) |
| 120 | + | proxy_redirect off; |
| 121 | proxy_http_version 1.1; | |
| 122 | - | 7. Настраиваем клауду: |
| 122 | + | proxy_pass http://localhost:11112; |
| 123 | proxy_set_header Host $http_host; | |
| 124 | proxy_set_header Upgrade $http_upgrade; | |
| 125 | proxy_set_header Connection "upgrade"; | |
| 126 | - | Ставим прокси расширение для браузера (например Proxy SwitchyOmega, протокол - socks5, сервер - 127.0.0.1, порт - 1080) |
| 126 | + | |
| 127 | - | Все! Если перейти на свой сайт, он должен открыться через https. Теперь провайдер видит как от вас к серверам клауды идет настоящий https, при этом если фрином решит просканировать наш домен, он найдет нашу страничку и пройдет мимо (фрином может отобрать домен, если ничего не найдет). |
| 127 | + | |
| 128 | } | |
| 129 | ||
| 130 | Сохраняем ctrl + o, закрываем ctrl + x | |
| 131 | sudo nano /etc/nginx/sites-available/webgame.<домен> - удаляем все и вставляем следующее | |
| 132 | ||
| 133 | server {
| |
| 134 | listen 80; | |
| 135 | server_name webgame.<домен>; | |
| 136 | if ($host = webgame.<домен>) {
| |
| 137 | return 301 https://$host$request_uri; | |
| 138 | } | |
| 139 | return 404; | |
| 140 | } | |
| 141 | ||
| 142 | server {
| |
| 143 | listen 127.0.0.1:20009; | |
| 144 | server_name webgame.<домен>; | |
| 145 | index index.html; | |
| 146 | root /var/www/2048; | |
| 147 | } | |
| 148 | Сохраняем ctrl + o, закрываем ctrl + x | |
| 149 | sudo systemctl restart nginx - рестартим энжиникс | |
| 150 | ||
| 151 | 5. Настраиваем xray: | |
| 152 | cat /proc/sys/kernel/random/uuid - генерим uuid и куда-нибудь сохраняем, это будет наш пароль. | |
| 153 | sudo nano /usr/local/etc/xray/config.json - вставляем следующее (не забываем менять <пароль> на сгенерированный uuid): | |
| 154 | ||
| 155 | {
| |
| 156 | "inbounds": [ | |
| 157 | {
| |
| 158 | "port": 8080, | |
| 159 | "protocol": "shadowsocks", | |
| 160 | "settings": {
| |
| 161 | "clients": [ | |
| 162 | {
| |
| 163 | "password": "<пароль>", | |
| 164 | "method": "chacha20-poly1305" | |
| 165 | } | |
| 166 | ], | |
| 167 | "network": "tcp,udp" | |
| 168 | } | |
| 169 | }, | |
| 170 | {
| |
| 171 | "listen": "127.0.0.1", | |
| 172 | "port": 20001, | |
| 173 | "protocol": "vless", | |
| 174 | "settings": {
| |
| 175 | "clients": [ | |
| 176 | {
| |
| 177 | "id": "<пароль>", | |
| 178 | "flow": "xtls-rprx-direct", | |
| 179 | "level": 0 | |
| 180 | } | |
| 181 | ], | |
| 182 | "decryption": "none", | |
| 183 | "fallbacks": [ | |
| 184 | {
| |
| 185 | "dest": "20009" # port of fallback site | |
| 186 | } | |
| 187 | ] | |
| 188 | }, | |
| 189 | "streamSettings": {
| |
| 190 | "network": "tcp", | |
| 191 | "security": "xtls", | |
| 192 | "xtlsSettings": {
| |
| 193 | "alpn": [ | |
| 194 | "http/1.1" | |
| 195 | ], | |
| 196 | "certificates": [ | |
| 197 | {
| |
| 198 | "certificateFile": "/usr/local/etc/xray/fullchain.pem", # your domain cert, absolute path | |
| 199 | "keyFile": "/usr/local/etc/xray/privkey.pem" # your private key, absolute path | |
| 200 | } | |
| 201 | ] | |
| 202 | } | |
| 203 | } | |
| 204 | }, | |
| 205 | {
| |
| 206 | "port": 11111, | |
| 207 | "listen": "127.0.0.1", | |
| 208 | "protocol": "vless", | |
| 209 | "settings": {
| |
| 210 | "clients": [ | |
| 211 | {
| |
| 212 | "id": "<пароль>", | |
| 213 | "level": 0 | |
| 214 | } | |
| 215 | ], | |
| 216 | "decryption": "none" | |
| 217 | }, | |
| 218 | "streamSettings": {
| |
| 219 | "network": "ws", | |
| 220 | "security": "none", | |
| 221 | "wsSettings": {
| |
| 222 | "path": "/vless" | |
| 223 | } | |
| 224 | } | |
| 225 | }, | |
| 226 | {
| |
| 227 | "listen": "127.0.0.1", | |
| 228 | "port": 11112, | |
| 229 | "protocol": "vmess", | |
| 230 | "settings": {
| |
| 231 | "clients": [ | |
| 232 | {
| |
| 233 | "id": "<пароль>", | |
| 234 | "alterId": 64 | |
| 235 | } | |
| 236 | ] | |
| 237 | }, | |
| 238 | "streamSettings": {
| |
| 239 | "network": "ws", | |
| 240 | "security": "chacha20-poly1305", | |
| 241 | "wsSettings": {
| |
| 242 | "path": "/vmess" | |
| 243 | } | |
| 244 | } | |
| 245 | } | |
| 246 | ], | |
| 247 | "outbounds": [ | |
| 248 | {
| |
| 249 | "protocol": "freedom" | |
| 250 | } | |
| 251 | ] | |
| 252 | } | |
| 253 | ||
| 254 | Сохраняем ctrl + o, закрываем ctrl + x | |
| 255 | sudo systemctl restart xray - рестартим иксрей. | |
| 256 | ||
| 257 | ||
| 258 | 5. Настраиваем клиент: | |
| 259 | Пользователи виндовс берут клиент тут - https://github.com/2dust/v2rayN и распаковывают в удобное место. Если вместо интерфейса иероглифы, нажать на знак вопроса и выбрать ангельский язык. В настройках - Core: basic setting - смотрим какой у нас локальный порт и убеждаемся что стоит галочка напротив Enable UDP, в v2rayN settings - ставим галку напротив Automatically start at system startup и убеждаемся что Core Type выбран Xray. | |
| 260 | ||
| 261 | Добавляем shadowsocks - кнопка Servers - Add [Shadowsocks] server: | |
| 262 | Server Address - ip впски | |
| 263 | Server Port - 8080 | |
| 264 | Password - вспоминаем наш сгенерированый выше UUID | |
| 265 | Encryption - chacha20-poly1305 | |
| 266 | Alias - shadowsocks@<ip впски>:8080 | |
| 267 | ||
| 268 | Добавляем VLESS XTLS - кнопка Servers - Add [VLESS] server: | |
| 269 | Address - webgame.<домен> | |
| 270 | Port - 443 | |
| 271 | UUID - вспоминаем наш сгенерированый выше UUID | |
| 272 | Flow - xtls-rprx-direct | |
| 273 | Encryption - none | |
| 274 | Alias - XTLS@webgame.<домен>:443 | |
| 275 | Transport protocol - tcp | |
| 276 | Camouflage type - none | |
| 277 | Camouflage domain - webgame.<домен> | |
| 278 | Path - оставляем пустым | |
| 279 | TLS - xtls | |
| 280 | allowInsecure - false | |
| 281 | Остальное не трогаем | |
| 282 | ||
| 283 | Добавляем VLESS через CF - кнопка Servers - Add [VLESS] server: | |
| 284 | Address - <домен> | |
| 285 | Port - 443 | |
| 286 | UUID - вспоминаем наш сгенерированый выше UUID | |
| 287 | Flow - пусто | |
| 288 | Encryption - none | |
| 289 | Alias - VLESSoverCF@<домен>:443 | |
| 290 | Transport protocol - ws | |
| 291 | Camouflage type - none | |
| 292 | Camouflage domain - <домен> | |
| 293 | Path - /vless | |
| 294 | TLS - tls | |
| 295 | allowInsecure - false | |
| 296 | Остальное не трогаем | |
| 297 | ||
| 298 | Добавляем VMESS через CF - кнопка Servers - Add [VMess] server: | |
| 299 | Address - <домен> | |
| 300 | Port - 443 | |
| 301 | UUID - вспоминаем наш сгенерированый выше UUID | |
| 302 | Flow - пусто | |
| 303 | Encryption - chacha20-poly1305 | |
| 304 | Alias - VMESSoverCF@<домен>:443 | |
| 305 | Transport protocol - ws | |
| 306 | Camouflage type - none | |
| 307 | Camouflage domain - <домен> | |
| 308 | Path - /vmess | |
| 309 | TLS - tls | |
| 310 | allowInsecure - false | |
| 311 | Остальное не трогаем | |
| 312 | ||
| 313 | Для андроида существует https://github.com/2dust/v2rayNG - можно взять в гугловском плей сторе под тем же названием. | |
| 314 | На яблоко есть Shadowrocket | |
| 315 | Линуксоиды ебyтся в консолечку, как - написано на гитхабе проекта. | |
| 316 | ||
| 317 | 7. Настраиваем клаудфлер: | |
| 318 | В настройках своего домена на cloudflare, в разделе Crypto ставим Full(strict). | |
| 319 | Переходим на свой сайт, убеждаемся, что все работает. | |
| 320 | ||
| 321 | Ставим прокси расширение для браузера (например Proxy SwitchyOmega, протокол - socks5, сервер - 127.0.0.1, порт - 1080) |