This commit is contained in:
2025-11-01 21:45:47 +08:00
parent b96a81e2ff
commit 42f30a247a
3 changed files with 90 additions and 3 deletions

View File

@@ -25,8 +25,8 @@ function unet_is_valid_network_v4_allnet(){
function unet_is_voalid_net_v6(){
return net ~ [
2406:840:e600::/44{44,56},
2a0f:1cc5:0010::/44{44,56},
2406:840:e600::/44{44,64},
2a0f:1cc5:0010::/44{44,64},
fde8:936e:ee29::/48+
];
}

View File

@@ -26,3 +26,10 @@
## 注意
请务必修改下在输入birdc c
## 全服更新使用脚本
cd
wget https://git.nia.ink/brnet/bird_config/raw/branch/master/update.sh
chmod +x update.sh
./update.sh

80
update.sh Normal file
View File

@@ -0,0 +1,80 @@
#!/bin/bash
# 配置参数请替换为实际URL
URL="https://git.nia.ink/brnet/bird_config/raw/branch/master/bird/function/unet.conf" # 替换为你的$url
TARGET_FILE="/etc/bird/function/unet.conf"
BACKUP_FILE="${TARGET_FILE}.bak.$(date +%Y%m%d%H%M%S)" # 带时间戳的备份文件
LOG_FILE="/var/log/update_unet_conf.log"
# 日志函数
log() {
echo "[$(date +%Y-%m-%d %H:%M:%S)] $1" >> "$LOG_FILE"
}
# 检查root权限
if [ "$(id -u)" -ne 0 ]; then
log "错误必须使用root权限运行脚本请用sudo"
echo "错误必须使用root权限运行脚本请用sudo"
exit 1
fi
# 检查wget是否安装
if ! command -v wget &> /dev/null; then
log "错误未安装wget请先执行 'sudo apt install wget' 或 'sudo yum install wget' 安装"
echo "错误未安装wget请先安装"
exit 1
fi
# 检查目标文件目录是否存在
if [ ! -d "$(dirname "$TARGET_FILE")" ]; then
log "错误:目标目录 $(dirname "$TARGET_FILE") 不存在"
echo "错误:目标目录不存在"
exit 1
fi
# 备份原文件
log "开始备份原文件到 $BACKUP_FILE"
if cp "$TARGET_FILE" "$BACKUP_FILE"; then
log "备份成功"
else
log "错误:备份失败,终止操作"
echo "错误:备份失败"
exit 1
fi
# 下载并覆盖文件
log "开始从 $URL 下载文件"
if wget -q -O "$TARGET_FILE" "$URL"; then # -q 静默模式,-O 指定输出文件
log "下载成功,已覆盖 $TARGET_FILE"
else
log "错误:下载失败,恢复原文件"
echo "错误:下载失败,正在恢复原文件..."
mv "$BACKUP_FILE" "$TARGET_FILE" # 恢复备份
exit 1
fi
# 验证文件内容(检查是否为空或乱码)
if [ ! -s "$TARGET_FILE" ]; then # -s 检查文件非空
log "错误:下载的文件为空,恢复原文件"
echo "错误:文件为空,正在恢复原文件..."
mv "$BACKUP_FILE" "$TARGET_FILE"
exit 1
fi
# 可选重启bird服务并检查状态
log "尝试重启bird服务"
if systemctl restart bird; then
log "bird服务重启成功"
if systemctl is-active --quiet bird; then
log "bird服务运行正常"
echo "操作完成,配置已更新且服务正常"
else
log "错误bird服务重启后未正常运行请检查配置"
echo "警告:服务未正常运行,请检查日志"
fi
else
log "错误bird服务重启失败请手动检查"
echo "错误:服务重启失败,请手动处理"
fi
log "脚本执行完毕"