用OpenWRT做网页内容过滤

简介

最近项目接触到Openwrt的编译和使用,op本身是一个定制的linux系统,兼容的包和语言也有很多,随着物联网的发展,相信在路由器方面的应用会越来越多。

目的

项目需要涉及到内容过滤和url过滤选择使用tinyproxy和dansguardian进行操作

注意

不能阻止和过滤https的网站

步骤

安装调试tinyproxy

openwrt-tinyproxy说明书

下载安装opkg update opkg install tinyproxy

2.修改配置文件修改/etc/config/tinyproxy 取消注释并改变其中的某些option:

option enabled 1 option Port 3128 option Listen 192.168.8.1 //默认127.0.0.1,这里看情况修改 list Allow 127.0.0.1 list Allow 192.168.8.0/24 option Filter "/etc/tinyproxy/filter" //url过滤filter文件,如果目录没有需要新增 option FilterURLs 1 option FilterExtended 1 option FilterDefaultDeny 0 //0代表filter文件作为黑名单,1代表filter文件作为白名单

3.修改/etc/config/firewall添加一个redirect option 然后执行

/etc/init.d/firewall restart config redirect option name Transparent Proxy Redirect option src lan option proto tcp option dest_port 3128 option src_dport 80 option src_dip !192.168.8.1 option dest_ip 192.168.8.1 运行tinyproxy/etc/init.d/tinyproxy start

若成功 访问带有 filter文件中关键字连接 就会有tinyproxy的限制界面出现

安装调试dansguardian

dansguardian作为内容过滤器使用下面简单以内容关键字过滤为例

1.下载安装

opkg install dansguardian

2.修改配置文件打开 /etc/config/dansguardian 添加或修改以下option

option bannedphraselist /etc/dansguardian/lists/bannedphraselist //默认没有这个ban option filterports 8888 option proxyip 192.168.8.1 option proxyport 3128 option loglocation /var/log/dans.log

打开 /etc/init.d/dansguardian 添加以下内容,这是启动shell文件,需要添加bannedphraselist有三处地方需要添加 (不要括号[])

1.[ bannedphraselist:string \]2. local config_file accessdeniedaddress bannediplist [bannedphraselist] 3. [echo "bannedphraselist = " $bannedphraselist >> $CONFIGFILE]

3.修改bannedphraselist/etc/dansguardian/lists/bannedphraselist 中按例子加入关键字<王者荣耀>

修改之前在/etc/config/firewall中新增的redirect的option dest_port 为dansguardian 8888config redirect option name Transparent Proxy Redirect option src lan option proto tcp option dest_port 8888 option src_dport 80 option src_dip !192.168.8.1 option dest_ip 192.168.8.1

运行

/etc/init.d/firewall restart 运行dansguardian/etc/init.d/dansguardian start

这样 访问 带有“王者荣耀 ”关键字的网页就会跳转到dansguardian的限制页面