找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 584626|回复: 3237

【2021.5.8 更新】超强大的dnsmasq及hosts全自动脚本(ADSI)扶X去广告详...

   火... [复制链接]
发表于 2017-6-5 17:58 | 显示全部楼层 |阅读模式
本帖最后由 clion007 于 2021-5-8 22:28 编辑

那是最昌明的时世,那是最衰微的时世;那是睿智开化的岁月,那是混沌蒙昧的岁月;那是信仰笃诚的年代,那是疑云重重的年代;那是阳光灿烂的季节,那是长夜晦暗的季节;那是欣欣向荣的春天,那是死气沉沉的冬天;我们眼前无所不有,我们眼前一无所有;我们正踏上天堂之路,我们正走向地狱之门——简而言之,那个时代同现今这个时代竟然如此惟妙惟肖,就连它那叫嚷得最凶的权威人士当中,有些也坚持认为,不管它是好是坏,都只能用“最”字来表示它的程度。
——狄更斯《双城记》

前言:


大家都应该知道兲朝上网和用过各种去广告的插件,但是配置是不是很麻烦,小白完全看不懂?是不是要花钱买账号?是不是很占用路由器的资源?是不是发现带宽降低了?学习借鉴了多位前辈的经验,包括但不限于:https://www.right.com.cn/forum/forum.php?mod=viewthread&tid=189065&highlight=dnsmasqhttps://www.right.com.cn/forum/forum.php?mod=viewthread&tid=184121https://www.right.com.cn/forum/thread-216155-1-1.html。可选择的实现了通过dnsmasq全自动ADSI脚本,为实现在路由器入口(通过该路由器上网的全部设备)广告过滤,和防运营商DNS劫持部分域名解析防污染提供了可能。脚本为借鉴前辈lukme代码编写,更新优化了维护更新源,加入整合了著名插件ABP和移动端广告过滤软件adaway以及vokins等的多个广告规则,广告过滤更加完善,不敢私藏,现分享给大家。恩山的前辈高手太多,第一次在恩山发技术分享贴,内心时分惶恐!如有不对之处,望各位前辈斧正!



由于这两年事情特别多,很少来恩山了,因此可能回复不那么及时,还望大家理解!

重要提示:兲朝上网请通过https加密连接访问!该脚本和方法只适用于Openwrt系列内核的固件,包括但不限于pandorabox、LEDE、ddwrt、明月、石像鬼、newifi官方固件等,华硕、老毛子、梅林等Padavan系列固件请下载pavadan固件专用的脚本进行配置,tomato系列固件未经测试,且本人不太了解该固件,请慎用。本人用的是pandorabox最新稳定版,其它固件的可用性均由网友测试证实,并非本人亲测结果,仅供参考。如果不是以上所述的对应路由固件系统,小白就不用往下看了,以免浪费你宝贵的时间。如果你也愿意自己折腾,tomato、padavan等其它固件,可以参考https://www.right.com.cn/forum/forum.php?mod=viewthread&tid=184121帖子内容代码编写规则及文件目录架构自行修改我提供的代码适用到你的系统固件中,并欢迎联系我或上传到我的github线上项目分享出来造福后人,本人没有用这些固件,无法进行测试。



本着简单易用的基本原则,首先还是先科普一下一些基本概念,老鸟请自行跳过!

1、什么是ADSI?
这个脚本写了有几年了,这两天又进行了大幅的结构优化和代码的完善,现在我把它叫做Auto DNS Scientific Internet,简称ADSI,是一个小巧,方便且全自动配置dnsmasq的工具,适用于家庭网络智能路由器端使用,配置简单、快速、免维护,它为家庭网络的路由器入口提供了可选择的基于dnsmasq的广告过滤功能和可选择的部分域名解析防污染功能。

2、什么是Dnsmasq?
(转自某度百科)
DNSmasq是一个小巧且方便地用于配置DNS和DHCP的工具,适用于小型网络,它提供了DNS功能和可选择的DHCP功能。它服务那些只在本地适用的域名,这些域名是不会在全球的DNS服务器中出现的。DHCP服务器和DNS服务器结合,并且允许DHCP分配的地址能在DNS中正常解析,而这些DHCP分配的地址和相关命令可以配置到每台主机中,也可以配置到一台核心设备中(比如路由器),DNSmasq支持静态和动态两种DHCP配置方式。

3、Dnsmasq有什么用?能为我解决什么

默认的情况下,我们平时上网用的本地DNS服务器都是使用电信或者联通的,但是这样也导致了不少的问题,首当其冲的就是上网时经常莫名地弹出广告,或者莫名的流量被消耗掉导致网速变慢。其次是部分网站域名不能正常被解析,莫名其妙地打不开,或者时好时坏。

如果碰上不稳定的本地DNS,还可能经常出现无法解析的情况。除了要避免“坏”的DNS的影响,我们还可以利用DNS做些“好”事,例如管理局域网的DNS、给手机App Store加速、纠正错误的DNS解析记录、保证上网更加安全、去掉网页讨厌的广告等等。


4、方案dnsmasq提供了什么?

目前主要提供几个功能:
  • 分域名DNS解析,提升加快不同网站的访问速度;
  • 国外域名加密解析自动扶墙,享受无墙的快感,上你想上的,看你想看的
  • 屏蔽恶心的运营商ip劫持(依靠优化上游DNS解析服务器实现,非hosts);
  • 全面屏蔽广告(依靠路由器计划任务进行自动维护更新的hosts和dnsmasq规则实现)。

5、方案的优势?
  • 系统支持广,(openwrt、pandorabox等)凡是基于Openwtr系统内核的固件原则上均可使用;
  • 路由器资源消耗极低,相比起adbyby、koolproxy等去广告插件后产生的30%-50%的带宽损失,本脚本一点也不占用和降低带宽,让你享受满速狂奔的快感;
  • 方便,快捷,智能全自动化,让你的智能路由器真正实现智能,一键全自动安装配置,无需后续人工手动维护,路由器便可全自动定时更新和维护,一劳永逸;
  • 广告扶墙规则涵盖全面,你想要的,这里都有,你不想看的(广告),都看不到,让你拥有干净的网络空间,所有规则源均为持续维护源,永不过时;
  • 免费方便,扶墙、过滤广告无需额外安装证书,可代替s-s、adbyby、koolproxy、china-dns等防劫持、扶墙和广告过滤插件,且永远不会产生任何费用;
  • 考虑到还有一些小存储空间的路由器无法保存较大的规则文件,且IPv6普及度仍然较低,暂时只支持IPv4网络,不支持IPv6。待IPv6全面普及后,将考虑增加对IPv6的支持。

支持谷狗,优兔,非死不可等等熟悉的国外网站的访问规则来自gfwlist,优兔可以看1080p高清视频无压力,前提是你的带宽够用。图片就不晒了,直接进入正题:

往路由器上传文件及登录方式借助winSCP软件,运行脚本方法可以使用路由器的webshell或者用putty软件登录路由器运行,推荐使用putty远程登录路由器运行,中间需要选择运行选项时,putty支持好像更好。相关方法在我以前的帖子http://bbs.newifi.com/thread-3444-1-1.html中有详细图文教程,在此不再嗷述。

dnsmasq兲朝上网,全面广告屏蔽,全自动脚本,一键搞定


由于鄙人用的newifi mini硬件性能实在有限,本来想买个好点儿的,但是高昂的价格实在又让我几番望而却步。之前使用adbyby之类的插件严重影响网速,因此才想进一步优化通过dnsmasq和hosts优化屏蔽广告,通过各种努力的查找,终于找到一些更加完善的广告过滤dnsmasq和hosts规则,并进一步优化dnsmasq配置和计划任务的命令行和参数,加入著名的adbyby和ABP插件用的easylistchina规则,加入国外网站广告过滤malwaredomainlist规则,加入手机端著名广告过滤软件adaway用的规则。除了个别视频广告外(PC可以通过浏览器插件屏蔽),基本通过浏览器插件及adbyby等插件能屏蔽的广告应该都能屏蔽了。为了方便小白都能容易上手,已将所有代码编辑为全自动的sh脚本,运行一次,所有事情都搞定了。本人亲测,并已经通过测试。

PS:
1.如果以前运行过类似脚本或命令,最好恢复出厂设置;
2.有的固件携带的wget命令不支持https下载,需要重装wget;
3.本脚本为路由使用,非交换机使用,如果你将路由器的lan口链接了上级路由器的lan口,此路由即变为交换机,无法使用本脚本,请在上级路由安装配置。

如果以前没有更改过类似设置或恢复出厂设置后,请直接到本帖后面下载四合一脚本运行。

脚本源代码原理介绍


本着授人以鱼,不如授人以渔的原则精神,为了更好的帮助像我一样不太熟悉此领域的技术控理解脚本的原理,下面以扶墙脚本代码为例,说明其工作原理。
配置扶墙规则全自动脚本源代码如下:
  1. #!/bin/sh
  2. echo
  3. wgetroute="/usr/bin/wget-ssl"
  4. CRON_FILE=/etc/crontabs/$USER
  5. echo
  6. echo "------------------------------------------------------------------"
  7. echo -e "\e[1;31m 请先查询你的\e[1;36mlan网关ip\e[1;31m再选择,\e[1;36mlan网关ip\e[1;31m必须为:\e[1;36m'192.168.1.1'\e[0m"
  8. echo "------------------------------------------------------------------"
  9. echo
  10. echo -e "\e[1;36m >         1. 安装 \e[0m"
  11. echo
  12. echo -e "\e[1;31m >         2. 卸载 \e[0m"
  13. echo
  14. echo -e "\e[1;36m >         3. 退出 \e[0m"
  15. echo
  16. echo -e -n "\e[1;34m 请输入数字继续执行: \e[0m"
  17. read menu
  18. if [ "$menu" == "1" ]; then
  19. echo
  20. echo -e "\e[1;36m 三秒后开始安装......\e[0m"
  21. echo
  22. sleep 3
  23. echo -e "\e[1;36m 正在更新软件包,根据网络状态决定时长\e[0m"
  24. rm -f /var/lock/opkg.lock
  25. opkg update
  26. sleep 2
  27. echo
  28. echo -e "\e[1;36m 开始检查并安装wget-支持https\e[0m"
  29. echo
  30. if [ -f $wgetroute ]; then
  31.         echo -e "\e[1;31m 系统已经安装wget-ssl软件\e[0m"
  32.         #opkg remove wget > /dev/null 2>&1
  33.         #opkg install wget        
  34.         else
  35.         echo -e "\e[1;31m 没有发现wget-ssl开始安装\e[0m"
  36.         opkg install wget
  37.         echo
  38.         if [ -f $wgetroute ]; then
  39.                 echo -e "\e[1;36m wget安装成功         \e[0m[\e[1;31mmwget has been installde successfully\e[0m]"
  40.                 else
  41.                 echo -e "\e[1;31m wget安装失败,请到路由器系统软件包手动安装后再试!\e[0m"
  42.                 exit
  43.         fi        
  44. fi
  45. echo
  46. sleep 3
  47. echo -e "\e[1;36m 创建dnsmasq规则与更新脚本存放的文件夹\e[0m"
  48. echo
  49. echo -e "\e[1;36m 检测和备份当前dnsmasq配置信息\e[0m"
  50. if [ -d /etc/dnsmasq ]; then
  51.         mv /etc/dnsmasq /etc/dnsmasq.bak
  52. fi
  53. if [ -d /etc/dnsmasq.d ]; then
  54.         mv /etc/dnsmasq.d /etc/dnsmasq.d.bak
  55. fi
  56. mkdir -p /etc/dnsmasq
  57. mkdir -p /etc/dnsmasq.d
  58. echo
  59. sleep 3
  60. echo -e "\e[1;36m dnsmasq.conf 添加广告规则路径\e[0m"
  61. if [ -f /etc/dnsmasq.conf ]; then
  62.         mv /etc/dnsmasq.conf /etc/dnsmasq.conf.bak
  63. fi
  64. echo "# 添加监听地址(其中192.168.1.1为你的lan网关ip)
  65. listen-address=192.168.1.1,127.0.0.1

  66. # 并发查询所有上游DNS服务器
  67. all-servers

  68. # 指定上游DNS服务器配置文件路径
  69. resolv-file=/etc/dnsmasq/resolv.conf

  70. # IP反查域名
  71. bogus-priv

  72. # 添加DNS解析文件
  73. conf-file=/etc/dnsmasq.d/fq.conf

  74. # 设定域名解析缓存池大小
  75. cache-size=10000" > /etc/dnsmasq.conf # 换成echo的方式注入
  76. echo
  77. sleep 3
  78. echo -e "\e[1;36m 创建上游DNS配置文件\e[0m"
  79. cp /tmp/resolv.conf.auto /etc/dnsmasq/resolv.conf
  80. echo "# 上游DNS解析服务器
  81. nameserver 127.0.0.1
  82. # 如需根据自己的网络环境优化DNS服务器,可用ping或DNSBench测速
  83. # 选择最快的服务器,打开文件依次按速度快慢顺序手动改写
  84. nameserver 218.30.118.6
  85. nameserver 8.8.4.4
  86. nameserver 119.29.29.29
  87. nameserver 4.2.2.2
  88. nameserver 114.114.114.114
  89. nameserver 1.2.4.8
  90. nameserver 223.5.5.5
  91. nameserver 114.114.114.119" >> /etc/dnsmasq/resolv.conf # 换成echo的方式注入
  92. echo
  93. sleep 3
  94. echo -e -n "\e[1;36m 创建自定义扶墙规则\e[0m"
  95. echo
  96. echo "# 规则格式,删除address前 # 生效,如有需要自己添加的规则,请打开userlist添加
  97. # 后面的地址有两种情况,优选具体ip地址
  98. #address=/.001union.com/127.0.0.1
  99. #address=/telegram.org/149.154.167.99" > /etc/dnsmasq.d/userlist
  100. echo
  101. echo -e "\e[1;36m 下载扶墙规则\e[0m"
  102. echo
  103. echo -e "\e[1;36m 下载sy618扶墙规则\e[0m"
  104. /usr/bin/wget-ssl --no-check-certificate -q -O /tmp/sy618 https://raw.githubusercontent.com/sy618/hosts/master/dnsmasq/dnsfq
  105. echo
  106. #echo -e "\e[1;36m 下载racaljk规则\e[0m"
  107. #/usr/bin/wget-ssl --no-check-certificate -q -O /tmp/racaljk https://raw.githubusercontent.com/racaljk/hosts/master/dnsmasq.conf
  108. #echo
  109. sleep 3
  110. #echo -e "\e[1;36m 删除racaljk规则中google'youtube相关规则\e[0m"
  111. #sed -i '/google/d' /tmp/racaljk
  112. #sed -i '/youtube/d' /tmp/racaljk
  113. #echo
  114. echo -e "\e[1;36m 创建用户自定规则缓存\e[0m"
  115. cp /etc/dnsmasq.d/userlist /tmp/userlist
  116. echo
  117. echo -e -n "\e[1;36m 删除dnsmasq缓存注释\e[0m"
  118. sed -i '/#/d' /tmp/sy618
  119. #sed -i '/#/d' /tmp/racaljk
  120. sed -i '/#/d' /tmp/userlist
  121. echo
  122. #echo -e -n "\e[1;36m 扶墙网站指定到#443端口访问\e[0m"
  123. #awk '{print $0"#443"}' /tmp/sy618 > /tmp/sy618
  124. #awk '{print $0"#443"}' /tmp/racaljk > /tmp/racaljk
  125. #awk '{print $0"#443"}' /tmp/userlist > /tmp/userlist
  126. #echo
  127. echo -e -n "\e[1;36m 合并dnsmasq缓存\e[0m"
  128. #cat /tmp/userlist /tmp/racaljk /tmp/sy618 > /tmp/fq
  129. cat /tmp/userlist /tmp/sy618 > /tmp/fq
  130. echo
  131. echo -e -n "\e[1;36m 删除dnsmasq临时文件\e[0m"
  132. rm -rf /tmp/userlist
  133. rm -rf /tmp/sy618
  134. #rm -rf /tmp/racaljk
  135. echo
  136. echo -e "\e[1;36m 删除本地规则\e[0m"
  137. sed -i '/::1/d' /tmp/fq
  138. sed -i '/localhost/d' /tmp/fq
  139. echo
  140. echo -e "\e[1;36m 创建dnsmasq规则文件\e[0m"
  141. echo "
  142. # Localhost (DO NOT REMOVE) Start
  143. address=/localhost/127.0.0.1
  144. address=/localhost/::1
  145. address=/ip6-localhost/::1
  146. address=/ip6-loopback/::1
  147. # Localhost (DO NOT REMOVE) End

  148. # Modified hosts start
  149. " > /etc/dnsmasq.d/fq.conf # 换成echo的方式注入
  150. echo
  151. echo -e "\e[1;36m 删除dnsmasq重复规则及相关临时文件\e[0m"
  152. sort /tmp/fq | uniq >> /etc/dnsmasq.d/fq.conf
  153. echo "# Modified DNS end" >> /etc/dnsmasq.d/fq.conf
  154. rm -rf /tmp/fq
  155. echo
  156. sleep 3
  157. echo -e "\e[1;36m 重启dnsmasq服务\e[0m"
  158. #killall dnsmasq
  159.         /etc/init.d/dnsmasq restart > /dev/null 2>&1
  160. echo
  161. sleep 2
  162. echo -e "\e[1;36m 获取规则更新脚本\e[0m"
  163. wget --no-check-certificate -q -O /etc/dnsmasq/fqad_update.sh https://raw.githubusercontent.com/clion007/dnsmasq/master/fq_update.sh
  164. echo
  165. sleep 1
  166. echo -e "\e[1;31m 添加计划任务\e[0m"
  167. chmod 755 /etc/dnsmasq/fq_update.sh
  168. sed -i '/dnsmasq/d' $CRON_FILE
  169. sed -i '/@/d' $CRON_FILE
  170. echo
  171. echo "[$USER@$HOSTNAME:/$USER]#cat /etc/crontabs/$USER
  172. # 每天6点28分更新dnsmasq扶墙规则
  173. 28 6 * * * /bin/sh /etc/dnsmasq/fq_update.sh > /dev/null 2>&1" >> $CRON_FILE
  174. /etc/init.d/cron reload
  175. echo -e "\e[1;36m 定时计划任务添加完成!\e[0m"
  176. sleep 1
  177. echo
  178. rm -f /tmp/fq_auto.sh
  179. fi
  180. echo
  181. if [ "$menu" == "2" ]; then
  182. echo
  183. echo -e "\e[1;31m 开始卸载dnsmasq扶墙及广告规则\e[0m"
  184.         rm -f /var/lock/opkg.lock
  185. sleep 1
  186. echo
  187. echo -e "\e[1;31m 删除残留文件夹以及配置\e[0m"
  188.         rm -rf /etc/dnsmasq
  189.         rm -rf /etc/dnsmasq.d
  190. if [ -d /etc/dnsmasq.bak ]; then
  191.         mv /etc/dnsmasq.bak /etc/dnsmasq
  192. fi
  193. echo
  194. if [ -d /etc/dnsmasq.d.bak ]; then
  195.         mv /etc/dnsmasq.d.bak /etc/dnsmasq.d
  196. fi
  197. echo
  198. if [ -f /etc/dnsmasq.conf.bak ]; then
  199.         rm -rf /etc/dnsmasq.conf
  200.         mv /etc/dnsmasq.conf.bak /etc/dnsmasq.conf
  201. fi
  202. echo
  203. sleep 1
  204. echo -e "\e[1;31m 删除相关计划任务\e[0m"
  205. sed -i '/dnsmasq/d' $CRON_FILE
  206. /etc/init.d/cron reload
  207. sleep 1
  208. echo
  209. echo -e "\e[1;31m 重启dnsmasq\e[0m"
  210.         /etc/init.d/dnsmasq restart > /dev/null 2>&1
  211.         rm -f /tmp/fq_auto.sh
  212. fi
  213. echo
  214. if [ "$menu" == "3" ]; then
  215. echo
  216. rm -f /tmp/fq_auto.sh
  217. echo
  218. exit 0
  219. fi
  220. echo
复制代码
运行脚本后,将会在/etc/dnsmasq目录中生成fq_update.sh自动更新规则脚本文件,脚本源代码如下:
  1. #!/bin/sh
  2. echo -e "\e[1;36m 3秒钟后开始更新规则\e[0m"
  3. echo
  4. sleep 3
  5. echo " 开始更新dnsmasq规则"
  6. # 下载sy618扶墙规则
  7. /usr/bin/wget-ssl --no-check-certificate -q -O /tmp/sy618 https://raw.githubusercontent.com/sy618/hosts/master/dnsmasq/dnsfq

  8. # 下载racaljk规则
  9. #/usr/bin/wget-ssl --no-check-certificate -q -O /tmp/racaljk https://raw.githubusercontent.com/racaljk/hosts/master/dnsmasq.conf

  10. # 删除racaljk规则中google'youtube相关规则
  11. #sed -i '/google/d' /tmp/racaljk
  12. #sed -i '/youtube/d' /tmp/racaljk

  13. # 创建用户自定规则缓存
  14. cp /etc/dnsmasq.d/userlist /tmp/userlist

  15. # 删除dnsmasq缓存注释
  16. sed -i '/#/d' /tmp/sy618
  17. #sed -i '/#/d' /tmp/racaljk
  18. sed -i '/#/d' /tmp/userlist

  19. # 扶墙网站指定到#443端口访问
  20. #awk '{print $0"#443"}' /tmp/sy618 > /tmp/sy618
  21. #awk '{print $0"#443"}' /tmp/racaljk > /tmp/racaljk
  22. #awk '{print $0"#443"}' /tmp/userlist > /tmp/userlist

  23. # 合并dnsmasq缓存
  24. #cat /tmp/userlist /tmp/racaljk /tmp/sy618 > /tmp/fq
  25. cat /tmp/userlist /tmp/sy618 > /tmp/fq

  26. # 删除dnsmasq临时文件
  27. rm -rf /tmp/userlist
  28. rm -rf /tmp/sy618
  29. #rm -rf /tmp/racaljk

  30. # 删除本地规则
  31. sed -i '/::1/d' /tmp/fq
  32. sed -i '/localhost/d' /tmp/fq

  33. # 创建dnsmasq规则文件
  34. echo "
  35. # Localhost (DO NOT REMOVE) Start
  36. address=/localhost/127.0.0.1
  37. address=/localhost/::1
  38. address=/ip6-localhost/::1
  39. address=/ip6-loopback/::1
  40. # Localhost (DO NOT REMOVE) End

  41. # Modified hosts start
  42. " > /tmp/fq.conf

  43. # 删除dnsmasq重复规则
  44. sort /tmp/fq | uniq >> /tmp/fq.conf
  45. echo "# Modified DNS end" >> /tmp/fq.conf

  46. # 删除dnsmasq合并缓存
  47. rm -rf /tmp/fq
  48. echo
  49. if [ -s "/tmp/fq.conf" ]; then
  50.         if ( ! cmp -s /tmp/fq.conf /etc/dnsmasq.d/fq.conf ); then
  51.                 mv /tmp/fq.conf /etc/dnsmasq.d/fq.conf
  52.                 echo " `date +'%Y-%m-%d %H:%M:%S'`:检测到fq规则有更新......开始转换规则!"
  53.                 /etc/init.d/dnsmasq restart > /dev/null 2>&1
  54.                 echo " `date +'%Y-%m-%d %H:%M:%S'`: fq规则转换完成,应用新规则。"
  55.                 else
  56.                 echo " `date +'%Y-%m-%d %H:%M:%S'`: fq本地规则和在线规则相同,无需更新!" && rm -f /tmp/fq.conf
  57.         fi        
  58. fi
  59. echo
  60. echo -e "\e[1;36m 规则更新完成\e[0m"
  61. echo
  62. exit 0
复制代码
运行脚本后/etc/dnsmasq.conf文件添加修改源代码如下:
  1. # 添加监听地址(将192.168.1.1修改为你的lan网关ip)
  2. listen-address=192.168.1.1,127.0.0.1

  3. # 并发查询所有上游DNS
  4. all-servers

  5. # 添加上游DNS服务器
  6. resolv-file=/etc/dnsmasq/resolv.conf

  7. # IP反查域名
  8. bogus-priv

  9. # 添加DNS解析文件
  10. conf-file=/etc/dnsmasq.d/fq.conf

  11. # 设定域名解析缓存池大小
  12. cache-size=10000
复制代码
运行脚本后,将会在路由器/etc/dnsmasq目录中新建文件resolv.conf内容如下:
  1. # 上游DNS解析服务器
  2. nameserver 127.0.0.1
  3. # 如需根据自己的网络环境优化DNS服务器,可用ping或DNSBench测速
  4. # 选择最快的服务器,打开文件依次按速度快慢顺序手动改写
  5. nameserver 218.30.118.6
  6. nameserver 119.29.29.29
  7. nameserver 114.114.114.114
  8. nameserver 223.5.5.5
  9. nameserver 114.114.114.119
复制代码
注:此处采用的是各大公用DNS服务器,包括运行商的本地DNS、114DNS、谷歌DNS、百度DNS、阿里DNS、腾讯DNS、微软DNS、360DNS等。可根据自己的网络环境进入文件修改优化。

运行脚本后,将会在路由器计划任务中
生成定时更新规则的计划任务,其添加的详细源代码如下:(其中$后面为环境变量,USER为你的用户名,Openwrt系统默认为root,HOSTNAME为你设定的路由器的名字
  1. [$USER@$HOSTNAME:/$USER]#cat /etc/crontabs/$USER
  2. # 每天6点28分更新dnsmasq扶墙规则
  3. 28 6 * * * /bin/sh /etc/dnsmasq/fq_update.sh > /dev/null 2>&1
复制代码
运行脚本后,将会在路由器的/etc/dnsmasq.d目录中生成用户自定义规则文件,并命名为userlist,其内容如下:
  1. # 规则格式,删除address前 # 生效,如有需要自己添加的规则,请在下面添加
  2. # 后面的地址有两种情况,优选具体ip地址
  3. #address=/.001union.com/127.0.0.1
  4. #address=/telegram.org/149.154.167.99
复制代码
如有有发现无法扶墙的网站,本脚本生成的规则中没有涉及,可以自行找到该网站可用的IP地址(可以在有效环境中用lookup反查域名的方式得到网站IP,或者借助一些网站工具查询)添加到该文件中,每条规则一行,格式:address=/telegram.org/149.154.167.99。

本运行脚本运行后,dnsmasq规则路径/etc/dnsmasq.d,广告规则路径/etc/dnsmasq。上网终端访问网络的过程如下:查询本地规则,匹配按本地规则指定的地址进行解析。如果hosts和dnsmasq规则都没有解析到要访问的域名,则提交到/etc/dnsmasq/resolv.conf文件中配置的上游DNS服务器进行并发查询解析,并返回最快的解析IP地址访问。

这种方法的弊端就是需要有人持续维护更新,脚本中选择使用的所有规则源都是有持续维护更新的,关于广告屏蔽导致有的网站被错杀无法打开的问题,请到https://github.com/vokins/yhosts向规则维护者反馈。支持自定义规则!如果自己能找到相应的规则域名或IP,可在dnsmasq.d或dnsmasq目录下的userlist、blacklist或whitelist忠添加自己打规则。

Openwrt系列固件ADSI⑥合一脚本下载:
目前已知包括但不限于Openwrt、pandorabox、LEDE、ddwrt、Newifi官方、明月、石像鬼等系列固件都可使用!

Padavan系列固件专版下载:
此脚本适用于padavan系列固件,包括华硕、老毛子等在内的系列固件都属于padavan固件,梅林虽然也是padavan固件,但是据说可保存文件的路径不同,其它padavan一般是storage目录,梅林不是,如果是要使用需要修改一下脚本保存文件的路径。以前很多坛友问padavan固件用的脚本,由于我没有用那个固件,所以一直没有写,也没有办法测试,现在好了,感谢坛友蓝色小小的贡献和分享,现在有了padavan可用的脚本。此脚本由坛友蓝色小小修改和测试,本人没有测试。大家测试如果遇到问题,可以直接请教坛友蓝色小小,我可以帮忙进行力所能及的分析。

安装配置方法:
将下载的压缩包解压,用winSCP上传到路由器/tmp目录(其它也可以,只要后面输入运行目录对应上就行),在putty软件登录路由器后,输入sh /tmp/dnsmasq_all.sh回车,即可运行脚本根据需要选择配置路由器dnsmasq及hosts,完成后可以选择重启路由器,脚本中已经加入了dnsmasq进程重启命令,一般无需重启路由器即可生效。运行脚本显示乱码的问题请参考2楼设置putty软件。此外,本脚本的相关文件都是放在github线上项目中的,配置过程中需要能正常访问github网站,如果不能正常配置,请检查网络环境是否可以正常访问github网站。

注意:如果使用脚本中的软件更新以及安装功能,请确保使用官方的固件,不要用论坛上其它人编译的各种固件,经测试发现这些固件在刷新软件源时会有各种问题,导致无法正确安装软件。暂时不知道原因!优酷PC网页视频正常播放一次再启用脚本规则(/etc/dnsmasq.conf中,addn-hosts代码前面添加一个#号,保存,重启一下dnsmasq进程,就关掉脚本的host规则了,优酷就能打开了。去掉#号,保存,重启dnsmasq进程,恢复使用规则,过滤广告。),就能正常播放并去广告,不会有禁用cookie的错误提示,去广告后爱奇艺PC网页视频发现遨游5浏览器可以正常播放并能直接跳过片头广告,其它浏览器好像不行。

后记:

本人的newifi mini目前使用的是2017最新出的pandorabox1610稳定版,经过测试(据说pandorabox的开发团队接手了Newifi固件的开发,短时间内不会再更新固件版本了),发现几个需要注意的地方,摸索了好久才搞明白,给大家分享一下,免得再走弯路。

1、这个版本没有webshell插件,电脑可以用putty 登录,也可以在系统-软件包中搜索安装;


2、这个有点奇葩 ,我开始怎么改dnsmasq.conf配置文件,都无法正确解析DNS,所有网页都打不开,真是百思不得其解啊。后来发现,配置文件中有一行命令“
dhcp-option=252,"\n"”,没有加#注释掉的,也就是这一行,让DNS无法正常解析,删除掉后,写入以前配置文件代码后,DNS就可以正常解析了,也能正常访问google等网站了,此外发现,添加额外的上游DNS解析文件后不存在这个问题了,因此使用最新的四合一脚本可以忽略这个问题。

3、这个版本的系统不带wget插件,无法下载文件,也是万万没想到啊,还以为是命令参数不对。同样,需要到软件包中搜索安装,安装后就可以正常下载了。新的四合一脚本自带安装命令,不用在手动进入网页路由管理页面的软件包中搜索安装,会在运行配置脚本是检查是否安装wget软件包,如果没有会自带安装后再继续运行后续命令。


该版本除以上几点需要注意外,这些天测试下来,没有什么问题,目前运行还比较稳定。

特别感谢sy618、vokins提供的线上项目资源以及维护项目所做出的贡献!感谢lukme提供的脚本编译写法!感谢zshwq5为后续优化给的建议!感谢蓝色小小提供Padavan系列固件的脚本移植!

关于固件:7620的芯片,测试了各种固件,目前就潘多拉的的wifi驱动比较给力,其它的都很渣,不同芯片请自行测试,目前潘多拉的软件源已经恢复正常。此外,发现有一些固件(比如新版的pandorabox),在编译时自带了两个dnsmasq软件包,即dnsmasq和dnsmasq-full。同时两个都存在时,会导致DNS无法正常解析的问题,移除dnsmasq,保留dnsmasq-full,重启dnsmasq进程后解析恢复正常。


更新日志:


2017.6.6 修复完善

谢谢大家的反馈,因为我之前已经改过配置,直接测试的自动更新脚本,没有想到dnsmasq_fqad.sh一键安装更新脚本出了好多问题,现在已经全部修正并测试通过。如还有bug,欢迎大家反馈!
据反馈,LEDE系统和Openwrt系统略有不同,zshwq5测试修改了适合LEDE的脚本代码。路由器刷LEDE系统的网友,可以用这个zshwq5修改的脚本进行尝试测试:作者线上项目已下线,请使用最新的4合一脚本进行安装配置。
*使用时请检查 /usr/bin/wget-ssl 是否存在。如果没有wget-ssl需要安装wget
*该脚本中监听的路由器地址是192.168.11.1,请自行手动修改回192.168.1.1


2017.6.7 新增LEDE系统专用脚本

此外我看了zshwq5提供的代码,好像有点小小的错误,命令行的第一行好像被注释掉了。参照zshwq5的代码,更新了LEDE系统专用的全自动一键安装运行脚本,并将监听地址改回了192.168.1.1。谢谢zshwq5提供的注入每日定时任务的代码!由于我没有刷LEDE系统,没办法进行完全测试,大家可以分别试一下。运行过程中不会有任何提示,自动在后台完成所有配置和操作。

2017.6.7 更新优化

新增racaljk维护的dnsmasq规则扶墙更全面,优化删除去除重复规则后产生的混乱注释,规则更简洁。
新增单独扶墙规则全自动脚本,不屏蔽广告。本脚本给在使用adbyby等插件屏蔽广告,只想用dnsmasq扶墙防DNS劫持的网友使用。运行过程中不会有任何提示,自动在后台完成所有配置和操作。
新增全自动脚本下载:

2017.6.8 补充优化

有网友反馈,360和头条网站好像无法正常访问。我有查看了一下规则文件,可能360和头条确实被误杀了。我平时不访问这两个网站。如果需要访问,可以在自动更新脚本/etc/dnsmasq.d/fqad_update.sh中dnsmasq和hosts规则合并后的相应位置分别加入如下代码:
# 删除所有360和头条的规则
sed -i '/360/d' /etc/dnsmasq.d/fqad.conf
sed -i '/toutiao/d' /etc/dnsmasq.d/fqad.conf
# 删除所有360和头条的规则
sed -i '/360/d' /etc/dnsmasq/noad.conf
sed -i '/toutiao/d' /etc/dnsmasq/noad.conf

最新脚本优化了上游DNS服务器,解析速度有所提高,解析速度的分析基于我目前的网络环境,用DNSBench软件分析检测DNS服务器解析速度。如果觉得打开网页速度有所延迟,可以在/etc/dnsmasq/resolv.conf文件中加入所用服务商当地的DNS服务器IP地址,有助于服务商DNS能正常解析的网站提高解析速度。大家可以根据自己的网络环境,用DNSBench软件检测分析后,对上游DNS服务器进行优化,改成所在网络环境中最快的DNS。

2017.6.10 脚本优化

感谢zshwq5对完善本自动设置更新脚本做出的贡献!最新优化了一键安装脚本,实现脚本安装过程与详情的可视化,并增加了自动检测安装环境,安装wget等的功能,并新加入一键自动卸载脚本功能,可一键自动删除运行本脚本对路由器进行的设置信息,一键还原脚本运行之前的配置状态。对于网友反馈的计划任务更新规则后,出现DNS解析异常的问题,我发现是DHCP服务器的问题,接入的设备不能获得正确的IP,手动输入静态IP能正常上网。不知道是不是LAN 的DHCP服务器和dnsmasq的DHCP服务器哪里有冲突还是怎么回事,还在努力找原因,欢迎比较了解这一块的网友加入一起分析。现在初步认为是crontab计划任务运行后导致DHCP服务器工作异常,在命令行末尾加上参数:“ > /dev/null 2>&1”(没有引号)好像可以解决问题。再观察一下,确认后再优化更新脚本。zshwq5最新一键全自动脚本下载:项目已经下线,请下载最新的4合一脚本安装配置。

2017.6.11 新增4合一脚本

感谢zshwq5对提供的帮助!今天早上起来,已经没有出现执行自动更新计划任务后,DHCP下发IP异常的问题。现已在最新的脚本中进行了修复。并分别写了4个自动脚本:fqad.sh、fq.sh、fqad_auto.sh、fq_auto.sh,实现更加人性化的可视化选择安装和一键自动还原设置功能。并做了一个github线上项目,上传了以上4个脚本。不带auto的脚本运行时,需要输入设置lan IP等参数,带auto的脚本仅供路由器lan IP为192.168.1.1的网友使用。最新编写了一个可以选择运行以上4个脚本的4合一脚本文件:dnsmasq_all.sh,保持与github线上每个脚本的连接。以后如果有bug修复,更新和优化,会第一时间在github项目上分别更新相应的脚本,不用更新4合一脚本。从而使任何时候4合一脚本运行时,其中包含的以上任何脚本都能保持为最后优化的最新版本。4合一脚本只需下载一次,大家也不用再在论坛中重新下载4合一脚本。

2017.6.13 更新优化

昨天修改增加墙外网站指定到443端口访问,希望可以借助ngnix反向代理,实现墙外网站的https安全链接自动跳转,结果出现了一些bug,现在已经对相关错误进行了修复,修复了之前脚本中,创建规则自动更新脚本输出错误的问题,修复了之前脚本中自动备份相关设置代码的问题,现在可以实现重新安装脚本时,自动备份原有配置,以便需要时运行脚本自动卸载恢复之前的配置。新脚本实现了墙外网站指定到443端口进行访问,并新增了单独的扶墙规则自动更新脚本,只是目前ngnix反向代理自动跳转还没有成功,如果有懂这一块的网友,欢迎联系我一起参与脚本的优化。谢谢!

2017.6.16 更新优化

修正了所用广告规则源中,部分正常网页被误杀的问题,比如淘宝和京东的正常访问。如有还有发现其它正常非广告网页被误杀,欢迎各位网友反馈进行优化。

2017.6.17 更新优化

之前扶墙网站指定到443端口访问,导致优兔等网站访问异常,看来这个方法不行,已经修复,去除了端口指定。

2017.7.30 更新优化

有网友反应sy618和racaljk地址有冲突导致部分网站访问问题,暂时修改为只使用sy618的扶墙规则。优化上游DNS解析服务器,优化视频及手机、电视APP广告过滤规则,着重加强了adaway规则的完善,新增4个规则更新源,更新后的规则文件有2M多点(无重复),大概是原来的十倍,这样能更全面过滤各种视频、网页、APP等不同终端,不同应用环境中的广告。之前优酷无法播放的问题是因为优酷有一个cookie验证机制,停用规则带广告播放一次(停用方法,winscp登录路由器,打开/etc/dnsmasq.conf,在addn-hosts前面加个#符号,删掉这个#符号恢复的hosts使用),获得了cookie再打开规则就好了,就不在会提示禁用了cookie无法播放,并正常去广告。

2017.7.31 修正优化

今天发现昨天更新添加的规则中,又一个规则源有点问题,连搜狐视频的主页都被误杀了,已经去掉该规则源,修正搜狐视频正常访问问题。此外,关于PC优酷和搜狐视频,虽然过滤的广告,但是仍然有个黑屏,提示广告无法播放然后等到广告时间结束才能播放的问题,参考网上其它网友提供的解决方法如下:
以win7为例(其它系统请自行查找相应目录),打开系统盘,此处默认为C盘,找到目录C:\Users\PC用户名\AppData\Roaming\Macromedia\Flash Player\#SharedObjects\TNTRWDGD,里面有两个文件夹分别名为static.youku.com和images.sohu.com,新建文本文件,分别命名为这两个文件夹的名字,然后删除这两个文件夹,再将新建改名的文本文件的txt后缀删除,然后在看优酷和搜狐视频的时候就不会有那个广告无法播放提示的黑屏,无需等广告时间后,而是直接进入播放界面,从而完美去片头广告。经测试有效,但是优酷需要用IE内核浏览器才有效,chrome内核模式还是有那个广告无法播放的黑屏提示,无法直接进入播放界面。

2017.8.1 修正优化


1、考虑到昨天删除的规则源过滤规则全面,恢复了规则源的使用,并修复搜狐视频访问的问题,如果有正常网页被误杀的情况,请反馈给我修复;
2、修复安装下载adaway规则缓存时提示cat: can't open '/tmp/adaway5': No such file or directory错误的问题;
3、其它小问题的修复,包括hosts及dnsmasq统一转为unix格式(发现有一些规则源文件为dos格式),统一不同源hosts格式等。

2017.8.5 修复更新

1、之前添加了规则文件unix格式化后发现出了一些问题,导致规则失效,现已经修复正常,并保留了规则格式为unix格式,以免路由识别规则错误,广告规则格式进一步统一化;
2、添加去广告的黑名单功能,如果发现规则未能过滤的广告页面,可以找到广告域名地址,用winSCP登录路由器,进入/etc/dnsmasq文件夹,找到blacklist文件,手动添加需要过滤的广告域名地址3、添加去广告的白名单功能,如果发现规则中有误杀的网站或者是不想过滤的网站,可以用winSCP登录路由器,进入/etc/dnsmasq文件夹,找到whitelist文件,手动添加域名地址到白名单;
4、广告黑名单和白名单均非立即生效,请在添加域名地址后,putty登录路由器,运行/bin/sh /etc/fqad_update.sh规则更新脚本后方能生效,也可以等路由器自动更新计划任务运行后生效。

2017.8.7 修复更新

1、优化扶墙规则处理脚本代码;
2、修复一些小问题。

2017.8.9 重大更新

1、小问题的修复;
2、全部脚本代码优化与调整,将wget检测安装及全脚本自动卸载功能从具体脚本移除,集成到4合一脚本,脚本配置更加高效;
3、提高智能自动化程度,新增自动识别路由环境网关IP功能,无需再手动输入网关IP地址,不管你的是几级路由都能自动识别,欢迎有多级路由的坛友测试反馈;
4、调整脚本更新和规则更新时间自定义功能,首次手动输入后以后脚本更新会自动识别,如果运行全自动安装配置,每天检查更新的时间为早上5:25分,如果需要修改,请winSCP登录路由器后,进入/etc/crontabs/Update_time.conf配置文件修改,只需要输入小百度云间即可。
5、新增脚本自动检测更新功能,真正实现一次配置,永久自动维护,包括脚本的自动升级维护以及所有规则的升级自动维护;
6、本次更新调整是一个很艰难的决定,由于脚本架构调整,不能再用以前的4合一脚本重新运行进行升级了,如果需要升级,需重新下载新的4合一脚本进行配置,但完成后能自动检测脚本的更新,并进行自动更新维护,如果不升级,以前的4合一脚本还是能继续使用,只是功能不如新的4合一脚本功能完善;
7、修改本脚本花费了大量的精力,并且以后能自动检测更新脚本,为大家节省了大量的维护精力,适当提高了脚本的nb售价,还请见谅!

2017.8.10 优化更新

1、一些小问题的修复;
2、进一步完善了脚本自动更新功能。
3、之前由于一个广告规则网站访问奇慢,导致运行脚本到下载adaway处卡住的问题,暂时取消了那个规则的应用,不会再卡住不动;

2017.8.11 更新

1. 新增wget可选安装功能,对于无法安装软件的官改固件,可跳过检测安装;
2. 考虑到Openwrt自带的dnsmasq解析效率的低下,安装dnsmasq-full会大幅提高解析的速度,因此4合一脚本新增可选自动判定卸载系统自带dnsmasq软件包,并安装dnsmasq-full软件包的功能。下载8月9号更新4合一版本的网友无需重新下载新的4合一脚本,可以自己web登录到路由器的系统软件包管理页面中手动卸载自带的dnsmasq软件包,并查找安装dnsmasq-full即可。
3. 如果不是openwrt、lede等支持在线安装软件的固件(潘多拉在线软件包链接已失效),请选择输入n跳过检测系统软件卸载安装的步骤,直接进入dnsmasq的安装配置。如果多次尝试卸载安装软件失败,请手动安装并跳过该选项,直接进入dnsmasq安装配置;
4. 新增可选系统中已装软件的一键升级功能。使用条件同上,需要有可用在线软件包资源支持。

此外,今天发现pandorabox的软件包链接已经失效,我手动修改了新的链接地址,1610稳定版还是无法刷新得到正确的软件列表,更早的版本未知,从而导致无法在运行脚本时正确安装所需的软件,故已经抛弃了pandorabox,入坑了LEDE的固件。那些不确定是否可以安装软件的固件,请不要尝试变更系统自带的wget和dnsmasq软件。输入n跳过直接尝试进入dnsmasq的配置。


2017.8.14 更新优化

1. 规则的优化,尤其优化了手机及电视盒子APP内置广告的过滤规则;
2. 脚本的优化,本次优化无需重新下载4合一脚本安装,运行一下update脚本或者等待计划任务自动更新即可。

2017.8.21 重要更新优化

1. 优化之前配置文件备份之后,再次运行脚本备份配置文件失败的问题;
2. 优化复杂网络环境中网关设定的问题。之前有网友反应,获取非192.168.1.1网关环境中,网关错误的问题,我自己修改网关测试,没有问题,但是还是恢复了自定义脚本中脚本安装时,可以输入设置网关的设定,并优化脚本更新代码,使脚本在更新时,能自动识别第一次设定的网关,避免因脚本更新致使网关出现错误;
3. 脚本配置好以后,如果需要修改网关,请重新运行自定义安装脚本,或winSCP登录路由器,到/etc/dnsmasq/lanip(记事本即可打开)文件修改保存;
4.修正之前运行自动更新脚本后无法访问网络DNS解析异常的问题;
5.修正脚本更新的一些bug及其它已知bug,个人知识和细心度有限,bug在所难免,尽量发现了就修复,欢迎大家反馈;
6. 白名单和黑名单修改为追加模式,自动更新脚本后,会保留之前自己添加的白名单和黑名单,无需再次添加;
7. 其它小问题的修复和优化;
8. 本次更新无需重新下载运行,会在计划任务自动完成。


2017.8.22 更新优化:新增独立的广告过滤脚本

1. 新增网友建议的独立去广告全自动维护脚本,将原来的4合一脚本调整为6合一脚本,加入自定义配置单独广告过滤及全自动配置功能。本来不想做这个独立的广告过滤脚本的,因为网上的类似脚本已经比较多,但是考虑到可能都没有我的这个全面和智能化的程度,因此接受了网友的建议;
2. 进一步调整优化备份还原功能,让备份还原配置文件更智能,避免不必要的覆盖备份导致本来需要备份的休息丢失的情况
3. 进一步修改优化代码执行效率,调整用户自定义广告黑名单和白名单文件为/etc/dnmasq/userblacklist和userwhitelist,需要调整的网友可以自己前往文件打开添加自定义域名,原来已经在blacklist及whitelist中添加了的广告域名地址会自动更新到新的自定义规则文件中,无需大家手动去复制过去,自定义的设置永只需一次便会久生效,以后都会自动在更新规则时应用到广告过滤规则中,无需重复设置;
4.新增线上我自己维护的白名单和黑名单功能,本人会将发现的未能过滤以及误杀的规则在线上进行更新,并自动下载应用到大家的本地规则当中,无需大家手动添加
5.由于每次加入新功能或进行功能的调整都可能涉及到代码运行架构的调整,往往容易出错,因此这次特意对所有脚本进行了全面多次的测试,修复了已经测试发现的所有bug,如果发现新的错误问题,欢迎大家反馈;
6. 一些配置文件排版上的合理调整,让大家查看配置文件更容易理解;
7. 一些小的脚本运行时输出信息视觉上调整优化,此外,关于大家说的下载adaway规则的时候卡住的情况,其实是因为这里在后台要进行比较复杂的处理,这里和你的网速以及路由器的计算性能都有关系,稍微等一会儿就好了,实在不行如果卡死了(应该不太出现),就重新运行一下吧,此处做统一解答,请大家不要在问我类似的问题,谢谢
8. 进一步优化dnsmasq配置文件设置代码,从而避免之前已经使用其它软件,比如防火墙,ss,广告插件,KMS服务器等,修改过dnsmasq的配置,再使用本脚本以及脚本自动更新后,之前已有相关配置丢失导致那些软件的使用异常的情况发生;
9. 本次更新无需如果不需要单独的去广告脚本,无需重新下载6合一安装配置脚本,会在计划任务后台自动更新完成。

2017.8.23 更新优化

1. 进一步优化了备份、卸载恢复以及计划任务配置代码的运行逻辑;
2. 进一步优化了上游配置文件的创建配置逻辑,提高脚本配置效率;
3. 抓取了电视应用魔力视频和猫范TV的广告源,现在验证,已经过滤了,优化了优酷的过滤,网站、APP我这里测试都可以屏蔽了。

2017.8.25 更新修复

修复了上次调整后产生的,etc文件夹下没有配置文件夹导致无法写入配置文件的bug。

2017.8.26 新增Padavan脚本

感谢坛友蓝色小小的贡献和分享,新增padavan系列固件使用的脚本。

2017.8.27 修复更新

修复2个bug。

2017.9.08 修复更新

1. 修复路由器执行定时重启后,反复重启的bug;
2. 手动可选安装配置路由器定时重启任务,支持自定义时间,自动安装配置默认判定添加定时重启任务,重启时间为每天早上6:05分,可进入路由器计划任务修改。

2017.9.13 修复更新

修复可选配置脚本中选择不添加路由器定时重启计划任务,依然会自动添加的bug。

2017.9.20 修复更新

今天升级最新的pandorabox(2017.9.17版)后,配置中又发现了一些小bug,主要涉及dnsmasq配置文件备份修改以及计划任务,已经对发现的bug进行了修复。

2017.10.8 修复更新

1. 发现一个可能出现导致DNS解析错误的bug,已经修复;
2. 优化广告误杀白名单。

2017.10.9 更新优化

1. 优化自定义的黑名单广告过滤模式,由原先的通过hosts规则过滤模式改为通过dnsmasq规则过滤模式。因为hosts规则不支持通配符的识别,而dnsmasq规则支持,因此优化后支持在自定义广告黑名单中添加域名时使用通配符;
2. 优化广告黑名单,发现爱奇艺的广告又失效了,暂时没有找到过滤办法。

2017.11.15 补充说明

现在脚本已经基本没有什么问题了,以后可能就不考虑更新了。广告规则,我还是会持续维护和修正,如果你们在使用本脚本,都会自动更新。由于我们伟大的长城的进一步升级,目前扶墙暂时看不到希望,Sy618等一系列的谷狗host规则的维护网友,也停止了对扶墙规则的更新和维护,暂时没有找到可以使用的规则源。因此,以后只剩下广告过滤的功能了。谢谢大家长期以来的支持,不用再问我为啥不能翻的问题,我暂时也帮不到大家。再见!

2017.12.1 修复更新

1. 更新修复了去广告脚本规则自动更新中的一个小bug,本次更新非关键错误更新,不影响功能,会在路由器定时任务自动更新,无需手动更新。
2. 爱奇艺广告之前的规则又失效了,已经抓包修复,现在能正常去广告(发现爱奇艺真特么恶心,过不久就要重新抓包地址,真累)。

2018.3.5 维护更新

1. 维护更新小bug,本次更新非关键错误更新,不影响功能,会在路由器定时任务自动更新,无需手动更新。
2.优化更新网页播放优酷视频广告过滤失败的问题,已经抓取更新最新地址更新规则,现在可以正常去广告了。

2019.7.19 维护更新

1. 移除失效的广告规则,本次更新非关键错误更新,不影响功能,会在路由器定时任务自动更新,无需手动更新。
2. 更新优酷,腾讯视频广告规则。

2020.5.3 维护更新

1. 移除失效的广告规则,优化更新规则源;
2. 更新优酷,腾讯,爱奇异,芒果TV,电视端广告,视频广告规则;3. 优化全自动脚本自动识别路由器的内网网关,支持多内网网关qun自动配置;
4. 本次更新非关键错误更新,不影响功能,会在路由器定时任务自动更新,无需手动更新。

2020.5.5 重要更新

1. 对脚本的结构进行了重要更新,让代码复用效率更高,保存的用于检查更新的脚本文件更小;
2. 修复3号更新后产生的一些bug,修复规则源问题,昨天花了一天时间反复测试,终于填了所有的坑;
3. 优化脚本更新机制,修复一些可能会因为更新而产生的问题;
4. 本次更新两年来的最重要的一次更新,加强,完善,优化了功能,但无需手动进行更新,会在路由器定时任务自动更新;
5. 因为昨天的更新规则源地址不当产生的bug可能会导致DNS解析问题,如果已经无法正确解析,建议手动登录路由器执行卸载操作后重新运行原下载的多合一脚本配置一下即可;
6. 考虑到由于现在存放代码的域名也被污染,会导致下载配置文件失败的情况,进一步优化全自动安装配置的脚本,会在配置前检测网络环境并对存放代码域名的解析自动纠正,避免提前手动修正的麻烦;
7. 进一步优化规则更新脚本,更新前先判断网络环境状况,如果网络异常,放弃更新,避免抹掉之前保存好的规则。

2020.5.13 维护更新

1. 修复规则更新可能导致无法启动dnsmasq的bug;
2. 本次为关键错误更新,如果无法通过自动更新完成更新,请手动登录putty,运行sh /etc/dnsmasq/fqad_update或ad_update.sh(具体运行哪个可以登录winSCP,etc/dnsmasq路径查看update文件的文件名)。

2020.5.24 维护更新

1. 修复5.5日调整脚本结构后导致的白名单失效的bug,感谢网友freeskyfly的指正!
2. 本次为关键错误更新,但无需手动更新,会在路由器定时任务自动更新规则时自动更新。

2020.6.6 维护更新

1. 修复5.5日调整脚本结构后导致的白名单处理的逻辑错误!
2. 本次为关键错误更新,但无需手动更新,会在路由器定时任务自动更新规则时自动更新。

2021.1.16 维护更新

1. 优化了网络环境检测脚本能否安装,修复了备份的一些bug!
2. 本次为关键错误更新,但无需手动更新,会在路由器定时任务自动更新规则时自动更新。

2021.4.29 维护更新

1. 停止维护fq相关版本,优化修复了ad脚本升级和规则更新中的一些bug!
2. 更新了部分视频广告规则。
3. 本次为非关键错误更新,无需手动更新,会在路由器定时任务自动更新规则时自动更新。

2021.5.8 维护更新

1. 由于原先存放代码的服务器污染越来越严重,访问很不稳定,改为国内服务器存放代码。
2. 优化修复了ad脚本升级和规则更新中的一些小bug!
3. 由于原来由vokins维护的yhosts规则现在改由VeleSila接手更新和维护,规则地址已经变化,启用新的VeleSila维护的yhosts广告规则。
4. 本次为非关键错误更新,无需手动更新,会在路由器定时任务自动更新规则时自动更新。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

评分

参与人数 111恩山币 +124 收起 理由
wangqcch + 1 感谢你的分享,无论怎样,你都是最无私的人!来,说说,你E盘上还有啥一起给我吧!
医民喜哥 + 1 那个命令all用*代替,否则提示打不开哦
biyehong + 2 生活不易,相遇也不易,既然这样,让我们成为朋友一起面朝大海、花开花落……
seoul0752 + 1 感谢你的分享,无论怎样,你都是最无私的人!来,说说,你E盘上还有啥一起给我吧!
uu236 + 1 感谢你的分享,无论怎样,你都是最无私的人!来,说说,你E盘上还有啥一起给我吧!
hehh2001 + 1 感谢你的分享,无论怎样,你都是最无私的人!来,说说,你E盘上还有啥一起给我吧!
yanting + 1 感谢你的分享,无论怎样,你都是最无私的人!来,说说,你E盘上还有啥一起给我吧!
dnxiaogang + 1 你真厉害
fengwang35 + 1 感谢你的分享,无论怎样,你都是最无私的人!来,说说,你E盘上还有啥一起给我吧!
cyjsir_mm + 1 恩山全体路由党向你学习!
令狐风 + 1 你好,我是华硕固件。 已经用winscp把dnsmasq_pada这个文件夹里面
TensorLake + 1 恩山全体路由党向你学习!
yunqingabc + 1 面对这种帖子,我内心复杂,真不知道说什么好……
suifengdang666 + 1 强大的恩山!(以下重复1万次)
风马流云 + 1 率全体恩山路由党以及党魁向你学习!
dengsha + 1 面对这种帖子,我内心复杂,真不知道说什么好……
lululinux + 1 面对这种帖子,我内心复杂,真不知道说什么好……
grunge + 1 一看就是觉得高端、大气、上档次!
edmondw + 1 家里有矿啊?
疯帽子抠脚 + 1 强大的恩山!(以下重复1万次)
Jason57 + 1 一看就是觉得高端、大气、上档次!
snakeliwei + 1 强大的恩山!(以下重复1万次)
魏子都 + 1 我来恩山就是为了撩你!
just8899 + 1 强大的恩山!(以下重复1万次)
santafeng + 1 就是为了学习
ysbledmh + 1 router asus rc-at86u 原廠固件 3.0.0.4.384_20
dafein + 1 我来恩山就是为了撩你!
超级爽歪歪 + 1 我来恩山就是为了撩你!
shui123 + 1 给力
ksvcc + 1 亲,你这么厉害,我想做你的经纪人!
cryman + 3 强大的恩山!(以下重复1万次)
mxwz01 + 1 clion007可不可以结合一下Simple-adblock:一个基于Dnsma
333jzq + 1 强大的恩山,强大的楼主!
bbao51 + 1 我来恩山就是为了撩你!<span id="transmark&q
C1511 + 1 我来恩山就是为了撩你!
sorrypqa + 1 一看就是觉得高端、大气、上档次!
cherub0507 + 1 我对你的敬仰犹如江水滔滔,我上朝鲜战场后一定写信给你!!!
hihzh + 1 强大的恩山!(以下重复1万次)
183136 + 1 亲,你这么厉害,我想做你的经纪人!
虾条天下 + 1 我来恩山就是为了撩你!
hj2150663 + 1 开门!我是隔壁老王!
liangxin9266 + 1 前排留名
canaanpaul + 1 强大的恩山!(以下重复1万次)
chuiyg + 1 当心我用iPhone X 砸死你
lww220381 + 1 兄弟,你肥皂又掉了…你是故意掉的?
aaronsparty + 1 nameserver 114.114.114.119" >&gt
honglin235 + 1 我对你的敬仰犹如江水滔滔,我上朝鲜战场后一定写信给你!!!
ep_boy + 1 一看就是觉得高端、大气、上档次!
seoul_sz + 1 感谢老大分享。顺便说一下,racaljk已经换地址了,项目主页有说明
503143713 + 1 犀利
antai + 1 支付宝已转500w给你!
wumode + 1 我来恩山就是为了看你!
wbjwj + 1 支付宝已转500w给你!
ihuatin + 1 我来恩山就是为了看你!
leonkingle + 1 楼主更新的pavadan脚本终于可以正常安装啦 功能完美 感谢
Long_1000 + 1 我来恩山就是为了看你!
vvuliu + 1 我来恩山就是为了看你!
笑的傻傻的 + 1 你好 用了你的自动脚本 有 一个问题, 就是我使用的是明月大大的固件, 之前有
bqtanterry + 1 亲,你太牛逼了,走,我请你吃鳇鱼头去~~~
lgy + 1 我来恩山就是为了看你!
不可多言 -1 开门!我是隔壁老王!
xinger104 + 1 我来恩山就是为了看你!
qwlqwl1220 + 1 我来恩山就是为了看你!
hcyme + 1 我来恩山就是为了看你!
huai34 + 1 扶墙速度不给力啊,我200M电信光纤,很卡
naypt + 1 开门!查水表了!
巍巍青山 + 1 强大的恩山!(以下重复1万次)
新闻纵横 + 1 我来恩山就是为了看你!
小明666 + 1 我来恩山就是为了看你!
chd1998 + 1 给力
bad_men + 3 亲,你太牛逼了,走,我请你吃鳇鱼头去~~~
mk-link + 1 强大的恩山!(以下重复1万次)
mr.william95 + 1 强大的恩山!(以下重复1万次)
375947188 + 1 强大的恩山!(以下重复1万次)
segasos + 1 强大的恩山!(以下重复1万次)
ywq1992 + 1 强大的恩山!(以下重复1万次)
cy17009 + 1 支付宝已转500w给你!
mina998 + 1 一看就是觉得高端、大气、上档次!
whes7758 + 1 谷狗可用tube还是开不了。。
ooyyee + 1 强大的恩山!(以下重复1万次)
xfgb + 3 我来恩山就是为了看你!
cctvalo + 1 谢谢兄弟分享
oha + 1 楼主你好,tianbaoha的K3官方root固件,/et.
qtol + 1 强大的恩山!(以下重复1万次)
nineten + 1 强大的恩山!(以下重复1万次)
routerbox + 1 强大的恩山!(以下重复1万次)
zenghongfei1 + 1 今天天气不错,适合泡妞。
weekswu + 1 去广告太彻底了,有些需要的都打不开,手机爱奇艺不能搜索,返利链接无法打开。
badcrazy + 3 我来恩山就是为了看你!
技安 + 1 支付宝已转500w给你!
wgy2000 + 3 亲,你太牛逼了,走,我请你吃鳇鱼头去~~~
lurixian + 1 支付宝已转500w给你!
cll6401 + 1 我来恩山就是为了看你!
CGMS + 1 我来恩山就是为了看你!
xuecqcn + 1 亲,你太牛逼了,走,我请你吃鳇鱼头去~~~
boomy + 1 千万别撤,谢谢!用得很稳定 DNSMASQ不爽
PM926 + 1 开启以后,优酷的视频无法播放,提示cookies被关闭。换所有的浏览器都不行。
jsjlyb + 1 安装4合一脚本没网络,楼主优化个老脚本解决下发的问题吧。
skukey + 1 楼主,我小白一名,能否修改份适用于Padavan内核的
anym0us + 1 今天天气不错,适合泡妞。

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2017-6-5 18:11 | 显示全部楼层
本帖最后由 clion007 于 2017-6-5 18:16 编辑
xmtomcom 发表于 2017-6-5 18:03
感谢分享,老毛子的讲解详细就好了

老毛子脚本和代码,phrnet在他的帖子https://www.right.com.cn/forum/forum.php?mod=viewthread&tid=184121中有详细说明,你可用参照他的脚本编写,把源改成我收集到的更新源,路径和文件名等对应一下应该就可以用了。我用的pandorabox,就没有去写那个脚本了。

评分

参与人数 1恩山币 +3 收起 理由
zshwq5 + 3 pandorabox与LEDE是否会有一点区别?感谢分享!

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2017-6-6 00:14 | 显示全部楼层
greenice 发表于 2017-6-5 19:18
这个应该要持续的更新维护吧

脚本中所用到的所有源都是在持续维护更新的。可以放心使用。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2017-6-6 00:15 | 显示全部楼层
sheenic 发表于 2017-6-5 20:08
k2p可以安装使用吗

和路由器型号无关,和系统有关,相应的Openwrt以及pandorabox系列的系统,都可以使用。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2017-6-6 00:17 | 显示全部楼层
aids1982 发表于 2017-6-5 20:23
支持一下,adbyby用作不错

adbyby是挺好的,只是我的路由器是MTK7620芯片的,硬件不行,50M以下带宽正常,再往上就不行了,开这adbyby,对网速影响非常大,很是无奈。。。。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2017-6-6 00:18 | 显示全部楼层
snow2sun 发表于 2017-6-5 20:56
爬墙还是要ss吧?

用这个可以取代ss。

点评

我这里安装了以后 facebook等可以访问,但是发现 youtube 不能访问,解析是按照规则里面的IP地址解析的。 另外用谷歌搜索出来的很多信息,无法打开。 也就是说这些网址没有被正确解析吗?  详情 回复 发表于 2017-6-21 09:14
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2017-6-6 00:19 | 显示全部楼层
zshwq5 发表于 2017-6-5 21:10
脚本文件下载地址是否不正常?

不知道为什么出错了,已经重新上传,现在应该正常了。

评分

参与人数 1恩山币 +3 收起 理由
zshwq5 + 3 感谢楼主的热心!是否打开网页会慢点是个例吗?

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2017-6-6 16:49 | 显示全部楼层
ktoc 发表于 2017-6-6 14:37
[root@PandoraBox:/root]#/bin/sh /etc/dnsmasq_fqad.sh
: not foundq_fqad.sh: line 4:
: not foundq_fq ...

谢谢反馈,确实缺少一条创建dnsmasq.d文件夹的命令行,已经修复完善。

点评

换行符的问题,导致新建文件夹带问号  详情 回复 发表于 2017-6-6 17:39
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2017-6-6 17:47 | 显示全部楼层
kafma 发表于 2017-6-6 16:52
看看是什么IP,肯定很快就封

有每天自动更新机制的,IP被封了,会改的。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2017-6-6 21:38 | 显示全部楼层
本帖最后由 clion007 于 2017-6-6 21:42 编辑
123223015 发表于 2017-6-6 20:35
大大,我恢复路由器设置后,采用第二种方法,在/etc下手动新建了dnsmasq目录,放入脚本后执行。
Putty无错 ...

不需要在路由器的设置界面设置dns解析服务器之类的

手动在/etc/dnsmasq文件夹中新建文件,输入下面内容就可以正确解析了。你也可以把当地服务商的DNS服务器的IP地址放在最前面,写法就是nameserver ”DNS server IP“
# 上游DNS解析服务器
nameserver 127.0.0.1
nameserver 114.114.114.119
nameserver 223.5.5.5
nameserver 119.29.29.29

点评

仍有革命指导意义!  详情 回复 发表于 2017-7-11 16:06
感谢大大指导,手动建立DNS配置文件后可以正常解析了。 网页、APP都可以正常通行了 就是广告过滤暂时没有adbyby那么理想,期待大大后期的更新改进。  详情 回复 发表于 2017-6-6 22:16
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2017-6-7 02:30 | 显示全部楼层
arbol57457 发表于 2017-6-6 17:37
nvram get http_username Could not open nvram! Possible reasons are:         - No device found (/pro ...

已经修正相关问题,测试通过了,没有问题了。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2017-6-7 02:32 | 显示全部楼层
sslnew 发表于 2017-6-6 20:32
6.6 20:30 测试 LEDE下,失败,下载的是LEBE修改版:
: not foundq_fqad.sh: line 4:
: not foundq_fqad. ...

已经修正相关问题,测试通过了,没有问题了。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2017-6-7 02:34 | 显示全部楼层
sslnew 发表于 2017-6-6 21:38
用的不是方法1,而是后面网友修改好的LEDE版,但是在我的路由器上运行就出错了。

已经修正相关问题,现在应该没有问题了。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2017-6-7 12:22 | 显示全部楼层
nmvb 发表于 2017-6-7 11:55
udhcpc: started, v1.25.1
udhcpc: sending discover
udhcpc: no lease, failing

你用的那个脚本?恢复出厂设置,然后用的昨天修改上传的脚本再试试,我测试过,没有问题了。不需要再手动设置任何文件和代码参数。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2017-6-7 12:23 | 显示全部楼层
ktoc 发表于 2017-6-7 12:04
本地网站可以,Google类似的就上不了,是什么问题

扶墙网站可以访问,不会有问题,需要用https安全连接访问,不是http。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-3-28 19:41

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表