|
|
本帖最后由 3177292 于 2025-12-5 09:49 编辑
换那种自动运行脚本就可以解决。
- wget -q https://gitlab.com/ineo6/hosts/-/raw/master/next-hosts -O /tmp/hostsNew1.txt --no-check-certificate
- cat /tmp/hostsNew1.txt /etc/hosts_origin > /tmp/hostsNewAll.txt
- cp /tmp/hostsNewAll.txt /etc/hosts
- chmod 664 /etc/hosts
- /etc/init.d/dnsmasq restart
复制代码 将以上内容保存为hostsUpdate.sh,winscp上传至路由tmp目录
TTYD中登录路由器账号,输入下面命令将本文件移动到root目录;
mv /tmp/hostsUpdate.sh /root
修改脚本运行权限;
chmod 777 hostsUpdate.sh
复制原hosts,使其更新时不破坏原有hosts文件信息;
cp /etc/hosts /etc/hosts_origin
修改复制的hosts文件的权限;
chmod 664 /etc/hosts_origin
到这里就基本成功了,可以运行脚本尝试是否可用;
/root/hostsUpdate.sh
待运行完成后,查看hosts,若内容非常多,则表示已成功;
cat /etc/hosts
若成功,则可以在OpenWRT路由器管理页面的系统-计划任务中添加下面的代码,添加后点提交,最后在系统-启动项中将cron重启即可。下面代码表示每4小时运行该脚本更新hosts文件。
0 */4 * * * /root/hostsUpdate.sh
还有个小地方,原hosts要在127.0.0.1 localhost前按下回车,保持第一行为空,自定义hosts'的内容需要事先在hosts里面添加好,再进行上面的命令行操作,这样合并hosts的时候就不会把127.0.0.1 localhost和要合并的内容合并在一行了。
虽然这样理论上可以了,但实际上还是时灵时不灵的。
|
|