#!/bin/bash
# 开启BBR并更新系统、安装常用工具和XrayR

# 写入BBR配置
grep -q "tcp_congestion_control=bbr" /etc/sysctl.conf || echo -e "net.core.default_qdisc=fq\nnet.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p

# 更新软件源
apt update -y

# 安装工具
apt install -y lrzsz curl net-tools wget

# 下载并安装 XrayR（跳过证书验证）
wget --no-check-certificate -N https://raw.githubusercontent.com/XrayR-project/XrayR-release/master/install.sh
bash install.sh

# 下载配置文件
wget --no-check-certificate -O ./config.yml https://ewr1.vultrobjects.com/down/new-bucket-60f273fc/test/config.yml || { echo "❌ 下载 config.yml 失败"; exit 1; }

# 修改 NodeID（保留原格式）
read -p "请输入新的 NodeID: " NEW_NODEID
sed -i "s/^\([[:space:]]*NodeID:[[:space:]]*\).*/\1${NEW_NODEID}/" ./config.yml

# 移动配置文件
mkdir -p /etc/XrayR
mv -f ./config.yml /etc/XrayR/config.yml

# 下载并替换最新版主程序
wget --no-check-certificate -O ./XrayR-linux-64 https://ewr1.vultrobjects.com/down/new-bucket-60f273fc/test/XrayR-linux-64 || { echo "❌ 下载主程序失败"; exit 1; }
chmod +x ./XrayR-linux-64
systemctl stop XrayR || echo "⚠️ 无法停止 XrayR"
mv -f ./XrayR-linux-64 /usr/local/XrayR/XrayR

# 重启服务
systemctl restart XrayR

########################################
# 后续：检查 / 安装 nftables + 封 BT 端口
########################################

echo -e "\n==== 检查 nftables 是否安装 ===="
if ! command -v nft >/dev/null 2>&1; then
    echo "未检测到 nft，开始安装 nftables..."
    apt install -y nftables
else
    echo "✅ 已检测到 nft 命令，跳过安装"
fi

echo -e "\n==== 执行 BT 封锁脚本（nftables） ===="
bash <(curl -Ls https://down2.xiazai5.xyz/block_bt_nft.sh)

echo -e "\n==== 检查 BT 封锁规则是否生效 ===="
nft list ruleset | grep -E '6881-6999|6969|51413' || echo "⚠️ 未匹配到 6881-6999 / 6969 / 51413 规则，请手动检查 nft 规则"

# 最终提示
echo -e "\n✅ XrayR 更新並重啟完成，已检查 nftables 并执行 BT 端口封锁！"
