diff --git a/bird/function/unet.conf b/bird/function/unet.conf index 6be7633..c535550 100644 --- a/bird/function/unet.conf +++ b/bird/function/unet.conf @@ -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+ ]; } diff --git a/readme.md b/readme.md index 242cab7..9a3c987 100644 --- a/readme.md +++ b/readme.md @@ -25,4 +25,11 @@ mv bird_config/bird /etc/ ## 注意 -请务必修改下在输入birdc c \ No newline at end of file +请务必修改下在输入birdc c + +## 全服更新使用脚本 + + cd + wget https://git.nia.ink/brnet/bird_config/raw/branch/master/update.sh + chmod +x update.sh + ./update.sh \ No newline at end of file diff --git a/update.sh b/update.sh new file mode 100644 index 0000000..bfe8c46 --- /dev/null +++ b/update.sh @@ -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 "脚本执行完毕" \ No newline at end of file