Advertisement
freedom_threand

Всевозможный пердолинг Xray

Mar 21st, 2022 (edited)
2,182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Всевозможный пердолинг Xray. Xray по vless и vmess через клаудфлер, а так же по vless в йоба XTLS режиме чтобы было еще быстрее. (бонусом голые теневые носочки иксрей эдишн)
  2.  
  3. -1. Зочем?
  4. В отличии от Shadowsocks с v2ray плагином умеет в обфускацию udp, по заявлениям разрабов более производителен за счет устранения лишнего слоя шифрования в случае с VLESS, а так же доработки ошибок v2ray с которого xray и был форкнут; проще установка и настройка т.к. отпадает необходимость как в пердолинге самого SS так и в обмазывании его всевозможными плагинами, никакого зоопарка, один конфиг файл. В случае с VMESS результат будет идентичен этому https://pastebin.com/CpKBhNC3, только без лишней прослойки в виде shadowsocks и с меньшими телодвижениями.
  5.  
  6. 0. Подготовка:
  7. Получаем фриномовский домен и привязываем его к клаудфлер, см 1 и 2 части инструкции ss over cf в шапке ( https://telegra.ph/shadowsocks-over-cloudflare-05-17 )
  8. Помимо этого в дашборде CF нужно добавить поддомен - A запись webgame указывающая на ip впски и для этой же записи под proxy status переключить тумблер в состояние DNS Only.
  9.  
  10. 1. Устанавливаем xray и nginx на своей впсочке:
  11. Коннектимся к серверу, в консоли на своей пеке вводим:
  12. ssh root@<ip впски> - попросит пароль от рута
  13. sudo apt update && sudo apt upgrade
  14. sudo apt -y install curl git nginx libnginx-mod-stream - ставим вебсервер и прочие штуки которые нам понадобятся
  15. bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install - ставим xray
  16. cd /var/www
  17. git clone https://github.com/gd4Ark/2048.git 2048 - наша страничка-пустышка для товарища фринома/товарища майора/товарища Xi.
  18.  
  19. 2. Настраиваем nginx (<домен> заменить на свой домен):
  20. sudo rm /etc/nginx/sites-available/default && sudo rm /etc/nginx/sites-enabled/default - удаляем дефолтный конфиг
  21. sudo nano /etc/nginx/sites-available/<домен> - вставляем следующее
  22.  
  23. server {
  24.     listen 80;
  25.     #listen [::]:80;
  26.     server_name <домен>;
  27.     root /var/www/2048;
  28.     index index.html;
  29. }
  30.  
  31. Сохраняем ctrl + o, закрываем ctrl + x
  32. sudo ln -s /etc/nginx/sites-available/<домен> /etc/nginx/sites-enabled/ - включаем сайт
  33. sudo nano /etc/nginx/sites-available/webgame.<домен> - вставляем следующее
  34.  
  35. server {
  36.     listen 80;
  37.     #listen [::]:80;
  38.     server_name webgame.<домен>;
  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.  
  47. 3. Получаем lets encrypt сертификат (<домен> заменить на свой домен):
  48. sudo apt install snapd
  49. sudo snap install --classic certbot
  50. sudo ln -s /snap/bin/certbot /usr/bin/certbot
  51. sudo certbot --nginx - делаем два раза, для основного домена и для поддомена.
  52.  
  53. Копируем сертификаты в удобное для xray место и делаем копирование автоматическим при их обновлении
  54. nano /etc/letsencrypt/renewal-hooks/post/001-copy-cert.sh - вставляем:
  55.  
  56. #!/bin/bash
  57. cp /etc/letsencrypt/live/webgame.<домен>/fullchain.pem /usr/local/etc/xray/fullchain.pem
  58. cp /etc/letsencrypt/live/webgame.<домен>/privkey.pem /usr/local/etc/xray/privkey.pem
  59. chown nobody:nogroup /usr/local/etc/xray/fullchain.pem
  60. chown nobody:nogroup /usr/local/etc/xray/privkey.pem
  61.  
  62. Сохраняем ctrl + o, закрываем ctrl + x
  63. sudo sh /etc/letsencrypt/renewal-hooks/post/001-copy-cert.sh
  64.  
  65. 4.Еще раз правим конфиги nginx (<домен> заменить на свой домен):
  66. sudo nano /etc/nginx/nginx.conf - вставляем в самый конец
  67.  
  68. stream {
  69.         map $ssl_preread_server_name $example_multi {
  70.                 webgame.<домен> xtls;
  71.                 <домен> xrayovercf;
  72.         }
  73.         upstream xtls {
  74.                 server 127.0.0.1:20001;
  75.         }
  76.         upstream xrayovercf {
  77.                 server 127.0.0.1:20002;
  78.         }
  79.         server {
  80.                 listen 443      reuseport;
  81.                 #listen [::]:443 reuseport;
  82.                 proxy_pass      $example_multi;
  83.                 ssl_preread     on;
  84.         }
  85. }
  86.  
  87. Сохраняем ctrl + o, закрываем ctrl + x
  88. sudo nano /etc/nginx/sites-available/<домен> - удаляем все и вставляем следующее
  89.  
  90. server {
  91.         listen 80;
  92.         server_name <домен>;
  93.         if ($host = <домен>) {
  94.                 return 301 https://$host$request_uri;
  95.         }
  96.         return 404;
  97. }
  98.  
  99. server {
  100.         listen 127.0.0.1:20002 ssl;
  101.         server_name <домен>;
  102.         index index.html;
  103.         root /var/www/2048;
  104.  
  105.         ssl_certificate /etc/letsencrypt/live/<домен>/fullchain.pem;
  106.         ssl_certificate_key /etc/letsencrypt/live/<домен>/privkey.pem;
  107.         include /etc/letsencrypt/options-ssl-nginx.conf;
  108.         ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
  109.  
  110.         location /vless {
  111.             proxy_redirect off;
  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.             proxy_set_header Connection "upgrade";
  117.         }
  118.  
  119.         location /vmess {
  120.             proxy_redirect off;
  121.             proxy_http_version 1.1;
  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.         }
  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)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement