Skip to content
This repository has been archived by the owner on Mar 8, 2020. It is now read-only.

使用 crontab 定时更新 chinadns_chnroute

NemoAlex edited this page Nov 7, 2015 · 2 revisions

使用 crontab 定时更新 chinadns_chnroute

由于 ChinaDNS 和 Shadowsocks 以及 ShadowVPN 使用的 chinadns_chnroute.txt 和 ignore.list 其实是同一个东西,即所有国内 IP 段。我们可以把它们配置成同一个文件,然后用定时脚本来更新它。

注意:如果网速不理想的话,执行脚本有可能会中断,导致文件不完整。所以还是建议不要自动去更新了吧。

在 System - Scheduled Tasks(系统 - 计划任务)中加入一条:

0 0 * * * wget -O- 'http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest' | awk -F\| '/CN\|ipv4/ { printf("%s/%d\n", $4, 32-log($5)/log(2)) }' > /etc/chinadns_chnroute.txt

这个的意思是每天的 0 点 0 分会自动更新 chinadns_chnroute.txt

进阶

如果你觉得这个列表有不完善的地方,想要追加一些内容(或者由于 ShadowVPN 没有提供自定义黑名单和白名单的功能,你想要加一些 IP 段到白名单中),可以这样做:

在 /etc/ 中建立一个 my_route.txt,写好你要加的 IP 或 IP 段,每行一个,例如

114.114.114.114

或者

114.114.114.0/24

计划任务这样写:

0 0 * * * wget -O- 'http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest' | awk -F\| '/CN\|ipv4/ { printf("%s/%d\n", $4, 32-log($5)/log(2)) }' > /etc/chinadns_chnroute.txt  && cat /etc/my_route.txt >> /etc/chinadns_chnroute.txt

即每次更新列表的时候,把自定义的加在后面。