mirror of
https://github.com/xVRVx/autoXRAY.git
synced 2026-08-26 08:35:34 +00:00
Add files via upload
This commit is contained in:
@@ -1,7 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
# указываем фингерпринт
|
||||
fpBro=edge
|
||||
|
||||
# Цвета для вывода
|
||||
GRN='\033[1;32m'
|
||||
@@ -9,7 +7,7 @@ RED='\033[1;31m'
|
||||
YEL='\033[1;33m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
echo -e "${GRN}Версия: 223 ${NC}"
|
||||
echo -e "${GRN}Версия: 224 ${NC}"
|
||||
|
||||
[[ $EUID -eq 0 ]] || { echo -e "${RED}❌ скрипту нужны root права ${NC}"; exit 1; }
|
||||
|
||||
@@ -60,6 +58,22 @@ else
|
||||
TARGET_MTP="/dev/shm/nginx.sock"
|
||||
INSTALL_MTP=false
|
||||
fi
|
||||
|
||||
echo -e "\n${YEL}Выберите TLS fingerprint для маскировки трафика:${NC}"
|
||||
echo "1) chrome 3) safari 5) android 7) 360"
|
||||
echo "2) firefox 4) ios 6) edge 8) qq"
|
||||
read -p "Введите номер [1-8] (по умолчанию 2 - firefox): " fp_choice
|
||||
|
||||
case $fp_choice in
|
||||
1) fpBro="chrome" ;;
|
||||
2) fpBro="firefox" ;;
|
||||
3) fpBro="safari" ;;
|
||||
4) fpBro="ios" ;;
|
||||
5) fpBro="android" ;;
|
||||
7) fpBro="360" ;;
|
||||
8) fpBro="qq" ;;
|
||||
*) fpBro="edge" ;; # Если ввели 2, пустоту или ошибку — ставим firefox
|
||||
esac
|
||||
# ============================
|
||||
|
||||
# Включаем BBR
|
||||
|
||||
@@ -6,7 +6,7 @@ RED='\033[1;31m'
|
||||
YEL='\033[1;33m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
echo -e "${GRN}Версия: 222 ${NC}"
|
||||
echo -e "${GRN}Версия: 224 ${NC}"
|
||||
|
||||
[[ $EUID -eq 0 ]] || { echo -e "${RED}❌ скрипту нужны root права ${NC}"; exit 1; }
|
||||
|
||||
@@ -117,6 +117,34 @@ if [ "$LOCAL_IP" != "$DNS_IP" ]; then
|
||||
echo -e "${YEL}Продолжение выполнения скрипта...${NC}"
|
||||
fi
|
||||
|
||||
# === ВОПРОСЫ ПОЛЬЗОВАТЕЛЮ ===
|
||||
read -p "Устанавливать MTProxy для Telegram? (y/n, по умолчанию y): " choice_mtp
|
||||
choice_mtp=${choice_mtp:-y}
|
||||
if [[ "$choice_mtp" =~ ^[Yy]$ ]]; then
|
||||
TARGET_MTP="127.0.0.1:500"
|
||||
INSTALL_MTP=true
|
||||
else
|
||||
TARGET_MTP="/dev/shm/nginx.sock"
|
||||
INSTALL_MTP=false
|
||||
fi
|
||||
|
||||
echo -e "\n${YEL}Выберите TLS fingerprint для маскировки трафика:${NC}"
|
||||
echo "1) chrome 3) safari 5) android 7) 360"
|
||||
echo "2) firefox 4) ios 6) edge 8) qq"
|
||||
read -p "Введите номер [1-8] (по умолчанию 2 - firefox): " fp_choice
|
||||
|
||||
case $fp_choice in
|
||||
1) fpBro="chrome" ;;
|
||||
2) fpBro="firefox" ;;
|
||||
3) fpBro="safari" ;;
|
||||
4) fpBro="ios" ;;
|
||||
5) fpBro="android" ;;
|
||||
7) fpBro="360" ;;
|
||||
8) fpBro="qq" ;;
|
||||
*) fpBro="edge" ;; # Если ввели 2, пустоту или ошибку — ставим firefox
|
||||
esac
|
||||
# ============================
|
||||
|
||||
# Включаем BBR
|
||||
bbr=$(sysctl -n net.ipv4.tcp_congestion_control 2>/dev/null)
|
||||
if [ "$bbr" = "bbr" ]; then
|
||||
@@ -398,7 +426,7 @@ cat << EOF > "$SCRIPT_DIR/config.json"
|
||||
"realitySettings": {
|
||||
"show": false,
|
||||
"xver": 2,
|
||||
"target": "127.0.0.1:500",
|
||||
"target": "${TARGET_MTP}",
|
||||
"spiderX": "/",
|
||||
"shortIds": [
|
||||
"$xray_shortIds_vrv"
|
||||
@@ -447,10 +475,10 @@ cat << EOF > "$SCRIPT_DIR/config.json"
|
||||
{
|
||||
"tag": "RUsocks5",
|
||||
"port": 10443,
|
||||
"listen": "0.0.0.0",
|
||||
"listen": "127.0.0.1",
|
||||
"protocol": "mixed",
|
||||
"settings": {
|
||||
"ip": "0.0.0.0",
|
||||
"ip": "127.0.0.1",
|
||||
"udp": true,
|
||||
"auth": "password",
|
||||
"accounts": [
|
||||
@@ -739,7 +767,7 @@ for (( i=0; i<COUNT; i++ )); do
|
||||
}
|
||||
},
|
||||
"realitySettings": {
|
||||
"show": false, "fingerprint": "chrome", "serverName": "$DOMAIN",
|
||||
"show": false, "fingerprint": "$fpBro", "serverName": "$DOMAIN",
|
||||
"password": "$xray_publicKey_vrv", "shortId": "$xray_shortIds_vrv", "spiderX": "/"
|
||||
}
|
||||
}
|
||||
@@ -764,7 +792,7 @@ EOF
|
||||
"network": "raw",
|
||||
"security": "reality",
|
||||
"realitySettings": {
|
||||
"show": false, "fingerprint": "chrome", "serverName": "$DOMAIN",
|
||||
"show": false, "fingerprint": "$fpBro", "serverName": "$DOMAIN",
|
||||
"password": "$xray_publicKey_vrv", "shortId": "$xray_shortIds_vrv", "spiderX": "/"
|
||||
}
|
||||
}
|
||||
@@ -822,9 +850,9 @@ EOF
|
||||
fi
|
||||
|
||||
# --- Генерируем ссылки vless:// для HTML странички (с портом моста) ---
|
||||
link_xhttp="vless://${BRIDGE_UUID[$i]}@$DOMAIN:$SERVER_PORT?security=reality&type=xhttp&headerType=&path=%2F$path_xhttp&host=&mode=stream-one&extra=%7B%22xmux%22%3A%7B%22cMaxReuseTimes%22%3A%221000-3000%22%2C%22maxConcurrency%22%3A%223-5%22%2C%22maxConnections%22%3A0%2C%22hKeepAlivePeriod%22%3A0%2C%22hMaxRequestTimes%22%3A%22400-700%22%2C%22hMaxReusableSecs%22%3A%221200-1800%22%7D%2C%22headers%22%3A%7B%7D%2C%22noGRPCHeader%22%3Afalse%2C%22xPaddingBytes%22%3A%22400-800%22%2C%22scMaxEachPostBytes%22%3A1500000%2C%22scMinPostsIntervalMs%22%3A20%2C%22scStreamUpServerSecs%22%3A%2260-240%22%7D&sni=$DOMAIN&fp=chrome&pbk=${xray_publicKey_vrv}&sid=${xray_shortIds_vrv}&spx=%2F#RU%3EEU_xhttp_$REMARK_BASE"
|
||||
link_xhttp="vless://${BRIDGE_UUID[$i]}@$DOMAIN:$SERVER_PORT?security=reality&type=xhttp&headerType=&path=%2F$path_xhttp&host=&mode=stream-one&extra=%7B%22xmux%22%3A%7B%22cMaxReuseTimes%22%3A%221000-3000%22%2C%22maxConcurrency%22%3A%223-5%22%2C%22maxConnections%22%3A0%2C%22hKeepAlivePeriod%22%3A0%2C%22hMaxRequestTimes%22%3A%22400-700%22%2C%22hMaxReusableSecs%22%3A%221200-1800%22%7D%2C%22headers%22%3A%7B%7D%2C%22noGRPCHeader%22%3Afalse%2C%22xPaddingBytes%22%3A%22400-800%22%2C%22scMaxEachPostBytes%22%3A1500000%2C%22scMinPostsIntervalMs%22%3A20%2C%22scStreamUpServerSecs%22%3A%2260-240%22%7D&sni=$DOMAIN&fp=$fpBro&pbk=${xray_publicKey_vrv}&sid=${xray_shortIds_vrv}&spx=%2F#RU%3EEU_xhttp_$REMARK_BASE"
|
||||
|
||||
link_raw="vless://${BRIDGE_UUID[$i]}@$DOMAIN:$SERVER_PORT?security=reality&type=tcp&headerType=&path=&host=&flow=xtls-rprx-vision&sni=$DOMAIN&fp=chrome&pbk=${xray_publicKey_vrv}&sid=${xray_shortIds_vrv}&spx=%2F#RU%3EEU_raw_$REMARK_BASE"
|
||||
link_raw="vless://${BRIDGE_UUID[$i]}@$DOMAIN:$SERVER_PORT?security=reality&type=tcp&headerType=&path=&host=&flow=xtls-rprx-vision&sni=$DOMAIN&fp=$fpBro&pbk=${xray_publicKey_vrv}&sid=${xray_shortIds_vrv}&spx=%2F#RU%3EEU_raw_$REMARK_BASE"
|
||||
|
||||
CONFIGS_ARRAY+=( "XHTTP (RU>EU $REMARK_BASE)|$link_xhttp" )
|
||||
CONFIGS_ARRAY+=( "RAW VISION (RU>EU $REMARK_BASE)|$link_raw" )
|
||||
@@ -840,8 +868,13 @@ echo -e "Перезапуск XRAY"
|
||||
subPageLink="https://$DOMAIN/$path_subpage.json"
|
||||
configListLink="https://$DOMAIN/$path_subpage.html"
|
||||
|
||||
echo -e "\n\n${GRN}Устанавливаем MTProto FakeTLS ${NC}"
|
||||
source <(curl -sL https://github.com/xVRVx/autoXRAY/raw/refs/heads/main/test/telemt-test.sh)
|
||||
if [ "$INSTALL_MTP" = true ]; then
|
||||
echo -e "\n\n${GRN}Устанавливаем MTProto FakeTLS ${NC}"
|
||||
source <(curl -sL https://github.com/xVRVx/autoXRAY/raw/refs/heads/main/test/telemt-test.sh)
|
||||
else
|
||||
echo -e "\n\n${YEL}Установка MTProto FakeTLS пропущена.${NC}"
|
||||
MTProto=""
|
||||
fi
|
||||
|
||||
echo -e "\n\n${GRN}Создаем страницу подписки ${NC}"
|
||||
cat > "$WEB_PATH/$path_subpage.html" <<'EOF'
|
||||
@@ -900,22 +933,20 @@ done
|
||||
|
||||
SOCKS5_url="tg://socks?server=$DOMAIN&port=10443&user=${socksUser}&pass=${socksPasw}"
|
||||
|
||||
# Дописываем Socks5, MTProto, All links и подвал
|
||||
# Добавляем MTProxy блок только если он установлен
|
||||
if [ "$INSTALL_MTP" = true ]; then
|
||||
cat >> "$WEB_PATH/$path_subpage.html" <<EOF
|
||||
<div class="config-row">
|
||||
<div class="config-label">Мост Socks5 (TG)</div>
|
||||
<div class="config-code" id="sock">${SOCKS5_url}</div>
|
||||
<button class="btn-action copy-btn" onclick="copyText('sock', this)">Copy</button>
|
||||
<a href="${SOCKS5_url}" target="_blank" class="btn-action qr-btn" title="автодобавление моста в тг" style="text-decoration:none">✈️ Add to TG</a>
|
||||
</div>
|
||||
|
||||
<div class="config-row">
|
||||
<div class="config-label">Мост MTProtoFakeTLS (TG)</div>
|
||||
<div class="config-label">MTProtoFakeTLS (TG)</div>
|
||||
<div class="config-code" id="mtproto">${MTProto}</div>
|
||||
<button class="btn-action copy-btn" onclick="copyText('mtproto', this)">Copy</button>
|
||||
<a href="${MTProto}" target="_blank" class="btn-action qr-btn" title="автодобавление моста в тг" style="text-decoration:none">✈️ Add to TG</a>
|
||||
</div>
|
||||
EOF
|
||||
fi
|
||||
|
||||
# Дописываем конец страницы
|
||||
cat >> "$WEB_PATH/$path_subpage.html" <<EOF
|
||||
<h2>💠 Все конфиги вместе</h2>
|
||||
<div class="config-row">
|
||||
<div class="config-code" id="cAll" style="max-height:60px;white-space:pre-wrap;word-break:break-all">$ALL_LINKS_TEXT</div>
|
||||
@@ -932,10 +963,18 @@ EOF
|
||||
# --- ФИНАЛЬНАЯ ПРОВЕРКА ---
|
||||
echo -e "\n${YEL}=== Финальная проверка статусов ===${NC}"
|
||||
|
||||
if systemctl is-active --quiet telemt; then echo -e "Telemt: ${GRN}RUNNING${NC}"; else echo -e "Telemt: ${RED}STOPPED/ERROR${NC}"; fi
|
||||
if [ "$INSTALL_MTP" = true ]; then
|
||||
if systemctl is-active --quiet telemt; then echo -e "Telemt: ${GRN}RUNNING${NC}"; else echo -e "Telemt: ${RED}STOPPED/ERROR${NC}"; fi
|
||||
fi
|
||||
if systemctl is-active --quiet nginx; then echo -e "Nginx: ${GRN}RUNNING${NC}"; else echo -e "Nginx: ${RED}STOPPED/ERROR${NC}"; fi
|
||||
if systemctl is-active --quiet xray; then echo -e "XRAY: ${GRN}RUNNING${NC}"; else echo -e "XRAY: ${RED}STOPPED/ERROR${NC}"; fi
|
||||
|
||||
|
||||
echo -e "\n"
|
||||
if [ "$INSTALL_MTP" = true ]; then
|
||||
echo -e "${YEL}MTProto FakeTLS для ТГ${NC}\n$MTProto\n"
|
||||
fi
|
||||
|
||||
echo -e "
|
||||
${YEL}✅ Сгенерировано мостов: ${GRN}$COUNT${NC}
|
||||
|
||||
@@ -945,9 +984,6 @@ ${GRN}$subPageLink${NC}
|
||||
${YEL}Ссылка на сохраненные конфиги (Web UI) ${NC}
|
||||
${GRN}$configListLink ${NC}
|
||||
|
||||
${YEL}MTProto FakeTLS для ТГ${NC}
|
||||
${GRN}$MTProto ${NC}
|
||||
|
||||
Скопируйте подписку в специализированное приложение:
|
||||
- iOS: Happ или v2RayTun или v2rayN
|
||||
- Android: Happ или v2RayTun или v2rayNG
|
||||
|
||||
Reference in New Issue
Block a user