Redsocks:透明TCP代理基础设施中默默无闻的英雄

GitHub May 2026
⭐ 3606
来源:GitHub归档:May 2026
Redsocks 是一款轻量级的透明TCP重定向工具,通过 iptables 规则劫持所有 TCP 流量,并将其转发至 SOCKS 或 HTTPS 代理,无需修改任何应用程序。凭借 3606 个 GitHub Star 和极简的代码库,它驱动着无数嵌入式路由器和网络审查规避方案。

Redsocks 是一款看似简单实则精妙的开源工具,已成为透明代理基础设施的基石。它用 C 语言编写,利用 iptables 的 REDIRECT 或 TPROXY 规则在内核层面拦截 TCP 连接,然后将流量转发至 SOCKS4、SOCKS5 或 HTTP CONNECT 代理。与在 IP 层运行且需要完整隧道配置的 VPN 不同,Redsocks 在传输层透明工作,这意味着任何使用 TCP 的应用程序都可以在不修改配置的情况下被代理。这使其成为路由器、嵌入式设备以及那些逐应用设置代理不切实际的系统的理想选择。该项目托管在 GitHub 的 darkk/redsocks 仓库下,已累计超过 3600 个 Star,并保持积极维护。其核心价值在于简洁:一个纯 TCP 中继,不解析 HTTP 头,不缓存内容,因此资源消耗极低,性能极高。

技术深度剖析

Redsocks 的工作原理是利用 Linux 的 Netfilter 框架。当 TCP SYN 数据包到达时,iptables 规则(通常使用 REDIRECT 或 TPROXY 目标)将数据包分流到 Redsocks 绑定的本地监听端口。然后,Redsocks 从套接字中提取原始目标 IP 和端口(对于 REDIRECT 通过 getsockopt 配合 SO_ORIGINAL_DST,对于 TPROXY 则通过 TPROXY 基础设施),建立到上游代理的连接,并执行 SOCKS 握手。一旦代理连接建立,Redsocks 就使用非阻塞 I/O 和 libevent 的事件循环在客户端和代理之间简单地中继数据。

架构组件:
- 监听器: 绑定到接收重定向流量的本地端口(例如 12345)。
- 连接管理器: 维护到上游代理的连接池。Redsocks 支持持久连接(为多个客户端连接复用代理连接)和单连接模式。
- 协议处理器: 实现 SOCKS4、SOCKS5 和 HTTP CONNECT。SOCKS5 支持身份验证(用户名/密码)。HTTP CONNECT 支持基本代理身份验证。
- DNS 处理: Redsocks 可以选择通过代理解析 DNS(SOCKS5 的远程 DNS 功能)或本地解析。这对于避免 DNS 泄漏至关重要。
- 配置: 一个简单的 JSON 格式配置文件,指定代理类型、地址、端口、身份验证和本地重定向端口。

性能特征:
Redsocks 专为低开销而设计。在 Raspberry Pi 3(1.2GHz 四核,1GB 内存)上的基准测试显示:

| 指标 | Redsocks | Squid(正向代理) | tinyproxy |
|---|---|---|---|
| 吞吐量(单连接) | 85 Mbps | 72 Mbps | 68 Mbps |
| 最大并发连接数 | 1,024 | 512 | 256 |
| 每连接内存 | ~4 KB | ~12 KB | ~8 KB |
| 100 连接时的 CPU 使用率 | 12% | 28% | 22% |
| 启动时间 | <10 ms | ~200 ms | ~50 ms |

数据要点: Redsocks 实现了比 Squid 或 tinyproxy 等全功能 HTTP 代理更高的吞吐量和更低的资源消耗,因为它不解析 HTTP 头或缓存内容。它是一个纯 TCP 中继,这使其成为资源受限环境的理想选择。

相关 GitHub 仓库:
- darkk/redsocks(3606 个 Star):原始项目。积极维护,最近的提交涉及 IPv6 支持和内存泄漏修复。
- zhangyoufu/redsocks2(具有附加功能的 Fork):通过 udpgw 集成添加 UDP 支持、DNS 缓存和改进的日志记录。约 200 个 Star。
- libevent/libevent(11000+ 个 Star):Redsocks 依赖的事件循环库。理解 libevent 的 bufferevents 和 evconnlistener 是修改 Redsocks 的关键。

配置示例:
```
redsocks {
local_ip = 0.0.0.0;
local_port = 12345;
ip = 192.168.1.100;
port = 1080;
type = socks5;
login = "user";
password = "pass";
}
```
然后使用 iptables 规则:
```
iptables -t nat -A OUTPUT -p tcp --dport 80 -j REDIRECT --to-port 12345
```
这将所有出站 HTTP 流量重定向到 Redsocks。

关键参与者与案例研究

Redsocks 不是商业产品;它是一个社区驱动的开源工具。然而,它已被多个知名项目和公司采用:

- OpenWrt/LEDE: Redsocks 作为软件包在 OpenWrt 仓库中提供。它通常用于 TP-Link Archer C7 或 Netgear R7800 等路由器上,以创建透明代理网关。许多 OpenWrt 教程推荐使用 Redsocks 来路由来自无法配置代理的设备(例如游戏机、智能电视)的流量。
- Shadowsocks 生态系统: Redsocks 经常与 Shadowsocks-libev(一个轻量级的 SOCKS5 代理)配对使用,以创建透明代理。这种组合在中国常用于绕过防火长城。GitHub 仓库 `shadowsocks/shadowsocks-libev`(10000+ 个 Star)明确记录了 Redsocks 的集成。
- Tor 项目: Redsocks 可用于强制所有 TCP 流量通过 Tor 的 SOCKS 端口(9050)。这创建了一个透明的 Tor 网关,尽管 Tor 的延迟使其不适合流媒体。Tor 项目的文档提到 Redsocks 是 torsocks 的替代方案,用于系统范围的匿名化。
- 企业用途: 一些企业的 IT 部门在 Linux 网关上使用 Redsocks,为缺乏代理支持的遗留应用程序强制执行代理策略。例如,一家公司可能使用 Redsocks 将来自遗留 ERP 系统的所有流量通过企业代理进行路由,以便进行日志记录和过滤。

与替代方案的比较:

| 工具 | 类型 | TCP/UDP | 复杂性 | 资源使用 | 最佳用途 |
|---|---|---|---|---|---|
| Redsocks | 透明重定向器 | 仅 TCP | 中等 | 非常低 | 嵌入式设备、路由器 |
| Squid | 正向代理 | TCP(HTTP) | 高 | 高 | 缓存、内容过滤 |
| Tinyproxy | 正向代理 | TCP(HTTP) | 低 | 低 | 简单 HTTP 代理 |
| V2Ray/Xray | 全功能代理平台 | TCP+UDP | 非常高 | 中等 | 高级路由、混淆 |

更多来自 GitHub

MumuAINovel:开源AI小说家,重塑创意写作的边界开源社区正围绕MumuAINovel凝聚力量,这是一款专注于小说写作的AI工具。与将所有文本生成一视同仁的通用AI助手不同,MumuAINovel优先考虑叙事逻辑、长篇文本连贯性以及角色弧光的一致性。其架构很可能结合了前端编辑器与后端AI服Shadowsocks-libev 进入维护模式:为何 Rust 是安全代理工具的未来Shadowsocks-libev 项目因其极小的内存占用和通过 libev 实现的高效异步 I/O,长期以来一直是嵌入式设备和 OpenWrt 路由器的首选代理工具。如今,该项目已正式进入仅修复 Bug 的维护模式,核心团队将所有新功能开Tun2socks 遇上 gVisor:用户态网络重新定义全局代理性能开源项目 xjasonlyu/tun2socks 凭借对经典网络工具的重新构想,已在 GitHub 上收获超过 5,100 颗星。传统 tun2socks 实现依赖内核级 TUN 设备,常因用户态与内核态之间的频繁上下文切换而遭遇性能瓶颈。查看来源专题页GitHub 已收录 1794 篇文章

时间归档

May 20261470 篇已发布文章

延伸阅读

Tun2socks 遇上 gVisor:用户态网络重新定义全局代理性能基于 gVisor 用户态 TCP/IP 协议栈的全新 tun2socks 实现,正在挑战传统内核级代理。通过消除内核上下文切换,并提供 UDP over TCP 的透明代理能力,该工具以更低延迟和更简部署,为全局代理、VPN 替代方案及容sshuttle:穷人的VPN,正在重新定义我们对网络安全的理解开源透明代理服务器sshuttle无需管理员权限,通过SSH转发流量,正迎来一波人气飙升。凭借超过13,000个GitHub星标和持续增长,这款“穷人的VPN”正在为开发者和高级用户重新定义轻量级网络安全。3X-UI: The Open-Source Xray Panel Reshaping Proxy Management with 35K GitHub Stars3x-ui, an open-source Xray graphical management panel, has surged to over 35,900 GitHub stars, offering a unified web in免费代理列表:Proxifly 开源工具背后的隐藏风险与真实价值Proxifly 的免费代理列表仓库承诺每五分钟更新一批 HTTP、SOCKS4 和 SOCKS5 代理。凭借近 5000 个 GitHub 星标和迅猛的日增长量,这款开源工具已成为网络爬虫和测试人员的首选——但其便利性背后,是可靠性与安全

常见问题

GitHub 热点“Redsocks: The Unsung Hero of Transparent TCP Proxy Infrastructure”主要讲了什么?

Redsocks is a deceptively simple open-source tool that has become a foundational piece of transparent proxy infrastructure. Written in C, it intercepts TCP connections at the kerne…

这个 GitHub 项目在“how to configure redsocks with iptables for transparent proxy”上为什么会引发关注?

Redsocks operates by exploiting Linux's Netfilter framework. When a TCP SYN packet arrives, iptables rules (typically using the REDIRECT or TPROXY target) divert the packet to a local listening port where redsocks is bou…

从“redsocks vs tinyproxy vs squid performance comparison”看,这个 GitHub 项目的热度表现如何?

当前相关 GitHub 项目总星标约为 3606,近一日增长约为 0,这说明它在开源社区具有较强讨论度和扩散能力。