Loading... # 背景 这几天折腾了一下透明代理,一直用[V2rayA](https://v2raya.org/)是比较稳定的,后来我把自己的旁路由都给撤了,全家的网络加速基本就是依靠透明代理,也非常的稳定。 而且是自己定义了RoutingA路由,但是V2ray不能自动更新geoip和geosite,我一直用Loyalsoldier/v2ray-rules-dat这个项目。 花10min写了一段脚本每天更新脚本,并将更新结果推送到vocechat。 # 过程 编辑`update_geo.sh`文件,主要修改URL地址以及存放本地deoip.dat的路径 ```bash #!/bin/bash # 设置变量 GEOIP_URL="https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geoip.dat" GEOSITE_URL="https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geosite.dat" LOCAL_GEOIP_PATH="/usr/share/v2ray/geoip.dat" # 请替换为您的本地 geoip.dat 文件路径 LOCAL_GEOSITE_PATH="/usr/share/v2ray/geosite.dat" # 请替换为您的本地 geosite.dat 文件路径 LOG_FILE="/root/update_geo/update_geo_files.log" # 请替换为您想要保存日志的路径 # 更新函数 update_geo_file() { local url=$1 local local_path=$2 local file_name=$(basename "$local_path") echo "$(date): 开始更新 $file_name" >> "$LOG_FILE" if curl -L -o "$local_path" "$url"; then echo "$(date): 成功更新 $file_name" >> "$LOG_FILE" else echo "$(date): 更新 $file_name 失败" >> "$LOG_FILE" fi } # 执行更新 update_geo_file "$GEOIP_URL" "$LOCAL_GEOIP_PATH" update_geo_file "$GEOSITE_URL" "$LOCAL_GEOSITE_PATH" ``` 给脚本添加权限,并设置每天定时更新。 ```bash # 添加执行权限 chmod +x update_geo.sh # 添加到 crontab 以实现每天自动更新 # 请在终端中运行 'crontab -e' 并添加以下行: 0 2 * * * /root/update_geo/update_geo.sh echo "脚本已执行完毕。请确保将其添加到 crontab 中以实现每天自动更新。" ``` 更新完成后同步发通知到自己的vocechat ```bash #!/bin/bash # 设置变量 GEOIP_URL="https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geoip.dat" GEOSITE_URL="https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geosite.dat" LOCAL_GEOIP_PATH="/usr/share/v2ray/geoip.dat" # 请替换为您的本地 geoip.dat 文件路径 LOCAL_GEOSITE_PATH="/usr/share/v2ray/geosite.dat" # 请替换为您的本地 geosite.dat 文件路径 LOG_FILE="/root/update_geo/update_geo_files.log" # 请替换为您想要保存日志的路径 # API 地址 API_URL="/api/bot/send_to_group/2" # API 密钥 API_KEY="" # 更新函数 update_geo_file() { local url="$1" local local_path="$2" local file_name=$(basename "$local_path") echo "$(date): 开始更新 $file_name" >> "$LOG_FILE" if curl -L -o "$local_path" "$url"; then echo "$(date): 成功更新 $file_name" >> "$LOG_FILE" MESSAGE="更新成功: $file_name" if ! curl -X POST \ -H "Content-Type: text/plain" \ -H "x-api-key: $API_KEY" \ -d "$(date) $MESSAGE" \ "$API_URL"; then echo "$(date): 发送成功通知失败" >> "$LOG_FILE" fi else echo "$(date): 更新 $file_name 失败" >> "$LOG_FILE" MESSAGE="$(date) 更新失败: $file_name" curl -X POST \ -H "Content-Type: text/plain" \ -H "x-api-key: $API_KEY" \ -d "$MESSAGE" \ "$API_URL" || echo "$(date): 发送失败通知失败" >> "$LOG_FILE" fi } # 执行更新 update_geo_file "$GEOIP_URL" "$LOCAL_GEOIP_PATH" update_geo_file "$GEOSITE_URL" "$LOCAL_GEOSITE_PATH" ``` 如果github连接不上,可以用imgki的github加速 加速地址:`https://ghproxy.imgki.com/` ```bash GEOIP_URL="https://ghproxy.imgki.com/https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geoip.dat" GEOSITE_URL="https://ghproxy.imgki.com/https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geosite.dat" ``` ### 实现效果 说实话这个VoceChat的自动推送真的是挺不错的。 ![image.png](https://imgki.com/usr/uploads/2024/10/1564856077.png) # 关于v2ray-rules-dat ``` 规则文件下载地址 如果无法访问域名 raw.githubusercontent.com,可以使用第二个地址 cdn.jsdelivr.net。 如果无法访问域名 cdn.jsdelivr.net,可以将其替换为 fastly.jsdelivr.net。 *.sha256sum 为校验文件。 geoip.dat: https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geoip.dat https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/geoip.dat geosite.dat: https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geosite.dat https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/geosite.dat 直连域名列表 direct-list.txt: https://raw.githubusercontent.com/Loyalsoldier/v2ray-rules-dat/release/direct-list.txt https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/direct-list.txt 代理域名列表 proxy-list.txt: https://raw.githubusercontent.com/Loyalsoldier/v2ray-rules-dat/release/proxy-list.txt https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/proxy-list.txt 广告域名列表 reject-list.txt: https://raw.githubusercontent.com/Loyalsoldier/v2ray-rules-dat/release/reject-list.txt https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/reject-list.txt @felixonmars/dnsmasq-china-list 仓库收集的在中国大陆可直连的域名列表 china-list.txt: https://raw.githubusercontent.com/Loyalsoldier/v2ray-rules-dat/release/china-list.txt https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/china-list.txt Apple 在中国大陆可直连的域名列表 apple-cn.txt: https://raw.githubusercontent.com/Loyalsoldier/v2ray-rules-dat/release/apple-cn.txt https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/apple-cn.txt Google 在中国大陆可直连的域名列表 google-cn.txt: https://raw.githubusercontent.com/Loyalsoldier/v2ray-rules-dat/release/google-cn.txt https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/google-cn.txt GFWList 域名列表 gfw.txt: https://raw.githubusercontent.com/Loyalsoldier/v2ray-rules-dat/release/gfw.txt https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/gfw.txt Windows 操作系统使用的隐私跟踪域名列表 win-spy.txt: https://raw.githubusercontent.com/Loyalsoldier/v2ray-rules-dat/release/win-spy.txt https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/win-spy.txt Windows 操作系统使用的系统升级域名列表 win-update.txt: https://raw.githubusercontent.com/Loyalsoldier/v2ray-rules-dat/release/win-update.txt https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/win-update.txt Windows 操作系统使用的附加隐私跟踪域名列表 win-extra.txt: https://raw.githubusercontent.com/Loyalsoldier/v2ray-rules-dat/release/win-extra.txt https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/win-extra.txt ``` Last modification:October 14, 2024 © Allow specification reprint Like 如果觉得我的文章对你有用,请随意赞赏