系统管理员比较 · 1 分钟阅读

Tinyproxy 与 3proxy 与 Squid:轻量级代理比较

三个流行的自托管代理守护进程,三个不同的甜蜜点。以下是Tinyproxy、3proxy和Squid在协议、占用空间、功能以及每个实际构建的工作的比较。

三个工具,三个任务

如果您在 VPS 上自托管代理,您选择的守护进程将决定其他一切。三种常见选择在 "小型且单一用途" 到 "大型且功能齐全" 的光谱上处于不同位置。Tinyproxy 是一个最小的 HTTP/HTTPS 代理。3proxy 是一个小型多协议套件。Squid 是一个重量级的 HTTP 缓存代理。没有哪个是抽象意义上的 "最佳" — 每个在不同的工作中表现出色,选择得当可以为您节省资源和避免麻烦。请参见 构建您自己的代理 以获取完整的 3proxy 设置,以及 Squid 设置 以获取 Squid 的设置。

决定这一点的两个问题是:您是否需要 SOCKS 以及 HTTP,您是否需要缓存或严格的访问控制?

它们的比较

Tinyproxy 只做一件事:一个轻量级的 HTTP/HTTPS 代理,内存占用极小,配置文件可以在一分钟内阅读。它没有 SOCKS,没有可谈的缓存,只有基本的访问控制。非常适合在受限设备上使用的小型简单 HTTP 出口——如 Raspberry Pi 或最小化的 VPS。

3proxy 是瑞士军刀选项:它可以通过一个小二进制文件同时支持 HTTP 和 SOCKS5(还有更多),并具有用户名/密码认证和流量限制。当你需要 SOCKS5 或两种协议时,选择它,而不必承受 Squid 的负担。

Squid 是强大的工具:仅支持 HTTP/HTTPS,但具有真正的缓存、丰富的 ACL 引擎、详细的日志记录和 TLS 拦截选项。它是企业网关或缓存层的正确工具,对于个人单用户出口来说则显得过于复杂。它的占用和配置复杂性相应更大。

根据需要选择,或跳过选择

决策树很简单。需要SOCKS5(或SOCKS + HTTP一起)?使用3proxy。需要在小型设备上以最小的麻烦使用仅限HTTP的微型出口?使用Tinyproxy。需要缓存、细粒度ACL或企业级日志记录用于HTTP/HTTPS?使用Squid。这三者都为您提供在您的VPS提供商的ASN上的数据中心出口,并且这三者都要求相同的纪律:身份验证、防火墙端口、打补丁,并且永远不要将它们保持开放。

如果运行一个的目的仅仅是为了拥有一个干净、私密的出口,而您又不想维护服务器,s4m提供了托管的等效方案——经过身份验证的数据中心SOCKS5(1080)和HTTP(3128)代理以及一个可选的专用IP,并提供一个API来自动化其余部分。自托管以学习或控制设备;购买托管服务以跳过运维。

FAQ

问题,已解答

哪个更好:Tinyproxy、3proxy 还是 Squid?

这取决于工作。Tinyproxy是一个小型HTTP-only出口;3proxy在一个小二进制文件中添加了SOCKS5和多协议支持;Squid是一个重量级的HTTP缓存代理,具有丰富的ACL。选择3proxy用于SOCKS,Tinyproxy用于最小的HTTP盒子,Squid用于缓存或企业网关。

这些中哪个支持 SOCKS5?

仅支持3proxy。Tinyproxy和Squid是没有SOCKS支持的HTTP/HTTPS转发代理。如果您需要SOCKS5——或者从一个守护进程同时使用SOCKS和HTTP——3proxy是轻量级的选择,或者使用像Dante这样的专用SOCKS服务器。

运行一个,或者让我们来运行它

自托管适合你工作的守护进程——或者将你的客户端指向管理的s4m代理,使用1080和3128端口,完全跳过设置,当你需要时提供专用IP。

人们通过搜索找到此页面

此页面回答的真实搜索短语 — 链接的短语打开详细覆盖它们的页面。