This commit is contained in:
eddy
2025-11-13 00:54:10 +08:00
parent 5dc0fb0284
commit ce229fae0b
3 changed files with 114 additions and 2053 deletions

View File

@@ -20,8 +20,3 @@ curl -sS -O https://gitea.tohub.top/Share/script/raw/branch/main/ss2022-manager.
```sh
curl -sS -O https://gitea.tohub.top/Share/script/raw/branch/main/xray-manager.sh && chmod +x xray-manager.sh && ./xray-manager.sh
```
- xray-manager-v25.8.31.sh
```sh
curl -sS -O https://gitea.tohub.top/Share/script/raw/branch/main/xray-manager-v25.8.31.sh && chmod +x xray-manager-v25.8.31.sh && ./xray-manager-v25.8.31.sh
```

File diff suppressed because it is too large Load Diff

View File

@@ -215,19 +215,18 @@ show_menu() {
clear
echo "=================================================="
echo -e "${CYAN}Xray REALITY管理脚本 v${SCRIPT_VERSION}${NC}"
echo -e "${CYAN}(VLESS+REALITY 协议)${NC}"
echo -e "${CYAN}(VLESS+REALITY 协议 - 稳定版本)${NC}"
echo "=================================================="
echo -e "1) ${GREEN}安装 Xray${NC}"
echo -e "1) ${GREEN}安装 Xray (自动配置所有稳定功能)${NC}"
echo -e "2) ${RED}卸载 Xray${NC}"
echo -e "3) ${YELLOW}更新 Xray${NC}"
echo -e "4) ${BLUE}查看 Xray 状态${NC}"
echo -e "5) ${CYAN}查看 Xray 配置信息${NC}"
echo -e "6) ${GREEN}重启 Xray 服务${NC}"
echo -e "7) ${YELLOW}手动设置 Xray 版本号${NC}"
echo -e "5) ${CYAN}查看配置信息${NC}"
echo -e "6) ${GREEN}重启服务${NC}"
echo -e "0) ${RED}退出${NC}"
echo "=================================================="
echo ""
read -rp "请输入选项 [0-7]: " choice
read -rp "请输入选项 [0-6]: " choice
case $choice in
1) install_xray ;;
@@ -236,69 +235,14 @@ show_menu() {
4) check_status ;;
5) show_config ;;
6) restart_service ;;
7) set_xray_version ;;
0) exit 0 ;;
*) log_error "无效选项" && sleep 2 && show_menu ;;
esac
}
# 设置Xray版本号
set_xray_version() {
clear
echo "=================================================="
echo -e "${YELLOW}手动设置 Xray 版本号${NC}"
echo "=================================================="
echo "当前Xray版本号: $XRAY_VERSION"
echo ""
echo "1) 自动获取最新版本"
echo "2) 手动输入版本号"
echo "0) 返回主菜单"
echo ""
read -rp "请选择操作 [0-2]: " version_choice
case $version_choice in
1)
echo -n "正在获取最新版本... "
local latest_version=$(get_latest_version)
if [[ "$latest_version" == "$XRAY_VERSION" && ! -z "$latest_version" ]]; then
echo -e "${GREEN}成功${NC}"
log_info "当前已是最新版本: $XRAY_VERSION"
elif [[ -z "$latest_version" || "$latest_version" == "v1.8.4" ]]; then
echo -e "${RED}失败${NC}"
log_error "无法自动获取最新版本"
else
echo -e "${GREEN}成功${NC}"
XRAY_VERSION="$latest_version"
log_info "Xray版本已自动更新为: $XRAY_VERSION"
fi
;;
2)
echo "请访问 https://github.com/XTLS/Xray-core/releases 查看可用版本"
read -rp "请输入新的版本号(例如 v25.3.6): " new_version
if [[ -z "$new_version" ]]; then
log_error "版本号不能为空"
elif [[ ! "$new_version" =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
log_error "版本号格式不正确,请使用类似 v25.3.6 的格式"
else
XRAY_VERSION="$new_version"
log_info "Xray版本已更新为: $XRAY_VERSION"
fi
;;
0)
# 直接返回
;;
*)
log_error "无效选项"
;;
esac
read -rp "按回车键返回主菜单..." temp
show_menu
}
# 安装依赖
install_dependencies() {
@@ -310,7 +254,7 @@ install_dependencies() {
return 1
}
# 安装必要工具
# 安装必要工具(包含 jq 以支持后量子密码学配置)
local deps=(curl wget jq unzip)
for dep in "${deps[@]}"; do
if ! command -v "$dep" &>/dev/null; then
@@ -541,11 +485,18 @@ generate_random_values() {
local key_pair
if [[ -f "$XRAY_PATH/xray" && -x "$XRAY_PATH/xray" ]]; then
key_pair=$($XRAY_PATH/xray x25519)
PRIVATE_KEY=$(echo "$key_pair" | grep "Private" | awk '{print $3}')
PUBLIC_KEY=$(echo "$key_pair" | grep "Public" | awk '{print $3}')
PRIVATE_KEY=$(echo "$key_pair" | grep -E "(Private|PrivateKey)" | awk '{print $NF}')
PUBLIC_KEY=$(echo "$key_pair" | grep -E "(Public|Password)" | awk '{print $NF}')
# 验证密钥是否正确生成
if [[ -z "$PRIVATE_KEY" || -z "$PUBLIC_KEY" ]]; then
log_error "密钥生成失败,请检查 Xray 版本"
return 1
fi
else
log_warn "无法使用 xray 生成密钥对,将跳过密钥生成"
log_info "安装完成后,将自动生成密钥对"
return 1
fi
fi
@@ -554,8 +505,20 @@ generate_random_values() {
log_debug "私钥: $PRIVATE_KEY"
log_debug "公钥: $PUBLIC_KEY"
# 验证密钥是否成功生成
if [[ -z "$PRIVATE_KEY" || -z "$PUBLIC_KEY" ]]; then
log_error "REALITY 密钥生成失败"
return 1
fi
return 0
}
# 获取服务器IP
get_server_ip() {
log_info "获取服务器IP地址"
@@ -615,7 +578,20 @@ configure_xray() {
log_info "配置 Xray"
# 生成随机值
generate_random_values
generate_random_values || {
log_error "生成随机值失败"
return 1
}
# 验证必要的变量是否已设置
if [[ -z "$PRIVATE_KEY" || -z "$PUBLIC_KEY" || -z "$UUID" || -z "$REALITY_PORT" ]]; then
log_error "必要的配置参数缺失:"
[[ -z "$PRIVATE_KEY" ]] && log_error "- PRIVATE_KEY 未设置"
[[ -z "$PUBLIC_KEY" ]] && log_error "- PUBLIC_KEY 未设置"
[[ -z "$UUID" ]] && log_error "- UUID 未设置"
[[ -z "$REALITY_PORT" ]] && log_error "- REALITY_PORT 未设置"
return 1
fi
# 创建配置目录
mkdir -p "$CONFIG_PATH"
@@ -623,9 +599,12 @@ configure_xray() {
# 创建示例目录
mkdir -p "$CONFIG_PATH/examples"
log_info "创建 VLESS+REALITY 配置文件(支持TUN模式"
log_info "创建 VLESS+REALITY 配置文件(最新版本,稳定功能"
# VLESS + REALITY 配置 (添加支持TUN模式的DNS和路由配置)
# 注意:后量子密码学功能需要更新版本的 Xray暂时禁用以确保兼容性
log_info "配置 REALITY 协议基础功能(稳定版本)"
# VLESS + REALITY 配置 (最新版本,包含所有功能)
cat > "$CONFIG_PATH/config.json" << EOF
{
"log": {
@@ -651,17 +630,30 @@ configure_xray() {
"security": "reality",
"realitySettings": {
"show": false,
"dest": "www.shopify.com:443",
"target": "www.shopify.com:443",
"xver": 0,
"serverNames": [
"shopify.com",
"www.shopify.com"
],
"privateKey": "$PRIVATE_KEY",
"minClientVer": "",
"maxClientVer": "",
"maxTimeDiff": 0,
"shortIds": [
"",
"6ba85179e30d"
]
],
"limitFallbackUpload": {
"afterBytes": 1048576,
"bytesPerSec": 1048576,
"burstBytesPerSec": 2097152
},
"limitFallbackDownload": {
"afterBytes": 1048576,
"bytesPerSec": 1048576,
"burstBytesPerSec": 2097152
}
}
},
"sniffing": {
@@ -692,26 +684,33 @@ configure_xray() {
},
"servers": [
{
"address": "1.1.1.1",
"address": "https://1.1.1.1/dns-query",
"domains": [
"geosite:geolocation-!cn"
],
"expectIPs": [
"expectedIPs": [
"geoip:!cn"
]
],
"skipFallback": true,
"queryStrategy": "UseIPv4"
},
{
"address": "223.5.5.5",
"address": "https://223.5.5.5/dns-query",
"domains": [
"geosite:cn"
],
"expectIPs": [
"expectedIPs": [
"geoip:cn"
]
],
"skipFallback": false,
"queryStrategy": "UseIP"
},
"8.8.8.8",
"https://dns.google/dns-query"
]
],
"queryStrategy": "UseIP",
"disableCache": false,
"disableFallback": false
},
"routing": {
"domainStrategy": "AsIs",
@@ -944,7 +943,7 @@ generate_client_info() {
fi
# 生成 VLESS + REALITY 分享链接
local share_link="vless://${UUID}@${SERVER_IP}:${REALITY_PORT}?security=reality&encryption=none&pbk=${PUBLIC_KEY}&fp=chrome&type=tcp&flow=xtls-rprx-vision&sni=www.shopify.com&sid=6ba85179e30d#Xray-Reality"
local share_link="vless://${UUID}@${SERVER_IP}:${REALITY_PORT}?security=reality&encryption=none&pbk=${PUBLIC_KEY}&fp=chrome&type=tcp&flow=xtls-rprx-vision&sni=www.shopify.com&sid=6ba85179e30d&spx=%2Fsearch%3Fq%3Dcdn#Xray-Reality"
# 保存客户端信息
cat > /root/xray_info.txt << EOF
@@ -962,6 +961,12 @@ UUID: ${UUID}
SNI: www.shopify.com
指纹: chrome
短 ID: 6ba85179e30d
爬虫路径: /search?q=cdn
目标站点: www.shopify.com:443
速率限制: 已启用回退连接限制
TUN模式支持: 已启用
DNS优化: 已启用DoH
兼容性: 当前版本完全兼容
==================================================================
分享链接:
@@ -1092,7 +1097,8 @@ generate_reality_tun_config() {
"fingerprint": "chrome",
"serverName": "www.shopify.com",
"publicKey": "${PUBLIC_KEY}",
"shortId": "6ba85179e30d"
"shortId": "6ba85179e30d",
"spiderX": "/search?q=cdn"
}
}
},
@@ -1131,7 +1137,10 @@ generate_reality_tun_config() {
},
"8.8.8.8",
"https://dns.google/dns-query"
]
],
"queryStrategy": "UseIP",
"disableCache": false,
"disableFallback": false
},
"routing": {
"domainStrategy": "IPIfNonMatch",
@@ -1225,7 +1234,16 @@ EOF
install_xray() {
clear
echo "=================================================="
echo -e "${GREEN}开始安装 Xray REALITY 协议${NC}"
echo -e "${GREEN}开始安装 Xray REALITY 协议(稳定版本)${NC}"
echo "=================================================="
echo -e "${CYAN}自动配置功能列表:${NC}"
echo -e "✓ VLESS+REALITY 协议"
echo -e "✓ 速率限制保护"
echo -e "✓ TUN模式支持"
echo -e "✓ DNS优化 (DoH)"
echo -e "✓ 智能路由规则"
echo -e "✓ 自动防火墙配置"
echo -e "✓ 完全兼容当前版本"
echo "=================================================="
# 检查是否为 root
@@ -1267,7 +1285,19 @@ install_xray() {
generate_client_info
echo ""
log_info "Xray REALITY 协议安装成功!"
echo "=================================================="
echo -e "${GREEN}🎉 安装完成!${NC}"
echo "=================================================="
echo -e "${CYAN}已自动启用的功能:${NC}"
echo -e "✅ VLESS+REALITY 协议"
echo -e "✅ 速率限制保护"
echo -e "✅ TUN模式支持"
echo -e "✅ DNS优化 (DoH)"
echo -e "✅ 智能路由规则"
echo -e "✅ 自动防火墙配置"
echo -e "✅ 完全兼容当前版本"
echo "=================================================="
log_info "Xray REALITY 协议(稳定版本)安装成功!"
read -rp "按回车键返回主菜单..." temp
show_menu