强制程序使用并通过代理

Jos*_*unt 25 networking windows windows-7 proxy

我的学校要求所有互联网访问的代理。如果你想使用互联网,不使用代理是不可能的。这对于许多似乎不允许您输入代理设置的程序来说是一个问题。

当我在代理后面时如何使用 Steam?是否可以以某种方式将详细信息输入配置文件,或强制它从 Internet Explorer 获取设置?

如果没有,是否存在用于创建将通过x代理传递所有流量(或所有协议流量)的“虚拟”网络适配器的软件?

尽管我在 Windows 7 上面临这个特定问题,但欢迎所有操作系统的解决方案。

Jos*_*unt 8

查看Proxifier。结合 SSH 隧道,您应该能够通过任何代理获取大多数程序。

我的学校(以及我所在州的所有其他学校)设置了一个非常精细的网络过滤代理,它会阻止代理另一侧的大多数端口。我设法在 Windows 上使用上述程序的组合来解决它。

只需根据需要使用 Putty 创建 SSH 隧道,然后将 Proxifier 设置为使用隧道作为其代理。这应该通过代理路由所有端口的流量。

  • 我希望有这样的东西用于商业用途和免费。替代方案根本不起作用(在我们的 VPS 上)。 (2认同)
  • 请注意,这不是免费的解决方案,因为“Proxifier”需要付费。 (2认同)

Amb*_*jak 6

我的tun2socks软件(Linux、Windows)创建一个虚拟网络接口,通过指定的代理服务器转发所有传入的 TCP 连接。它只能使用 SOCKS 代理,并且默认情况下只能转发 TCP,但如果您能够在udpgwSOCKS 后面的某处运行我的转发器,则也可以转发 UDP。假设您满足这些要求,设置方法如下:

首先创建虚拟接口并进行配置。在 Linux 上:

openvpn --mktun --dev tun0 --user <your_user>
ifconfig tun0 10.0.0.1/24
Run Code Online (Sandbox Code Playgroud)

或者,在 Windows 上,只需安装 OpenVPN 即可获取 TAP-Win32 虚拟接口,并为其分配 IP 10.0.0.1、网络掩码 255.255.255.0。

然后启动 tun2socks,它执行实际的转发:

badvpn-tun2socks --tundev tun0
  --netif-ipaddr 10.0.0.2 --netif-netmask 255.255.255.0
  --socks-server-addr <socks_server_address>:<socks_port>
Run Code Online (Sandbox Code Playgroud)

这里,10.0.0.2是虚拟接口内虚拟路由器的IP。它必须与分配给虚拟接口本身的子网位于同一子网中,并且不同子网 ( 10.0.0.1/24)。在 Windows 上,请tun0使用:

--tundev "tap0901:<display_name_of_TAP-Win32_device>:10.0.0.1:10.0.0.0:255.255.255.0"
Run Code Online (Sandbox Code Playgroud)

此时,您应该能够 ping 通虚拟路由器10.0.0.2(在这种情况下,正在运行的tun2socks程序将做出响应)。要通过代理转发连接,您所要做的就是通过虚拟设备路由它们。在 Linux 上:

route add default gw 10.0.0.2 metric 0
Run Code Online (Sandbox Code Playgroud)

或者在 Windows 上:

route add 0.0.0.0 mask 0.0.0.0 10.0.0.2 metric 0
Run Code Online (Sandbox Code Playgroud)

这里的关键部分是该路由覆盖任何现有的默认路由。此外,如果您的 SOCKS 服务器不在本地网络上,则必须添加具有更高度量的例外路由,以防止连接被路由回虚拟接口。请参阅顶部的链接以获取更多信息。