Squid 默认作为 HTTP 代理运行;但是,此常见问题解答https://docstore.mik.ua/squid/FAQ-4.html#ss4.10说“使用带有 socks5 的 Squid 不需要进行任何更改。只需将常用的 -Dbind=SOCKSbind 等添加到编译行,并将 -lsocks 添加到链接行即可。”
这听起来很棒,除了除了了解基本语法之外我不会编写 c/c++ 代码,所以通常当我编译某些东西时,它是 ./configure 和 ./make。有时我必须修改 makefile 的编译行,但我不确定是否要在此处进行链接(尽管我了解链接的概念)。
“添加通常的 X 等” 究竟要做什么,这有点让人困惑,所以如果有人能指出这里的确切步骤,那将会很有帮助,因为这些步骤似乎没有在任何地方详细说明。听起来并不难。
我已经编译了 squid 并正确运行了 HTTP 连接,但 SOCKS 支持是必须的。
答案1
看一下这一页。它讨论了 squid socks 支持以及如何构建它以支持 SOCKS 连接。状态为“测试中”。因此,您可能需要考虑将其用于生产。
在构建 squid 时,需要定义这些变量:
export CFLAGS=" -Dbind=SOCKSbind "
export CXXFLAGS=" -Dbind=SOCKSbind "
export LDADD=" -lsocks "
修改构建和链接选项。
此外,您还可以将这些变量传递给 configure 脚本。如果您已经构建了 squid,则可以使用 找出当前值squid -v
。这将显示 squid 版本以及 configure 和 build 选项。