我居住的地方的互联网审查几乎使网络无法使用,因此我决定使用 Tor 为我的家庭网络设置一个透明代理。由于 Tor 速度太慢,通过 Tor 代理所有流量会使我的连接速度变慢。因此我需要一种机制来选择性地代理流量。
我对“iptables”略知一二,它看起来似乎是我的问题的解决方案。但是有一个技巧。由于我需要通过 Tor 访问的大多数网站(如 Google+、Facebook 等)都使用多个 IP 地址作为入口点,因此我几乎不可能为所有这些 IP 地址添加“iptables”规则。我需要一种基于 URL 模式代理流量的机制。例如,我需要能够通过 Tor 代理访问“*.facebook.com”。
所以问题归结为:如何使用 URL 模式设置系统范围的透明代理?
任何想法/提示都将不胜感激。
答案1
乌贼可能就是你想要的。
Squid 的开箱即用配置通常可以作为代理服务器使用,因此您接下来需要的是如下 ACL:
acl viator dstdomain .hotmail.com
因此,您可以在此处包含所有想要代理的域名。
并且您需要定义 tor 代理:
cache_peer tor.proxy parent <tor port> 0
然后使用命令将流量引导至 tor,并阻止这些域的直接访问,然后让其他所有内容通过:
cache_peer_access tor.proxy allow viator
never_direct allow viator
always_direct allow !viator
在您的环境中部署 squid 需要更多有关您的设置的信息。
答案2
你不需要有当然是安装和使用额外的代理服务器。
毕竟,根据 URL 模式选择 HTTP 代理服务器正是代理自动配置脚本所做的。
进一步阅读
- 乔纳森·德·博因·波拉德(2004年)。Web 浏览器中的自动代理 HTTP 服务器配置. 常见问题答案。