设为首页收藏本站

恩山无线论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 48622|回复: 1615
打印 上一主题 下一主题

【2017.8.23优化更新】超强大的dnsmasq及hosts扶墙去广告全自动脚本及详细教程

    [复制链接]
跳转到指定楼层
#
发表于 2017-6-5 17:58 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 clion007 于 2017-8-23 03:02 编辑

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

前言:


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

为了让更多人能分享到成果,想了想还是老规矩,帖子核心内容回复可见,希望大家多多支持!

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


本着简单易用的基本原则,首先还是再科普一下dnsmasq的基本相关知识,老鸟请自行跳过!

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

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

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

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


3、方案dnsmasq提供了什么?

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

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

支持谷狗,优兔,非死不可等等熟悉的国外网站的访问规则来自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. clear
  6. echo "# Copyright (c) 2014-2017,by clion007"
  7. echo
  8. echo "# 本脚本仅用于个人研究与学习使用,从未用于产生任何盈利(包括“捐赠”等方式)"
  9. echo "# 未经许可,请勿内置于软件内发布与传播!请勿用于产生盈利活动!请遵守当地法律法规,文明上网。"
  10. echo "# openwrt类固件使用,包括但不限于pandorabox、LEDE、ddwrt、明月、石像鬼等,华硕、老毛子、梅林等Padavan系列固件慎用。"
  11. echo -e "# 安装前请\e[1;31m备份原配置\e[0m;由此产生的一切后果自行承担!"
  12. echo -e "# 安装前请\e[1;31m检查确认路由器配置,lan IP必须是192.168.1.1\e[0m;全自动无人值守安装!"
  13. echo
  14. echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
  15. echo "+                                                          +"
  16. echo "+     Install Fq only for OpnWrt or LEDE or PandoraBox     +"
  17. echo "+                                                          +"
  18. echo "+                      Time:`date +'%Y-%m-%d'`                     +"
  19. echo "+                                                          +"
  20. echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
  21. echo
  22. echo "------------------------------------------------------------------"
  23. 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"
  24. echo "------------------------------------------------------------------"
  25. echo
  26. echo -e "\e[1;36m >         1. 安装 \e[0m"
  27. echo
  28. echo -e "\e[1;31m >         2. 卸载 \e[0m"
  29. echo
  30. echo -e "\e[1;36m >         3. 退出 \e[0m"
  31. echo
  32. echo -e -n "\e[1;34m 请输入数字继续执行: \e[0m"
  33. read menu
  34. if [ "$menu" == "1" ]; then
  35. echo
  36. echo -e "\e[1;36m 三秒后开始安装......\e[0m"
  37. echo
  38. sleep 3
  39. echo -e "\e[1;36m 正在更新软件包,根据网络状态决定时长\e[0m"
  40. rm -f /var/lock/opkg.lock
  41. opkg update
  42. sleep 2
  43. echo
  44. echo -e "\e[1;36m 开始检查并安装wget-支持https\e[0m"
  45. echo
  46. if [ -f $wgetroute ]; then
  47.         echo -e "\e[1;31m 系统已经安装wget-ssl软件\e[0m"
  48.         #opkg remove wget > /dev/null 2>&1
  49.         #opkg install wget        
  50.         else
  51.         echo -e "\e[1;31m 没有发现wget-ssl开始安装\e[0m"
  52.         opkg install wget
  53.         echo
  54.         if [ -f $wgetroute ]; then
  55.                 echo -e "\e[1;36m wget安装成功         \e[0m[\e[1;31mmwget has been installde successfully\e[0m]"
  56.                 else
  57.                 echo -e "\e[1;31m wget安装失败,请到路由器系统软件包手动安装后再试!\e[0m"
  58.                 exit
  59.         fi        
  60. fi
  61. echo
  62. sleep 3
  63. echo -e "\e[1;36m 创建dnsmasq规则与更新脚本存放的文件夹\e[0m"
  64. echo
  65. echo -e "\e[1;36m 检测和备份当前dnsmasq配置信息\e[0m"
  66. if [ -d /etc/dnsmasq ]; then
  67.         mv /etc/dnsmasq /etc/dnsmasq.bak
  68. fi
  69. if [ -d /etc/dnsmasq.d ]; then
  70.         mv /etc/dnsmasq.d /etc/dnsmasq.d.bak
  71. fi
  72. mkdir -p /etc/dnsmasq
  73. mkdir -p /etc/dnsmasq.d
  74. echo
  75. sleep 3
  76. echo -e "\e[1;36m dnsmasq.conf 添加广告规则路径\e[0m"
  77. if [ -f /etc/dnsmasq.conf ]; then
  78.         mv /etc/dnsmasq.conf /etc/dnsmasq.conf.bak
  79. fi
  80. echo "# 添加监听地址(其中192.168.1.1为你的lan网关ip)
  81. listen-address=192.168.1.1,127.0.0.1

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

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

  86. # IP反查域名
  87. bogus-priv

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

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

  164. # Localhost (DO NOT REMOVE) Start
  165. address=/localhost/127.0.0.1
  166. address=/localhost/::1
  167. address=/ip6-localhost/::1
  168. address=/ip6-loopback/::1
  169. # Localhost (DO NOT REMOVE) End

  170. # Modified hosts start
  171. " > /etc/dnsmasq.d/fq.conf # 换成echo的方式注入
  172. echo
  173. echo -e "\e[1;36m 删除dnsmasq重复规则及相关临时文件\e[0m"
  174. sort /tmp/fq | uniq >> /etc/dnsmasq.d/fq.conf
  175. echo "# Modified DNS end" >> /etc/dnsmasq.d/fq.conf
  176. rm -rf /tmp/fq
  177. echo
  178. sleep 3
  179. echo -e "\e[1;36m 重启dnsmasq服务\e[0m"
  180. #killall dnsmasq
  181.         /etc/init.d/dnsmasq restart > /dev/null 2>&1
  182. echo
  183. sleep 2
  184. echo -e "\e[1;36m 获取规则更新脚本\e[0m"
  185. wget --no-check-certificate -q -O /etc/dnsmasq/fqad_update.sh https://raw.githubusercontent.com/clion007/dnsmasq/master/fq_update.sh
  186. echo
  187. sleep 1
  188. echo -e "\e[1;31m 添加计划任务\e[0m"
  189. chmod 755 /etc/dnsmasq/fq_update.sh
  190. sed -i '/dnsmasq/d' $CRON_FILE
  191. sed -i '/@/d' $CRON_FILE
  192. echo
  193. echo "[$USER@$HOSTNAME:/$USER]#cat /etc/crontabs/$USER
  194. # 每天6点28分更新dnsmasq扶墙规则
  195. 28 6 * * * /bin/sh /etc/dnsmasq/fq_update.sh > /dev/null 2>&1" >> $CRON_FILE
  196. /etc/init.d/cron reload
  197. echo -e "\e[1;36m 定时计划任务添加完成!\e[0m"
  198. sleep 1
  199. echo
  200. echo
  201. clear
  202. echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
  203. echo "+                                                          +"
  204. echo "+                 installation is complete                 +"
  205. echo "+                                                          +"
  206. echo "+                     Time:`date +'%Y-%m-%d'`                      +"
  207. echo "+                                                          +"
  208. echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
  209. echo
  210. echo
  211. rm -f /tmp/fq_auto.sh
  212. fi
  213. echo
  214. if [ "$menu" == "2" ]; then
  215. echo
  216. echo -e "\e[1;31m 开始卸载dnsmasq扶墙及广告规则\e[0m"
  217.         rm -f /var/lock/opkg.lock
  218. sleep 1
  219. echo
  220. echo -e "\e[1;31m 删除残留文件夹以及配置\e[0m"
  221.         rm -rf /etc/dnsmasq
  222.         rm -rf /etc/dnsmasq.d
  223. if [ -d /etc/dnsmasq.bak ]; then
  224.         mv /etc/dnsmasq.bak /etc/dnsmasq
  225. fi
  226. echo
  227. if [ -d /etc/dnsmasq.d.bak ]; then
  228.         mv /etc/dnsmasq.d.bak /etc/dnsmasq.d
  229. fi
  230. echo
  231. if [ -f /etc/dnsmasq.conf.bak ]; then
  232.         rm -rf /etc/dnsmasq.conf
  233.         mv /etc/dnsmasq.conf.bak /etc/dnsmasq.conf
  234. fi
  235. echo
  236. sleep 1
  237. echo -e "\e[1;31m 删除相关计划任务\e[0m"
  238. sed -i '/dnsmasq/d' $CRON_FILE
  239. /etc/init.d/cron reload
  240. sleep 1
  241. echo
  242. echo -e "\e[1;31m 重启dnsmasq\e[0m"
  243.         /etc/init.d/dnsmasq restart > /dev/null 2>&1
  244.         rm -f /tmp/fq_auto.sh
  245. fi
  246. echo
  247. if [ "$menu" == "3" ]; then
  248. echo
  249. rm -f /tmp/fq_auto.sh
  250. echo
  251. exit 0
  252. fi
  253. echo
复制代码
运行脚本后,将会在/etc/dnsmasq目录中生成fq_update.sh自动更新规则脚本文件,脚本源代码如下:
  1. #!/bin/sh
  2. echo
  3. echo " Copyright (c) 2014-2017,by clion007"
  4. echo
  5. echo " 本脚本仅用于个人研究与学习使用,从未用于产生任何盈利(包括“捐赠”等方式)"
  6. echo " 未经许可,请勿内置于软件内发布与传播!请勿用于产生盈利活动!请遵守当地法律法规,文明上网。"
  7. echo
  8. #LOGFILE=/tmp/fq_update.log
  9. #LOGSIZE=$(wc -c < $LOGFILE)
  10. #if [ $LOGSIZE -ge 5000 ]; then
  11. #        sed -i -e 1,10d $LOGFILE
  12. #fi
  13. echo -e "\e[1;36m 3秒钟后开始更新规则\e[0m"
  14. echo
  15. sleep 3
  16. echo " 开始更新dnsmasq规则"
  17. # 下载sy618扶墙规则
  18. /usr/bin/wget-ssl --no-check-certificate -q -O /tmp/sy618 https://raw.githubusercontent.com/sy618/hosts/master/dnsmasq/dnsfq

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

  21. # 删除racaljk规则中google'youtube相关规则
  22. #sed -i '/google/d' /tmp/racaljk
  23. #sed -i '/youtube/d' /tmp/racaljk

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

  26. # 删除dnsmasq缓存注释
  27. sed -i '/#/d' /tmp/sy618
  28. #sed -i '/#/d' /tmp/racaljk
  29. sed -i '/#/d' /tmp/userlist

  30. # 扶墙网站指定到#443端口访问
  31. #awk '{print $0"#443"}' /tmp/sy618 > /tmp/sy618
  32. #awk '{print $0"#443"}' /tmp/racaljk > /tmp/racaljk
  33. #awk '{print $0"#443"}' /tmp/userlist > /tmp/userlist

  34. # 合并dnsmasq缓存
  35. #cat /tmp/userlist /tmp/racaljk /tmp/sy618 > /tmp/fq
  36. cat /tmp/userlist /tmp/sy618 > /tmp/fq

  37. # 删除dnsmasq临时文件
  38. rm -rf /tmp/userlist
  39. rm -rf /tmp/sy618
  40. #rm -rf /tmp/racaljk

  41. # 删除本地规则
  42. sed -i '/::1/d' /tmp/fq
  43. sed -i '/localhost/d' /tmp/fq

  44. # 创建dnsmasq规则文件
  45. echo "
  46. ############################################################
  47. ## 【Copyright (c) 2014-2017, clion007】                          ##
  48. ##                                                                ##
  49. ## 感谢https://github.com/sy618/hosts                             ##
  50. ## 感谢https://github.com/racaljk/hosts                           ##
  51. ####################################################################

  52. # Localhost (DO NOT REMOVE) Start
  53. address=/localhost/127.0.0.1
  54. address=/localhost/::1
  55. address=/ip6-localhost/::1
  56. address=/ip6-loopback/::1
  57. # Localhost (DO NOT REMOVE) End

  58. # Modified hosts start
  59. " > /tmp/fq.conf

  60. # 删除dnsmasq重复规则
  61. sort /tmp/fq | uniq >> /tmp/fq.conf
  62. echo "# Modified DNS end" >> /tmp/fq.conf

  63. # 删除dnsmasq合并缓存
  64. rm -rf /tmp/fq
  65. echo
  66. if [ -s "/tmp/fq.conf" ]; then
  67.         if ( ! cmp -s /tmp/fq.conf /etc/dnsmasq.d/fq.conf ); then
  68.                 mv /tmp/fq.conf /etc/dnsmasq.d/fq.conf
  69.                 echo " `date +'%Y-%m-%d %H:%M:%S'`:检测到fq规则有更新......开始转换规则!"
  70.                 /etc/init.d/dnsmasq restart > /dev/null 2>&1
  71.                 echo " `date +'%Y-%m-%d %H:%M:%S'`: fq规则转换完成,应用新规则。"
  72.                 else
  73.                 echo " `date +'%Y-%m-%d %H:%M:%S'`: fq本地规则和在线规则相同,无需更新!" && rm -f /tmp/fq.conf
  74.         fi        
  75. fi
  76. echo
  77. echo -e "\e[1;36m 规则更新完成\e[0m"
  78. echo
  79. exit 0
复制代码
运行脚本后/etc/dnsmasq.conf文件修改源代码如下:
  1. dhcp-option=252,"\n"

  2. # 添加监听地址(将192.168.1.1修改为你的lan网关ip)
  3. listen-address=192.168.1.1,127.0.0.1

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

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

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

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

  12. # 设定域名解析缓存池大小
  13. 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 8.8.4.4
  7. nameserver 119.29.29.29
  8. nameserver 4.2.2.2
  9. nameserver 114.114.114.114
  10. nameserver 1.2.4.8
  11. nameserver 223.5.5.5
  12. 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规则,如果是广告页面,且该页面地址在hosts规则中包含了,就会被解析为127.0.0.1或者0.0.0.0地址,即可被屏蔽掉,如果hosts规则没有解析地址,即会即一步查询脚本生成的dnsmasq规则,如果有广告或扶墙网站,即会根据dnsmasq规则指定的地址进行解析。如果hosts和dnsmasq规则都没有解析到要访问的网站域名,则会提交到/etc/dnsmasq/resolv.conf文件中配置的上游DNS服务器进行并发查询域名解析,并返回最快的解析IP地址访问。(修改前为直接将访问的网站域名提交到运行商的DNS服务器解析返回IP地址并访问)

至此,基本能完美的解决扶墙、DNS劫持以及各种广告的问题了。这种方法的弊端就是需要有人持续维护更新,脚本中选择使用的所有规则源都是有持续维护更新的,关于广告屏蔽导致有的网站被错杀无法打开的问题,请到https://github.com/vokins/yhosts向规则维护者反馈。关于,墙外网站访问异常,可以到https://github.com/sy618/hosts向规则维护作者反馈,一般用thhps访问不会有问题,如果确实遇到问题,只能等待作者更新规则,找到合适的IP。此类问题需要规则源中的规则更新才能解决,与本脚本无关,以后不再对此类问题做一一解答,请见谅,谢谢!一路下来,学了不少知识,还有不完善之处,欢迎大家指正,谢谢大家一路以来的支持。

后记:

本人的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为后续优化给的建议!

⑥合一脚本下载:
目前已知包括但不限于Openwrt、pandorabox、LEDE、ddwrt、Newifi官方、明月、石像鬼等系列固件可用,老毛子、梅林等基于Padavan内核的,未进行测试,尚不确定,请谨慎使用! dnsmasq_all.rar (2.01 KB, 下载次数: 0, 售价: 5 nb恩山币)

安装配置方法:
将下载的压缩包解压,用winSCP上传到路由器/tmp目录(其它也可以,只要后面输入运行目录对应上就行),在putty软件登录路由器后,输入sh /tmp/dnsmasq_all.sh回车,即可运行脚本根据需要选择配置路由器dnsmasq及hosts,完成后可以选择重启路由器,脚本中已经加入了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. 进一步优化了上游配置文件的创建配置逻辑,提高脚本配置效率。


点评

你说的很对。: 5.0 我赞同你的说法。: 5.0
你说的很对。: 5 我赞同你的说法。: 5
我来恩山就是看你  发表于 2017-8-17 22:08
所谓的hosts上网还是用的反向代理,将对GFW站点的转发给某个不知名的反向代理,并不是什么去除dns劫持,请把原理描述清楚。  发表于 2017-6-21 10:35
请下载4合一脚本安装,我的github项目撤了。  发表于 2017-6-11 23:29

评分

参与人数 51恩山币 +61 收起 理由
不可多言 -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 今天天气不错,适合泡妞。
zshwq5 + 3 请下载4合一脚本安装,我的github项目拆了。
Lvz + 1 城会玩
p27853626 + 1 强大的恩山!(以下重复1万次)
mouse168 + 1 我来恩山就是为了看你!
小泽武藤空 + 3 怀揽白富美的屌丝露出了惊讶的眼神:哥,你太帅了!
cc5202003 + 1 我来恩山就是为了看你!
爱上一个人 + 1 亲,你太牛逼了,走,我请你吃鳇鱼头去~~~
dgpower + 1 亲,你这么厉害,我想做你的经纪人!
tiangte + 1 我来恩山就是为了看你!
l256 + 1 我来恩山就是为了看你!
secowu + 1 城会玩

查看全部评分

本帖被以下淘专辑推荐:

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏433 转播转播 分享分享1 分享淘帖2 支持支持25 反对反对
我的恩山、我的无线 The best wifi forum is right here.
1589#
 楼主| 发表于 2017-8-23 01:22 | 只看该作者
jordinlu 发表于 2017-8-22 14:42
LAN口改为192.168.1.1,网关取上级路由192.168.8.1,没有安装脚本上网正常,自动安装和手动安装完毕,就不 ...

如果QQ可以上,说明是DNS解析的问题,可以检查一下上游的dns解析配置文件是否生成正确,还有是否有其它的软件也会用到dnsmasq的配置,是否有冲突
我的恩山、我的无线 The best wifi forum is right here.
1588#
 楼主| 发表于 2017-8-23 01:19 | 只看该作者
巍巍青山 发表于 2017-8-22 18:56
mv: can't rename '/tmp/fqad_auto.sh': No such file
or directory
什么意思?

你这是运行的哪个选项的脚本提示的错误信息?意思是说没有找到需要移动的这个文件
我的恩山、我的无线 The best wifi forum is right here.
1587#
 楼主| 发表于 2017-8-23 01:15 | 只看该作者
okayolay 发表于 2017-8-22 22:49
请教,楼主。我用的潘朵拉斐讯K2专版,5.35M。4合一,进去,就上不了网了。然后换OPENWRT 15.05CC 3.5M的版 ...

我不知道K2的是否有什么特殊之处,但是,按理说潘多拉之类的固件,都是可以安装软件,然后可以进去修改配置的,应该是有权限的,而且脚本本身会修改得到需要的权限,如果没有生成需要的文件,应该就是没有配置成功。你可以把你配置后得到的配置情况详细说说,我可以帮你看看。如果有错误代码,可以贴上来看看。
我的恩山、我的无线 The best wifi forum is right here.
1586#
发表于 2017-8-23 00:21 | 只看该作者
更新得好快
我的恩山、我的无线 The best wifi forum is right here.
1585#
发表于 2017-8-22 22:56 来自手机 | 只看该作者
safehorse 发表于 2017-8-22 22:46
你重新刷下那个OP固件, 就是你要部署的这个路由, 然后在WINSCP里面的etc目录下, 手动创建下dnsmasq和dnsm ...

谢谢,按照你这个法子明天试一下!
我的恩山、我的无线 The best wifi forum is right here.
1584#
发表于 2017-8-22 22:49 | 只看该作者
请教,楼主。我用的潘朵拉斐讯K2专版,5.35M。4合一,进去,就上不了网了。然后换OPENWRT 15.05CC 3.5M的版。也是一样。请教问题出在哪里?
我在执行脚本的时候,貌似说是不能建立,相关的dnsmasq的文件是怎么回事,路由器读写,权限不够么。

点评

我不知道K2的是否有什么特殊之处,但是,按理说潘多拉之类的固件,都是可以安装软件,然后可以进去修改配置的,应该是有权限的,而且脚本本身会修改得到需要的权限,如果没有生成需要的文件,应该就是没有配置成功。  详情 回复 发表于 2017-8-23 01:15
我的恩山、我的无线 The best wifi forum is right here.
1583#
发表于 2017-8-22 22:46 | 只看该作者
jordinlu 发表于 2017-8-22 22:20
我手动运行过一次,就上来要求填写路由器网关,我填写的是192.168.8.1,还有自动更新时间,选择好,运行 ...

你重新刷下那个OP固件, 就是你要部署的这个路由, 然后在WINSCP里面的etc目录下, 手动创建下dnsmasq和dnsmasq.d这两个文件夹,权限加好,我是说如果默认你没发现这两个文件夹的话. 然后按照前面说的, 脚本开始的时候选择运行那个第一个脚本,也就是手动的那个

点评

谢谢,按照你这个法子明天试一下!  详情 回复 发表于 2017-8-22 22:56
我的恩山、我的无线 The best wifi forum is right here.
1582#
发表于 2017-8-22 22:20 来自手机 | 只看该作者
safehorse 发表于 2017-8-22 21:53
你别着急,这种都是小问题. 本来就是清清爽爽的东西.
上级路由是什么不用管, 这个只管进来的WAN, 可以上 ...

我手动运行过一次,就上来要求填写路由器网关,我填写的是192.168.8.1,还有自动更新时间,选择好,运行顺利,然后结果一样不能上网

点评

你重新刷下那个OP固件, 就是你要部署的这个路由, 然后在WINSCP里面的etc目录下, 手动创建下dnsmasq和dnsmasq.d这两个文件夹,权限加好,我是说如果默认你没发现这两个文件夹的话. 然后按照前面说的, 脚本开始的时候选  详情 回复 发表于 2017-8-22 22:46
我的恩山、我的无线 The best wifi forum is right here.
1581#
发表于 2017-8-22 22:17 来自手机 | 只看该作者
safehorse 发表于 2017-8-22 21:54
任何客户端都是不需要指定IP或者设置DNS的, 除非你最上级的路由DNS设置里动过了, 并且设置有问题

上级路由应该是电信光猫,DNS没有动过,C大的意思这个脚本通用openwrt,明月各类固件,我也是按照步骤运行脚本,运行完毕就不能上网了,我后来通过winscp查看etc文件夹发现很多文本没有生成,比如lanip等,是不是脚本运行过程出错了。
我的恩山、我的无线 The best wifi forum is right here.
1580#
发表于 2017-8-22 22:10 来自手机 | 只看该作者
safehorse 发表于 2017-8-22 21:53
你别着急,这种都是小问题. 本来就是清清爽爽的东西.
上级路由是什么不用管, 这个只管进来的WAN, 可以上 ...

好的,我去试一下,谢谢啦!
我的恩山、我的无线 The best wifi forum is right here.
1579#
发表于 2017-8-22 21:57 | 只看该作者
我来恩山就是看你
我的恩山、我的无线 The best wifi forum is right here.
1578#
发表于 2017-8-22 21:54 | 只看该作者
jordinlu 发表于 2017-8-22 21:43
谢谢,换了一个固件,结果也是运行了脚本就不能上网,路由器ping不到外网,手机不能获得地址,但是手机端 ...

任何客户端都是不需要指定IP或者设置DNS的, 除非你最上级的路由DNS设置里动过了, 并且设置有问题

点评

上级路由应该是电信光猫,DNS没有动过,C大的意思这个脚本通用openwrt,明月各类固件,我也是按照步骤运行脚本,运行完毕就不能上网了,我后来通过winscp查看etc文件夹发现很多文本没有生成,比如lanip等,是不是脚  详情 回复 发表于 2017-8-22 22:17
我的恩山、我的无线 The best wifi forum is right here.
1577#
发表于 2017-8-22 21:53 | 只看该作者
jordinlu 发表于 2017-8-22 21:43
谢谢,换了一个固件,结果也是运行了脚本就不能上网,路由器ping不到外网,手机不能获得地址,但是手机端 ...

你别着急,这种都是小问题. 本来就是清清爽爽的东西.
上级路由是什么不用管, 这个只管进来的WAN, 可以上网就行. 你先把要装这个HOSTS的OP路由先弄好, WAN口不要插网线. LAN口接到电脑, 设置一个IP, 192.168.5.1 比如, 然后把那个脚本上传到etc目录,然后WAN口再插入网线, 运行脚本,不要选全自动的所有选项, 选手动的. 中途会要求你输入自己设置的那个LAN IP, 下载规格的时候多等几分钟等全部下载完

点评

我手动运行过一次,就上来要求填写路由器网关,我填写的是192.168.8.1,还有自动更新时间,选择好,运行顺利,然后结果一样不能上网  详情 回复 发表于 2017-8-22 22:20
好的,我去试一下,谢谢啦!  详情 回复 发表于 2017-8-22 22:10
我的恩山、我的无线 The best wifi forum is right here.
1576#
发表于 2017-8-22 21:43 来自手机 | 只看该作者
safehorse 发表于 2017-8-22 21:05
明月固件本身集成了那么多, 比如pdnsd之类的, 还有好多其它的 mwan3啊之类的, 你要装这个hosts建议纯OP下 ...

谢谢,换了一个固件,结果也是运行了脚本就不能上网,路由器ping不到外网,手机不能获得地址,但是手机端改为静态IP后可以连接WiFi,而且可以上网,但路由器不能上网,笔记本不能上网,指定静态IP也不行?
是不是我的上级路由关系?我路由lan地址192.168.1.1,网关是上级路由的地址192.168.8.1

点评

任何客户端都是不需要指定IP或者设置DNS的, 除非你最上级的路由DNS设置里动过了, 并且设置有问题  详情 回复 发表于 2017-8-22 21:54
你别着急,这种都是小问题. 本来就是清清爽爽的东西. 上级路由是什么不用管, 这个只管进来的WAN, 可以上网就行. 你先把要装这个HOSTS的OP路由先弄好, WAN口不要插网线. LAN口接到电脑, 设置一个IP, 192.168.5.1 比如  详情 回复 发表于 2017-8-22 21:53
我的恩山、我的无线 The best wifi forum is right here.
1575#
发表于 2017-8-22 21:35 | 只看该作者
再次感谢大神
我的恩山、我的无线 The best wifi forum is right here.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|Archiver|手机APP版|恩山无线论坛 ( 苏ICP备05084872号-1 )  

GMT+8, 2017-8-23 04:21

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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