我想在我的Windows机器上设置系统范围的代理设置。我知道Internet Explorer中的设置,但不希望这样做。有没有办法设置一个将由我的机器上的所有应用程序使用的代理(特别是firefox,我不想在Firefox选项菜单中设置使用系统代理设置)?
答案 0 :(得分:0)
在Windows中,这是设置代理设置的首选方式。 但您可以查看命令行选项
https://superuser.com/questions/419696/in-windows-7-how-to-change-proxy-settings-from-command-line
答案 1 :(得分:0)
我将提供一个不寻常的答案,因为我已经注意到这种特殊的方式'解决这个问题已经(出于某种原因)到目前为止没有超越人们的思想。
如果你想真的让所有应用程序毫无例外地通过你的代理发送互联网流量,你将不得不使用一种称为TUN / TAP设备的特殊技术。
简而言之,这些是特殊驱动程序,安装后会在系统中显示为网络适配器(就像您的本地Ethernet
或Wireless card
),但它们实际上是以这种方式构建的以便从软件层面轻松控制。
基本上,当您在系统上安装此类驱动程序时,系统现在将该设备视为功能齐全的网络适配器。因此,如果您现在将此网络适配器设置为默认网关,则所有应用程序(不知道或无法阻止它)将自动通过它,就像所有应用程序通过通用Wireless Adapter
/ {一样{1}}。
既然您已经了解了通过TAP / TUN设备重定向系统流量的基本概念,那么有几种方法可以做到这一点。
在开始之前,我建议即使您偏离了建议的资源,也坚持使用OpenVPN的开源TAP设备,因为它已经过广泛测试并确认可以在许多系统上运行,并且现在使用非常广泛(有些基础知识可以在https://openvpn.net/tuntap获得,我相信你应该发现它嵌入在任何最新版本的OpenVPN中,你需要的唯一文件是编译过的驱动程序(.inf),你不需要和#39 ; t需要安装完整的OpenVPN才能使用它们。)
当考虑使用SOCKS代理作为TAP设备的端点时,立即想到的项目是badvpn/tun2socks。该项目基本上完全按照此处列出的内容进行,所以我绝对建议您阅读源代码,或将其用作独立实用程序(如果您需要一些使用帮助,我建议您查看this wiki page。
首先,谈到兼容性,性能和错误,使用这种方法没有任何缺点,如果有任何更可靠和更容易使用的话,甚至是系统提供的方法。
此时我能看到的唯一两个缺点是:
如果您只想为Firefox设置此代理,则有几种不干净的方法:For instance, via the command line。然而,(在我看来),这是一种非常便宜和肮脏的实现方式,因为它不提供任何兼容性(基本上是一种黑客攻击)。
虽然实现这可能需要一段时间,但代码库可能很大:
当通过OpenVPN服务器隧道传输整个机器的流量时,通过任何其他方式实现与VPN相同的效果是不可能的。
如果您想要实现这种行为,建议您使用上面概述的方法,因为它更清洁,然后是“替代”。这样做的方法(例如,通过在软件级别拦截流量来阻止流量)