编译OpenWrt固件-选择Privoxy
配置user.filter, user.action, config文件。
config文件中需要指定监听都地址与端口号
[cpp] view plain copy root@YSWiFi:/etc/privoxy# cat config confdir /etc/privoxy logdir /var/log filterfile default.filter filterfile user.filter #logfile privoxy actionsfile match-all.action # Actions that are applied to all sites and maybe overruled later on. actionsfile default.action # Main actions file actionsfile user.action # User customizations listen-address 10.1.1.1:8118 toggle 1 enable-remote-toggle 1 enable-remote-http-toggle 0 enable-edit-actions 1 enforce-blocks 0 buffer-limit 4096 forwarded-connect-retries 0 accept-intercepted-requests 1 allow-cgi-request-crunching 0 split-large-forms 0 keep-alive-timeout 300 socket-timeout 300 permit-access 10.1.1.0/24 debug 1 # show each GET/POST/CONNECT request debug 4096 # Startup banner and warnings debug 8192 # Errors - *we highly recommended enabling this* #admin-address privoxy-admin@example.com #proxy-info-url http://www.example.com/proxy-service.html root@YSWiFi:/etc/privoxy#
在user.action中注入广告脚本 xxx.js
具体参考我的脚本 https://gist.github.com/qianguozheng
user.filter中添加过滤规则
1. FILTER: block-weeds 2. s|</head>|<script type="text/javascript" src="http://www.yourdomainname.com/ystest/js/hupu.js"></script>$0| user.action中调用过滤规则 1. {+filter{block-weeds}} 2. .* 将所有目标地址为80端口的请求转到8118端口 1. iptables -t nat -A PREROUTING -s 0.0.0.0/0.0.0.0 -p tcp --dport 80 -j REDIRECT --to-ports 8118