使用 URL 模式进行系统范围的透明代理

使用 URL 模式进行系统范围的透明代理

我居住的地方的互联网审查几乎使网络无法使用,因此我决定使用 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 代理服务器正是代理自动配置脚本所做的。

进一步阅读

相关内容