强制应用程序的流量通过 SOCKS 代理

强制应用程序的流量通过 SOCKS 代理

如何强制由特定应用程序发起的 TCP 流量通过 SOCKS 代理,而不管远程 IP 或端口如何?

VPN 将直接全部主机上的出站流量通过接口(tun0通常),因此这是一个过度的解决方案。但在分割隧道配置中,VPN 客户端不会默认执行此操作,而是为特定应用程序提供 SOCKS 代理。虽然浏览器支持通过 SOCKS 代理进行连接,但许多其他应用程序不支持。

我试过了但丁袜子化但它不适用于curl和等常见程序wget。 (我已经向他们的邮件列表发送了一条消息,但它是没有存档在任何地方所以我无法链接到它。)

答案1

维基百科列出了一些开源代理器。其中,proxychains-ng似乎是最积极发展的,根据 GitHub 活动判断。

要安装和配置,

  1. 下载最新发布
  2. 解压并cd进入目录
  3. ./configure && make
  4. 选修的:sudo make install && sudo make install-config
  5. nano /usr/local/etc/proxychains.conf
  6. 在配置文件末尾,设置SOCKS IP端口地址

用法:

proxychains4 -q curl icanhazip.com

答案2

替代解决方案:

代理绑定可以做这份工作

proxybound application-command

笔记: 我是这个程序的开发者。

相关内容