From 5ec56c647ba45f37fd15cf29fae7c88bee5bc7d5 Mon Sep 17 00:00:00 2001 From: xVRVx <63975481+xVRVx@users.noreply.github.com> Date: Sun, 23 Nov 2025 22:43:45 +0300 Subject: [PATCH] Add files via upload --- old/autoXRAY.sh | 293 ++++++++++++++++++ old/autoXRAYno443.sh | 256 ++++++++++++++++ old/autoXRAYselfsteal.sh | 392 ++++++++++++++++++++++++ old/autoXRAYselfstealConfChina.sh | 484 ++++++++++++++++++++++++++++++ 4 files changed, 1425 insertions(+) create mode 100644 old/autoXRAY.sh create mode 100644 old/autoXRAYno443.sh create mode 100644 old/autoXRAYselfsteal.sh create mode 100644 old/autoXRAYselfstealConfChina.sh diff --git a/old/autoXRAY.sh b/old/autoXRAY.sh new file mode 100644 index 0000000..2748ed8 --- /dev/null +++ b/old/autoXRAY.sh @@ -0,0 +1,293 @@ +#!/bin/bash + +echo "Обновление и установка необходимых пакетов..." +apt update && apt install -y jq + +# Установка Xray +bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install + +# Определяем директорию скрипта +#SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &> /dev/null && pwd) +SCRIPT_DIR=/usr/local/etc/xray + +# Генерируем переменные +xray_uuid_vrv=$(xray uuid) +domains=(www.theregister.com www.20minutes.fr www.dealabs.com www.manomano.fr www.caradisiac.com www.techadvisor.com www.computerworld.com teamdocs.su wikiportal.su docscenter.su www.bing.com github.com tradingview.com) +xray_dest_vrv=${domains[$RANDOM % ${#domains[@]}]} +xray_dest_vrv222=${domains[$RANDOM % ${#domains[@]}]} + +key_output=$(xray x25519) +xray_privateKey_vrv=$(echo "$key_output" | awk -F': ' '/PrivateKey/ {print $2}') +xray_publicKey_vrv=$(echo "$key_output" | awk -F': ' '/Password/ {print $2}') + +key_mldsa65=$(xray mldsa65) +seed_mldsa65=$(echo "$key_mldsa65" | awk -F': ' '/Seed/ {print $2}') +verify_mldsa65=$(echo "$key_mldsa65" | awk -F': ' '/Verify/ {print $2}') + +xray_shortIds_vrv=$(openssl rand -hex 8) + +xray_sspasw_vrv=$(openssl rand -base64 15 | tr -dc 'A-Za-z0-9' | head -c 20) + +ipserv=$(hostname -I | awk '{print $1}') + + + +# Экспортируем переменные для envsubst +export xray_uuid_vrv xray_dest_vrv xray_dest_vrv222 xray_privateKey_vrv xray_publicKey_vrv xray_shortIds_vrv xray_sspasw_vrv + +# Создаем JSON конфигурацию на основе шаблона +#cat << 'EOF' | envsubst > output.json +# Создаем JSON конфигурацию на основе шаблона и сохраняем в папку скрипта +cat << 'EOF' | envsubst > "$SCRIPT_DIR/config.json" +{ + "log": { + "dnsLog": false, + "loglevel": "none" + }, + "dns": { + "servers": [ + "https+local://8.8.4.4/dns-query", + "https+local://8.8.8.8/dns-query", + "https+local://1.1.1.1/dns-query", + "localhost" + ], + "queryStrategy": "UseIPv4" + }, + "inbounds": [ + { + "tag": "VLESStcpREALITY", + "port": 443, + "listen": "0.0.0.0", + "protocol": "vless", + "settings": { + "clients": [ + { + "flow": "xtls-rprx-vision", + "id": "${xray_uuid_vrv}" + } + ], + "decryption": "none" + }, + "sniffing": { + "enabled": true, + "destOverride": [ + "http", + "tls", + "quic" + ] + }, + "streamSettings": { + "network": "raw", + "security": "reality", + "realitySettings": { + "show": false, + "xver": 0, + "target": "${xray_dest_vrv}:443", + "spiderX": "/", + "shortIds": [ + "${xray_shortIds_vrv}" + ], + "privateKey": "${xray_privateKey_vrv}", + "serverNames": [ + "${xray_dest_vrv}" + ], + "limitFallbackUpload": { + "afterBytes": 0, + "bytesPerSec": 65536, + "burstBytesPerSec": 0 + }, + "limitFallbackDownload": { + "afterBytes": 5242880, + "bytesPerSec": 262144, + "burstBytesPerSec": 2097152 + } + } + } + }, + { + "tag": "Vless8443", + "port": 8443, + "listen": "0.0.0.0", + "protocol": "vless", + "settings": { + "clients": [ + { + "flow": "xtls-rprx-vision", + "id": "${xray_uuid_vrv}" + } + ], + "decryption": "none" + }, + "sniffing": { + "enabled": true, + "destOverride": [ + "http", + "tls", + "quic" + ] + }, + "streamSettings": { + "network": "raw", + "security": "reality", + "realitySettings": { + "show": false, + "xver": 0, + "target": "${xray_dest_vrv222}:443", + "spiderX": "/", + "shortIds": [ + "${xray_shortIds_vrv}" + ], + "privateKey": "${xray_privateKey_vrv}", + "serverNames": [ + "${xray_dest_vrv222}" + ], + "limitFallbackUpload": { + "afterBytes": 0, + "bytesPerSec": 65536, + "burstBytesPerSec": 0 + }, + "limitFallbackDownload": { + "afterBytes": 5242880, + "bytesPerSec": 262144, + "burstBytesPerSec": 2097152 + } + } + } + }, + { + "tag": "ShadowsocksTCP", + "port": 2040, + "listen": "0.0.0.0", + "protocol": "shadowsocks", + "settings": { + "clients": [ + { + "password": "${xray_sspasw_vrv}", + "method": "chacha20-ietf-poly1305" + } + ] + }, + "sniffing": { + "enabled": true, + "destOverride": [ + "http", + "tls", + "quic" + ] + }, + "streamSettings": { + "network": "raw" + } + } + ], + "outbounds": [ + { + "tag": "direct", + "protocol": "freedom", + "settings": { + "domainStrategy": "ForceIPv4" + } + }, + { + "tag": "block", + "protocol": "blackhole" + } + ], + "routing": { + "rules": [ + { + "domain": [ + "geosite:category-ads", + "geosite:win-spy", + "geosite:private" + ], + "outboundTag": "block" + }, + { + "ip": [ + "geoip:private" + ], + "outboundTag": "block" + } + ] + } +} + +EOF + +# Перезапуск Xray +echo "Перезапуск Xray..." +systemctl restart xray +echo -e "Готово!\n" + +# Формирование ссылок для ТГ +link1="vless://${xray_uuid_vrv}@${ipserv}:443?security=reality%26sni=${xray_dest_vrv}%26fp=chrome%26pbk=${xray_publicKey_vrv}%26sid=${xray_shortIds_vrv}%26type=tcp%26flow=xtls-rprx-vision%26encryption=none#VPN-vless-443" + +link2="vless://${xray_uuid_vrv}@${ipserv}:8443?security=reality%26sni=${xray_dest_vrv222}%26fp=chrome%26pbk=${xray_publicKey_vrv}%26sid=${xray_shortIds_vrv}%26type=tcp%26flow=xtls-rprx-vision%26encryption=none#VPN-vless-8443" + +ENCODED_STRING=$(echo -n "chacha20-ietf-poly1305:${xray_sspasw_vrv}" | base64) +link3="ss://$ENCODED_STRING@${ipserv}:2040#VPN-ShadowS-2040" + + +userID=$1 +tgTOKEN=$2 + +if [ -n "$userID" ]; then +# Формируем сообщение (в Markdown для красивого вида) +message="VPN конфиги: + +1) $link1 + +2) $link2 + +3) $link3 + +№1 - самый надежный, остальные резервные! + +Клиентские приложения для работы VPN (куда нужно вставить конфиг): + +- iOS: Happ или v2rayTun или FoXray + +- Android: Happ или v2rayTun или v2rayNG + +- Windows: Happ или winLoadXRAY или Hiddify или Nekoray + +Сайт с инструкциями: blog.skybridge.run. + +Поддержать автора. +" + +# Отправка сообщения в Telegram +curl -s -X POST "https://api.telegram.org/bot$tgTOKEN/sendMessage" \ + -d chat_id="$userID" \ + -d text="$message" \ + -d parse_mode="HTML" \ + -d disable_web_page_preview=true +fi + +# Формирование ссылок для вывода +link1="vless://${xray_uuid_vrv}@${ipserv}:443?security=reality&sni=${xray_dest_vrv}&fp=chrome&pbk=${xray_publicKey_vrv}&sid=${xray_shortIds_vrv}&type=tcp&flow=xtls-rprx-vision&encryption=none&spx=%2F#VPN-vless-443-SNI" + +link2="vless://${xray_uuid_vrv}@${ipserv}:8443?security=reality&sni=${xray_dest_vrv222}&fp=chrome&pbk=${xray_publicKey_vrv}&sid=${xray_shortIds_vrv}&type=tcp&flow=xtls-rprx-vision&encryption=none&spx=%2F#VPN-vless-8443-SNI" + +ENCODED_STRING=$(echo -n "chacha20-ietf-poly1305:${xray_sspasw_vrv}" | base64) +link3="ss://$ENCODED_STRING@${ipserv}:2040#VPN-ShadowS-2040" + +echo -e " + +Ваши VPN конфиги. Первый - самый надежный, остальные резервные! + +\033[32m$link1\033[0m + +\033[32m$link2\033[0m + +\033[32m$link3\033[0m + +Скопируйте конфиг в специализированное приложение: +- iOS: Happ или v2RayTun или FoXray +- Android: Happ или v2RayTun или v2rayNG +- Windows: Happ & v2RayTun & winLoadXRAY & Throne + +Поддержать автора: https://github.com/xVRVx/autoXRAY + +" \ No newline at end of file diff --git a/old/autoXRAYno443.sh b/old/autoXRAYno443.sh new file mode 100644 index 0000000..1ba3c0e --- /dev/null +++ b/old/autoXRAYno443.sh @@ -0,0 +1,256 @@ +#!/bin/bash + +port1=${1:-4443} +port2=${2:-8443} +port3=${3:-2040} + +echo "port1: $port1" +echo "port2: $port2" +echo "port3: $port3" + +echo "Обновление и установка необходимых пакетов..." +apt update && apt install -y jq + +# Установка Xray +bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install + +# Определяем директорию скрипта +#SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &> /dev/null && pwd) +SCRIPT_DIR=/usr/local/etc/xray + +# Генерируем переменные +xray_uuid_vrv=$(xray uuid) +domains=(www.theregister.com www.20minutes.fr www.dealabs.com www.manomano.fr www.caradisiac.com www.techadvisor.com www.computerworld.com teamdocs.su wikiportal.su docscenter.su www.bing.com github.com tradingview.com) +xray_dest_vrv=${domains[$RANDOM % ${#domains[@]}]} +xray_dest_vrv222=${domains[$RANDOM % ${#domains[@]}]} + +key_output=$(xray x25519) +xray_privateKey_vrv=$(echo "$key_output" | awk -F': ' '/PrivateKey/ {print $2}') +xray_publicKey_vrv=$(echo "$key_output" | awk -F': ' '/Password/ {print $2}') + +key_mldsa65=$(xray mldsa65) +seed_mldsa65=$(echo "$key_mldsa65" | awk -F': ' '/Seed/ {print $2}') +verify_mldsa65=$(echo "$key_mldsa65" | awk -F': ' '/Verify/ {print $2}') + +xray_shortIds_vrv=$(openssl rand -hex 8) + +xray_sspasw_vrv=$(openssl rand -base64 15 | tr -dc 'A-Za-z0-9' | head -c 20) + +ipserv=$(hostname -I | awk '{print $1}') + + + +# Экспортируем переменные для envsubst +export xray_uuid_vrv xray_dest_vrv xray_dest_vrv222 xray_privateKey_vrv xray_publicKey_vrv xray_shortIds_vrv xray_sspasw_vrv port1 port2 port3 + +# Создаем JSON конфигурацию на основе шаблона +#cat << 'EOF' | envsubst > output.json +# Создаем JSON конфигурацию на основе шаблона и сохраняем в папку скрипта +cat << 'EOF' | envsubst > "$SCRIPT_DIR/config.json" +{ + "log": { + "dnsLog": false, + "loglevel": "none" + }, + "dns": { + "servers": [ + "https+local://8.8.4.4/dns-query", + "https+local://8.8.8.8/dns-query", + "https+local://1.1.1.1/dns-query", + "localhost" + ], + "queryStrategy": "UseIPv4" + }, + "inbounds": [ + { + "tag": "VTR$port1", + "port": ${port1}, + "listen": "0.0.0.0", + "protocol": "vless", + "settings": { + "clients": [ + { + "flow": "xtls-rprx-vision", + "id": "${xray_uuid_vrv}" + } + ], + "decryption": "none" + }, + "sniffing": { + "enabled": true, + "destOverride": [ + "http", + "tls", + "quic" + ] + }, + "streamSettings": { + "network": "raw", + "security": "reality", + "realitySettings": { + "show": false, + "xver": 0, + "target": "${xray_dest_vrv}:443", + "spiderX": "/", + "shortIds": [ + "${xray_shortIds_vrv}" + ], + "privateKey": "${xray_privateKey_vrv}", + "serverNames": [ + "${xray_dest_vrv}" + ], + "limitFallbackUpload": { + "afterBytes": 0, + "bytesPerSec": 65536, + "burstBytesPerSec": 0 + }, + "limitFallbackDownload": { + "afterBytes": 5242880, + "bytesPerSec": 262144, + "burstBytesPerSec": 2097152 + } + } + } + }, + { + "tag": "VTR$port2", + "port": ${port2}, + "listen": "0.0.0.0", + "protocol": "vless", + "settings": { + "clients": [ + { + "flow": "xtls-rprx-vision", + "id": "${xray_uuid_vrv}" + } + ], + "decryption": "none" + }, + "sniffing": { + "enabled": true, + "destOverride": [ + "http", + "tls", + "quic" + ] + }, + "streamSettings": { + "network": "raw", + "security": "reality", + "realitySettings": { + "show": false, + "xver": 0, + "target": "${xray_dest_vrv222}:443", + "spiderX": "/", + "shortIds": [ + "${xray_shortIds_vrv}" + ], + "privateKey": "${xray_privateKey_vrv}", + "serverNames": [ + "${xray_dest_vrv222}" + ], + "limitFallbackUpload": { + "afterBytes": 0, + "bytesPerSec": 65536, + "burstBytesPerSec": 0 + }, + "limitFallbackDownload": { + "afterBytes": 5242880, + "bytesPerSec": 262144, + "burstBytesPerSec": 2097152 + } + } + } + }, + { + "tag": "SS$port3", + "port": ${port3}, + "listen": "0.0.0.0", + "protocol": "shadowsocks", + "settings": { + "clients": [ + { + "password": "${xray_sspasw_vrv}", + "method": "chacha20-ietf-poly1305" + } + ] + }, + "sniffing": { + "enabled": true, + "destOverride": [ + "http", + "tls", + "quic" + ] + }, + "streamSettings": { + "network": "raw" + } + } + ], + "outbounds": [ + { + "tag": "direct", + "protocol": "freedom", + "settings": { + "domainStrategy": "ForceIPv4" + } + }, + { + "tag": "block", + "protocol": "blackhole" + } + ], + "routing": { + "rules": [ + { + "domain": [ + "geosite:category-ads", + "geosite:win-spy", + "geosite:private" + ], + "outboundTag": "block" + }, + { + "ip": [ + "geoip:private" + ], + "outboundTag": "block" + } + ] + } +} + +EOF + +# Перезапуск Xray +echo "Перезапуск Xray..." +systemctl restart xray +echo -e "Готово!\n" + +# Формирование ссылок для вывода +link1="vless://${xray_uuid_vrv}@${ipserv}:$port1?security=reality&sni=${xray_dest_vrv}&fp=chrome&pbk=${xray_publicKey_vrv}&sid=${xray_shortIds_vrv}&type=tcp&flow=xtls-rprx-vision&encryption=none&spx=%2F#VPN-vless-$port1-SNI" + +link2="vless://${xray_uuid_vrv}@${ipserv}:$port2?security=reality&sni=${xray_dest_vrv222}&fp=chrome&pbk=${xray_publicKey_vrv}&sid=${xray_shortIds_vrv}&type=tcp&flow=xtls-rprx-vision&encryption=none&spx=%2F#VPN-vless-$port2-SNI" + +ENCODED_STRING=$(echo -n "chacha20-ietf-poly1305:${xray_sspasw_vrv}" | base64) +link3="ss://$ENCODED_STRING@${ipserv}:$port3#VPN-ShadowS-$port3" + +echo -e " + +Ваши VPN конфиги. Первый - самый надежный, остальные резервные! + +\033[32m$link1\033[0m + +\033[32m$link2\033[0m + +\033[32m$link3\033[0m + +Скопируйте конфиг в специализированное приложение: +- iOS: Happ или v2RayTun или FoXray +- Android: Happ или v2RayTun или v2rayNG +- Windows: Happ & v2RayTun & winLoadXRAY & Throne + +Поддержать автора: https://github.com/xVRVx/autoXRAY + +" \ No newline at end of file diff --git a/old/autoXRAYselfsteal.sh b/old/autoXRAYselfsteal.sh new file mode 100644 index 0000000..9008210 --- /dev/null +++ b/old/autoXRAYselfsteal.sh @@ -0,0 +1,392 @@ +#!/bin/bash + +DOMAIN=$1 + +if [ -z "$DOMAIN" ]; then + echo "❌ Ошибка: домен не задан." + exit 1 +fi + +echo "Обновление и установка необходимых пакетов..." +apt update && apt install -y jq dnsutils + + +LOCAL_IP=$(hostname -I | awk '{print $1}') +DNS_IP=$(dig +short "$DOMAIN" | grep '^[0-9]') + +if [ "$LOCAL_IP" != "$DNS_IP" ]; then + echo "❌ Внимание: IP-адрес ($LOCAL_IP) не совпадает с A-записью $DOMAIN ($DNS_IP)." + echo "Правильно укажите одну A-запись для вашего домена в ДНС - $LOCAL_IP" + + read -p "Продолжить на ваш страх и риск? (y/N): " choice + if [[ ! "$choice" =~ ^[Yy]$ ]]; then + echo "Выполнение скрипта прервано." + exit 1 + fi + echo "Продолжение выполнения скрипта..." +fi + + +apt install nginx -y + +systemctl enable --now nginx + +apt install certbot -y + +certbot certonly --webroot -w /var/www/html -d $DOMAIN -m mail@$DOMAIN --agree-tos --non-interactive --deploy-hook "systemctl reload nginx" + +CONFIG_PATH="/etc/nginx/sites-available/default" + +echo "✅ Записываем конфигурацию в $CONFIG_PATH для домена $DOMAIN" + +bash -c "cat > $CONFIG_PATH" < "$WEB_PATH/index.html" < + + + + + $TITLE + + + +
+

$HEADER

+
+
+ + +
+
+ + +
+ +
+
+ + +EOF + + + +# Установка Xray +bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install + + +# Определяем директорию скрипта +#SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &> /dev/null && pwd) +SCRIPT_DIR=/usr/local/etc/xray + +# Генерируем переменные +xray_uuid_vrv=$(xray uuid) +domains=(www.theregister.com www.20minutes.fr www.dealabs.com www.manomano.fr www.caradisiac.com www.techadvisor.com www.computerworld.com teamdocs.su wikiportal.su docscenter.su www.bing.com github.com tradingview.com) +xray_dest_vrv=${domains[$RANDOM % ${#domains[@]}]} +xray_dest_vrv222=${domains[$RANDOM % ${#domains[@]}]} + +key_output=$(xray x25519) +xray_privateKey_vrv=$(echo "$key_output" | awk -F': ' '/PrivateKey/ {print $2}') +xray_publicKey_vrv=$(echo "$key_output" | awk -F': ' '/Password/ {print $2}') + +key_mldsa65=$(xray mldsa65) +seed_mldsa65=$(echo "$key_mldsa65" | awk -F': ' '/Seed/ {print $2}') +verify_mldsa65=$(echo "$key_mldsa65" | awk -F': ' '/Verify/ {print $2}') + +xray_shortIds_vrv=$(openssl rand -hex 8) + +xray_sspasw_vrv=$(openssl rand -base64 15 | tr -dc 'A-Za-z0-9' | head -c 20) + +ipserv=$(hostname -I | awk '{print $1}') + + + +# Экспортируем переменные для envsubst +export xray_uuid_vrv xray_dest_vrv xray_dest_vrv222 xray_privateKey_vrv xray_publicKey_vrv xray_shortIds_vrv xray_sspasw_vrv DOMAIN + +# Создаем JSON конфигурацию на основе шаблона +#cat << 'EOF' | envsubst > output.json +# Создаем JSON конфигурацию на основе шаблона и сохраняем в папку скрипта +cat << 'EOF' | envsubst > "$SCRIPT_DIR/config.json" +{ + "log": { + "dnsLog": false, + "loglevel": "none" + }, + "dns": { + "servers": [ + "https+local://8.8.4.4/dns-query", + "https+local://8.8.8.8/dns-query", + "https+local://1.1.1.1/dns-query", + "localhost" + ], + "queryStrategy": "UseIPv4" + }, + "inbounds": [ + { + "tag": "VtcpRself", + "port": 443, + "listen": "0.0.0.0", + "protocol": "vless", + "settings": { + "clients": [ + { + "flow": "xtls-rprx-vision", + "id": "${xray_uuid_vrv}" + } + ], + "decryption": "none" + }, + "sniffing": { + "enabled": true, + "destOverride": [ + "http", + "tls", + "quic" + ] + }, + "streamSettings": { + "network": "raw", + "security": "reality", + "realitySettings": { + "show": false, + "xver": 1, + "target": "/dev/shm/nginx.sock", + "spiderX": "/", + "shortIds": [ + "${xray_shortIds_vrv}" + ], + "privateKey": "${xray_privateKey_vrv}", + "serverNames": [ + "$DOMAIN" + ], + "limitFallbackUpload": { + "afterBytes": 0, + "bytesPerSec": 65536, + "burstBytesPerSec": 0 + }, + "limitFallbackDownload": { + "afterBytes": 5242880, + "bytesPerSec": 262144, + "burstBytesPerSec": 2097152 + } + } + } + }, + { + "tag": "Vless8443self", + "port": 8443, + "listen": "0.0.0.0", + "protocol": "vless", + "settings": { + "clients": [ + { + "flow": "xtls-rprx-vision", + "id": "${xray_uuid_vrv}" + } + ], + "decryption": "none" + }, + "sniffing": { + "enabled": true, + "destOverride": [ + "http", + "tls", + "quic" + ] + }, + "streamSettings": { + "network": "raw", + "security": "reality", + "realitySettings": { + "show": false, + "xver": 1, + "target": "/dev/shm/nginx.sock", + "spiderX": "/", + "shortIds": [ + "${xray_shortIds_vrv}" + ], + "privateKey": "${xray_privateKey_vrv}", + "serverNames": [ + "$DOMAIN" + ], + "limitFallbackUpload": { + "afterBytes": 0, + "bytesPerSec": 65536, + "burstBytesPerSec": 0 + }, + "limitFallbackDownload": { + "afterBytes": 5242880, + "bytesPerSec": 262144, + "burstBytesPerSec": 2097152 + } + } + } + }, + { + "tag": "ShadowsocksTCP", + "port": 2040, + "listen": "0.0.0.0", + "protocol": "shadowsocks", + "settings": { + "clients": [ + { + "password": "${xray_sspasw_vrv}", + "method": "chacha20-ietf-poly1305" + } + ] + }, + "sniffing": { + "enabled": true, + "destOverride": [ + "http", + "tls", + "quic" + ] + }, + "streamSettings": { + "network": "raw" + } + } + ], + "outbounds": [ + { + "tag": "direct", + "protocol": "freedom", + "settings": { + "domainStrategy": "ForceIPv4" + } + }, + { + "tag": "block", + "protocol": "blackhole" + } + ], + "routing": { + "rules": [ + { + "domain": [ + "geosite:category-ads", + "geosite:win-spy", + "geosite:private" + ], + "outboundTag": "block" + }, + { + "ip": [ + "geoip:private" + ], + "outboundTag": "block" + } + ] + } +} + +EOF + +# Перезапуск Xray +echo "Перезапуск Xray..." +systemctl restart xray +echo -e "Готово!\n" + +# Формирование ссылок +link1="vless://${xray_uuid_vrv}@$DOMAIN:443?security=reality&sni=$DOMAIN&fp=chrome&pbk=${xray_publicKey_vrv}&sid=${xray_shortIds_vrv}&type=tcp&flow=xtls-rprx-vision&encryption=none&spx=%2F#VPN-vless-443-self" + +link3="vless://${xray_uuid_vrv}@$DOMAIN:8443?security=reality&sni=$DOMAIN&fp=chrome&pbk=${xray_publicKey_vrv}&sid=${xray_shortIds_vrv}&type=tcp&flow=xtls-rprx-vision&encryption=none&spx=%2F#VPN-vless-8443-self" + +ENCODED_STRING=$(echo -n "chacha20-ietf-poly1305:${xray_sspasw_vrv}" | base64) +link4="ss://$ENCODED_STRING@${ipserv}:2040#VPN-ShadowS-2040" + + + +echo -e " + +Ваши VPN конфиги. Первый - самый надежный, остальные резервные! + +\033[32m$link1\033[0m + +\033[32m$link3\033[0m + +\033[32m$link4\033[0m + +Скопируйте конфиг в специализированное приложение: +- iOS: Happ или v2RayTun или FoXray +- Android: Happ или v2RayTun или v2rayNG +- Windows: Happ & v2RayTun & winLoadXRAY & Throne + +Поддержать автора: https://github.com/xVRVx/autoXRAY + +" \ No newline at end of file diff --git a/old/autoXRAYselfstealConfChina.sh b/old/autoXRAYselfstealConfChina.sh new file mode 100644 index 0000000..dfec98f --- /dev/null +++ b/old/autoXRAYselfstealConfChina.sh @@ -0,0 +1,484 @@ +#!/bin/bash + +DOMAIN=$1 + +if [ -z "$DOMAIN" ]; then + echo "❌ Ошибка: домен не задан." + exit 1 +fi + +echo "Обновление и установка необходимых пакетов..." +apt update && apt install -y jq dnsutils + + +LOCAL_IP=$(hostname -I | awk '{print $1}') +DNS_IP=$(dig +short "$DOMAIN" | grep '^[0-9]') + +if [ "$LOCAL_IP" != "$DNS_IP" ]; then + echo "❌ Внимание: IP-адрес ($LOCAL_IP) не совпадает с A-записью $DOMAIN ($DNS_IP)." + echo "Правильно укажите одну A-запись для вашего домена в ДНС - $LOCAL_IP" + + read -p "Продолжить на ваш страх и риск? (y/N): " choice + if [[ ! "$choice" =~ ^[Yy]$ ]]; then + echo "Выполнение скрипта прервано." + exit 1 + fi + echo "Продолжение выполнения скрипта..." +fi + + +apt install nginx -y + +systemctl enable --now nginx + +apt install certbot -y + +certbot certonly --webroot -w /var/www/html -d $DOMAIN -m mail@$DOMAIN --agree-tos --non-interactive --deploy-hook "systemctl reload nginx" + +CONFIG_PATH="/etc/nginx/sites-available/default" + +echo "✅ Записываем конфигурацию в $CONFIG_PATH для домена $DOMAIN" + +bash -c "cat > $CONFIG_PATH" < "$WEB_PATH/index.html" < + + + + + $TITLE + + + + + +
+

$HEADER

+
+
+ + +
+
+ + +
+ +
+
+ + +EOF + + + +# Установка Xray +bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install + + +# Определяем директорию скрипта +#SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &> /dev/null && pwd) +SCRIPT_DIR=/usr/local/etc/xray + +# Генерируем переменные +xray_uuid_vrv=$(xray uuid) +domains=(www.theregister.com www.20minutes.fr www.dealabs.com www.manomano.fr www.caradisiac.com www.techadvisor.com www.computerworld.com teamdocs.su wikiportal.su docscenter.su www.bing.com github.com tradingview.com) +xray_dest_vrv=${domains[$RANDOM % ${#domains[@]}]} +xray_dest_vrv222=${domains[$RANDOM % ${#domains[@]}]} + +key_output=$(xray x25519) +xray_privateKey_vrv=$(echo "$key_output" | awk -F': ' '/PrivateKey/ {print $2}') +xray_publicKey_vrv=$(echo "$key_output" | awk -F': ' '/Password/ {print $2}') + +key_mldsa65=$(xray mldsa65) +seed_mldsa65=$(echo "$key_mldsa65" | awk -F': ' '/Seed/ {print $2}') +verify_mldsa65=$(echo "$key_mldsa65" | awk -F': ' '/Verify/ {print $2}') + +xray_shortIds_vrv=$(openssl rand -hex 8) + +xray_sspasw_vrv=$(openssl rand -base64 15 | tr -dc 'A-Za-z0-9' | head -c 20) + +path_subpage=$(openssl rand -base64 15 | tr -dc 'A-Za-z0-9' | head -c 20) + +ipserv=$(hostname -I | awk '{print $1}') + + + +# Экспортируем переменные для envsubst +export xray_uuid_vrv xray_dest_vrv xray_dest_vrv222 xray_privateKey_vrv xray_publicKey_vrv xray_shortIds_vrv xray_sspasw_vrv DOMAIN path_subpage WEB_PATH + +# Создаем JSON конфигурацию сервера +cat << 'EOF' | envsubst > "$SCRIPT_DIR/config.json" +{ + "log": { + "dnsLog": false, + "loglevel": "none" + }, + "dns": { + "servers": [ + "https+local://8.8.4.4/dns-query", + "https+local://8.8.8.8/dns-query", + "https+local://1.1.1.1/dns-query", + "localhost" + ], + "queryStrategy": "UseIPv4" + }, + "inbounds": [ + { + "tag": "VtcpRself", + "port": 443, + "listen": "0.0.0.0", + "protocol": "vless", + "settings": { + "clients": [ + { + "flow": "xtls-rprx-vision", + "id": "${xray_uuid_vrv}" + } + ], + "decryption": "none" + }, + "sniffing": { + "enabled": true, + "destOverride": [ + "http", + "tls", + "quic" + ] + }, + "streamSettings": { + "network": "raw", + "security": "reality", + "realitySettings": { + "show": false, + "xver": 1, + "target": "/dev/shm/nginx.sock", + "spiderX": "/", + "shortIds": [ + "${xray_shortIds_vrv}" + ], + "privateKey": "${xray_privateKey_vrv}", + "serverNames": [ + "$DOMAIN" + ], + "limitFallbackUpload": { + "afterBytes": 0, + "bytesPerSec": 65536, + "burstBytesPerSec": 0 + }, + "limitFallbackDownload": { + "afterBytes": 5242880, + "bytesPerSec": 262144, + "burstBytesPerSec": 2097152 + } + } + } + } + ], + "outbounds": [ + { + "tag": "direct", + "protocol": "freedom", + "settings": { + "domainStrategy": "ForceIPv4" + } + }, + { + "tag": "block", + "protocol": "blackhole" + } + ], + "routing": { + "rules": [ + { + "ip": [ + "geoip:private", + "geoip:cn" + ], + "outboundTag": "block" + }, + { + "protocol": [ + "bittorrent" + ], + "outboundTag": "block" + }, + { + "domain": [ + "geosite:category-ads", + "geosite:win-spy", + "geosite:private" + ], + "outboundTag": "block" + } + ], + "domainStrategy": "IPIfNonMatch" + } +} + +EOF + +# Создаем JSON конфигурацию клиента +cat << 'EOF' | envsubst > "$WEB_PATH/$path_subpage.html" +{ + "log": { + "loglevel": "warning" + }, + "dns": { + "servers": [ + { + "address": "https://8.8.4.4/dns-query", + "domains": [ + "geosite:geolocation-!cn" + ] + }, + { + "address": "223.5.5.5", + "domains": [ + "geosite:cn" + ], + "expectIPs": [ + "geoip:cn" + ] + }, + { + "address": "114.114.114.114", + "domains": [ + "geosite:cn" + ] + }, + "localhost" + ] + }, + "routing": { + "domainStrategy": "IPIfNonMatch", + "rules": [ + { + "domain": [ + "geosite:category-ads", + "geosite:win-spy" + ], + "outboundTag": "block" + }, + { + "protocol": [ + "bittorrent" + ], + "outboundTag": "direct" + }, + { + "domain": [ + "geosite:geolocation-!cn" + ], + "outboundTag": "proxy" + }, + { + "ip": [ + "223.5.5.5" + ], + "outboundTag": "direct" + }, + { + "ip": [ + "geoip:cn", + "geoip:private" + ], + "outboundTag": "direct" + } + ] + }, + "inbounds": [ + { + "tag": "socks-in", + "protocol": "socks", + "listen": "127.0.0.1", + "port": 10808, + "settings": { + "udp": true + } + }, + { + "tag": "socks-sb", + "protocol": "socks", + "listen": "127.0.0.1", + "port": 2080, + "settings": { + "udp": true + } + }, + { + "tag": "socks-v2rayN", + "protocol": "socks", + "listen": "127.0.0.1", + "port": 1080, + "settings": { + "udp": true + } + }, + { + "tag": "http-in", + "protocol": "http", + "listen": "127.0.0.1", + "port": 10809 + } + ], + "outbounds": [ + { + "tag": "proxy", + "protocol": "vless", + "settings": { + "vnext": [ + { + "address": "$DOMAIN", + "port": 443, + "users": [ + { + "id": "${xray_uuid_vrv}", + "flow": "xtls-rprx-vision", + "encryption": "none", + "level": 0 + } + ] + } + ] + }, + "streamSettings": { + "network": "raw", + "tcpSettings": { + "acceptProxyProtocol": false + }, + "security": "reality", + "realitySettings": { + "show": false, + "fingerprint": "chrome", + "serverName": "$DOMAIN", + "password": "${xray_publicKey_vrv}", + "shortId": "${xray_shortIds_vrv}", + "mldsa65Verify": "", + "spiderX": "/" + } + } + }, + { + "tag": "direct", + "protocol": "freedom" + }, + { + "tag": "block", + "protocol": "blackhole" + } + ] +} + +EOF + +# Перезапуск Xray +echo "Перезапуск Xray..." +systemctl restart xray +echo -e "Готово!\n" + +# Формирование ссылок +subPageLink="https://$DOMAIN/$path_subpage.html" + +# Формирование ссылок +link1="vless://${xray_uuid_vrv}@$DOMAIN:443?security=reality&sni=$DOMAIN&fp=chrome&pbk=${xray_publicKey_vrv}&sid=${xray_shortIds_vrv}&type=tcp&flow=xtls-rprx-vision&encryption=none&spx=%2F#vlessAX" + +echo -e " +Скопируйте подписку в специализированное приложение: +- iOS: Happ или v2RayTun или v2rayN +- Android: Happ или v2RayTun или v2rayNG +- Windows: конфиги winLoadXRAY или v2rayN или ядро Xray + для vless Happ(alpha) или v2RayTun или Throne + + +Ваша страничка подписки: +\033[32m$subPageLink\033[0m + +Ваш конфиг для роутера: +$link1 + +Открыт локальный socks5 на порту 10808, 1080, 2080 и http на 10809. + +Поддержать автора: https://github.com/xVRVx/autoXRAY +"