创建一个没有啥特别的 SOCKS 代理

Posted

技术标签:

【中文标题】创建一个没有啥特别的 SOCKS 代理【英文标题】:Create a SOCKS Proxy that does nothing special创建一个没有什么特别的 SOCKS 代理 【发布时间】:2009-08-20 04:30:39 【问题描述】:

我正在尝试在 C++ 中创建一个 SOCKS 代理,该代理在本地主机上作为后台进程运行。

如果用户的浏览器配置为使用代理,我希望所有 HTTP 请求都通过正常的 TCP/IP 堆栈传递。即,浏览器的行为与正常情况完全相同。

最后我会添加另一个层来检查请求的资源是否符合某些条件,如果是,则以不同的方式处理请求。但现在我只是在尝试解决基本问题......如何创建一个不会改变任何东西的 SOCKS 代理?

【问题讨论】:

【参考方案1】:

我会研究 Squid 项目,具体取决于您的需要。

http://www.squid-cache.org/

GPL 许可来源。

对许多好东西都非常好。

雅各布

【讨论】:

【参考方案2】:

构建 HTTP 代理比 SOCKS4/SOCKS5 容易得多,因为 HTTP 协议是人类可读的,而 SOCKS 协议不是。 Here is an exemple of a HTTP proxy 几年前我建立了经验。它曾经在旧浏览器上运行良好,现在由于无法处理持久连接而损坏,但它仍然是了解其工作原理的好来源。

也许您更愿意使用现有的 HTTP 代理软件,例如 Squid。

【讨论】:

我将重新配置浏览器,以便 DNS 请求也通过代理发出。我怀疑这意味着我不能使用 HTTP 代理。

以上是关于创建一个没有啥特别的 SOCKS 代理的主要内容,如果未能解决你的问题,请参考以下文章

无法与 typedef 成为朋友:有啥特别的原因吗?

如何用RouterOS封堵HTTP、SOCKS代理

使用 JSch 创建一个通过 SSH 隧道化的 SOCKS 代理

Java实现sock5代理服务器

SOCKS5代理的介绍

裴波那契数列是怎样的数列?有啥特别的地方