我正在寻找替代路由器的选项,为我提供更多内容过滤和内容修改选项。
我想做的一件事是修改 HTTP 请求,例如添加或删除某些标头或正文的内容(例如,删除对 的任何引用ga.js
)。另外,我想阻止对域的某些子路径的访问,例如阻止twitter.com/widgets
而不阻止主twitter.com
网站(在这种情况下,返回 0.0.0.0 的自定义 DNS 可以完成这项工作)
我想知道 OpenBSD 上的 PF 是否可以做到这一点,或者它的级别是否太低,以及我是否需要像代理这样的更高级别的工具。使用代理的问题在于它对客户端来说不透明,因此无助于保护我的手机(例如,当我的手机在我的 WiFi 上时)。
答案1
PF还是不PF?
我认为pf
不适合过滤诸如 之类的高级元素ga.js
。相反,它在其之下运行一两层。过滤ga.js
更适合代理包(例如 Squid)。
摘自PF:数据包过滤
数据包过滤是在数据包通过网络接口时选择性地通过或阻止数据包。 pf(4) 在检查数据包时使用的标准基于第 3 层(IPv4 和 IPv6)和第 4 层(TCP、UDP、ICMP 和 ICMPv6)标头。最常用的标准是源和目标地址、源和目标端口以及协议。
如果您熟悉 OSI 模型和 TCP/IP,此图显示了 PF 将在哪些层中工作以及您的ga.js
文件可以在哪一层进行过滤。
所以PF可以在运输&互联网层。要操作某些东西,例如ga.js
您需要在应用层,因此是代理。
鱿鱼设置
本教程应该帮助您开始设置和配置 Squid,标题为:Squid 代理上的网页过滤。