c

tinyproxy http/https代理

Posted by eye on 03-26,2023

tinyproxy

Tinyproxy 是一个在 GNU 通用公共许可证下发布的小型、高效的 HTTP/SSL 代理守护程序。Tinyproxy 在小型网络环境中非常有用,在这种情况下,较大的代理要么资源过于密集,要么存在安全风险。Tinyproxy 的关键特性之一是缓冲连接概念。实际上,Tinyproxy 会缓冲来自服务器的高速响应,然后以客户端可接受的最高速度将其转发给客户端。此功能大大减少了因特网缓慢的问题。如果你正在与一个小型网络共享一个 Internet 连接,并且你只想允许 HTTP 请求被允许,那么 Tinyproxy 是网络管理员的一个很好的工具。

特点:

  • Tinyproxy 占用空间小,对系统资源的要求非常低。 glibc 的内存占用量大约为 2 MB,CPU 负载随着并发连接数线性增加(取决于连接速度)。因此,Tinyproxy 可以在旧机器或网络设备(例如基于 Linux 的宽带路由器)上运行,而不会对性能产生任何明显影响。
  • Tinyproxy 只需要一个最小的 POSIX 环境来构建和运行。它可以使用额外的库来添加功能。
  • Tinyproxy 允许转发 HTTPS 连接而无需通过 CONNECT 方法以任何方式修改流量(请参阅 ConnectPort 指令,除非您想限制用户,否则您应该禁用它)。
  • Tinyproxy 支持配置为透明代理,这样就可以在不需要任何客户端配置的情况下使用代理。您还可以将它用作您网站的反向代理前端。
  • 使用 AddHeader 指令,您可以将 HTTP 标头添加/插入到传出流量(仅限 HTTP)。
  • 如果您希望构建自定义 Web 代理,Tinyproxy 可以轻松修改以满足您的自定义需求。来源很简单,遵循 KISS 原则。因此,它可以用作您可能需要 Web 代理执行的任何操作的基础。
  • Tinyproxy 具有隐私功能,可以让您配置哪些 HTTP 标头应该被允许通过,哪些应该被阻止。这允许您限制哪些数据从 HTTP 服务器(例如 cookie)进入您的 Web 浏览器,以及限制哪些数据被允许从您的 Web 浏览器传送到 HTTP 服务器(例如,版本信息)。请注意,这些功能不会影响 HTTPS 连接。
  • 使用远程监控工具,您可以从远处访问代理统计信息,让您准确了解代理的繁忙程度。
  • 您可以将 Tinyproxy 配置为通过仅允许来自特定子网或特定接口的请求来控制访问,从而确保随机的、未经授权的人不会使用您的代理。
  • 通过一些配置(具体来说,让 Tinyproxy 创建的文件为非 root 用户所有并在大于 1024 的端口上运行),Tinyproxy 可以在没有任何特殊权限的情况下运行,从而最大限度地减少系统受损的机会。事实上,建议以普通/受限用户身份运行它。此外,它的设计着眼于防止缓冲区溢出。代码的简单性确保可以轻松发现此类错误。