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

病毒视频档案的地下引擎:evil0ctal 多平台爬虫深度解析一个名为 evil0ctal/douyin_tiktok_download_api 的 GitHub 仓库,已悄然成为从全球最大短视频平台抓取和下载内容的最热门工具之一。凭借超过 18,500 颗星且仍在增长,这个开源项目提供了一个异步、高XHS-Downloader:一款重塑小红书数据获取方式的开源工具XHS-Downloader是一款基于Python的命令行工具,使用户能够从中国生活方式平台小红书(RedNote)中提取链接并下载内容。它支持从用户主页(帖子、收藏、点赞、专辑)、搜索结果和单个帖子中提取链接,并下载相关的媒体文件。该项目MLC-LLM:让大模型在任何设备上瞬间运行的编译器革命训练出最先进的大语言模型与在用户设备上高效运行它之间,始终横亘着一道鸿沟。MLC-LLM,这个来自MLC-AI社区的开源项目,正以一种激进的方式试图填平这道鸿沟:将模型视为待编译的程序,而非待解释的二进制文件。它摒弃了PyTorch或Ten查看来源专题页GitHub 已收录 3121 篇文章

时间归档

May 20263028 篇已发布文章

延伸阅读

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,这说明它在开源社区具有较强讨论度和扩散能力。