mirror of
https://github.com/xVRVx/autoXRAY.git
synced 2026-08-26 00:34:39 +00:00
256 lines
6.8 KiB
Bash
256 lines
6.8 KiB
Bash
#!/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
|
|
|
|
" |