Here is a real-world performance test on a 1C1G (1 vCPU, 1GB RAM) VPS, comparing MicroWARP with the widely used caomingjun/warp.
以下是在 1C1G 廉价小鸡上的真实运行数据截图对比。你可以清楚地看到 MicroWARP 是如何榨干物理机极限的:
| Metric (性能指标) | caomingjun/warp (Official Daemon) | 🚀 MicroWARP (Our pure C + Kernel approach) | 碾压级提升 (Improvement) |
|---|---|---|---|
| Image Size (Docker 镜像体积) | 201 MB | 9.08 MB | 📉 直降 95% |
| RAM Usage (日常内存占用) | ~150 MB | 800 KiB (< 1MB) | 📉 暴降 99.4% |
| CPU Overhead (高并发 CPU 损耗) | High (Userspace App) | ~0.25% (Kernel Space) | ⚡ 近乎为零 |
| Core Engine (底层核心引擎) | Cloudflare warp-cli (Rust/Heavy) | Linux wg0 + Pure C microsocks | 🛠️ 极简硬核 |
🔥 Real
docker statsoutput (真实的生产环境终端输出):CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O 2fa58f84c517 warp 0.25% 800KiB / 967.4MiB 0.08% 48.8MB / 39.1MB 238kB / 36.9kBYes, you read that right. It processed ~90MB of traffic using only 800 KB of RAM! (没看错,它在处理了近 90MB 网络吞吐的同时,仅仅占用了 800 KB 的内存!)
An ultra-lightweight, high-performance Cloudflare WARP SOCKS5 proxy in Docker. A perfect drop-in replacement for caomingjun/warp.
Many popular WARP Docker images (like caomingjun/warp) rely on the official Cloudflare warp-cli daemon. This results in heavy memory usage (often 150MB+) and potential process deadlocks under high concurrency.
MicroWARP does things differently:
- Kernel-Level WireGuard: It drops the bloated official client and uses Linux's native
wg0interface. CPU usage is almost zero. - MicroSOCKS: It uses a pure C-based
microsocksserver instead of heavy Go/Rust proxies. - Extreme Low RAM: Runs smoothly on < 5MB RAM (often under 1MB). Perfect for 1C1G cheap VPS.
- Multi-Arch: Native support for
amd64andarm64(Oracle Cloud ARM ready).
You can seamlessly replace your existing WARP proxy. Just map port 1080 and give it NET_ADMIN privileges. Create a docker-compose.yml:
version: '3.8' services: microwarp: image: ghcr.io/ccbkkb/microwarp:latest container_name: microwarp restart: always ports: - "1080:1080" cap_add: - NET_ADMIN - SYS_MODULE sysctls: - net.ipv4.conf.all.src_valid_mark=1 volumes: - warp-data:/etc/wireguard # Keep account data to avoid rate limits volumes: warp-data:Run the container:
docker compose up -dMicroWARP supports powerful environment variables to customize your setup while keeping the RAM at 800KB:
environment: - BIND_ADDR=0.0.0.0 # Bind address (default: 0.0.0.0) - BIND_PORT=1080 # Custom SOCKS5 port (default: 1080) - SOCKS_USER=admin # Enable authentication (leave empty for no auth) - SOCKS_PASS=123456 # Auth password - ENDPOINT_IP=162.159.193.10:2408 # Custom WARP Endpoint IP (Bypass regional blocks)(Note: If your VPS is in HK or US and cannot connect to WARP due to Cloudflare's reserved bytes verification, simply scan a clean CF endpoint IP and inject it via ENDPOINT_IP. MicroWARP will seamlessly route traffic through it!)
MicroWARP strictly adheres to the Unix philosophy. We keep the memory usage at 800KB by providing a pure L4 SOCKS5 engine. We will never bloat the image with heavy L7 HTTP parsers.
If your app only supports HTTP proxies, you can elegantly chain it with tools like gost:
nohup gost -F=socks5://admin:123456@127.0.0.1:1080 -L=http://:8081 > /dev/null 2>&1 &socks5:// instead of socks5h://. This forces the host to resolve DNS locally, completely avoiding 503 Service Unavailable errors caused by WireGuard's UDP handshake delay!
Zero configuration required. On the first run, MicroWARP will automatically register a free WARP account and persist the configuration in the Docker volume.
一个超轻量、高性能的 Cloudflare WARP SOCKS5 Docker 代理。 完美平替 caomingjun/warp 的终极方案。
市面上流行的 WARP 镜像(例如 caomingjun/warp)绝大多数打包了 Cloudflare 官方的 warp-cli 守护进程。这会导致极高的内存占用(通常在 150MB 以上),并且在高并发下极易发生进程死锁和崩溃。
MicroWARP 采用了完全不同的极客底层架构:
- 内核级 WireGuard:彻底抛弃臃肿的官方客户端,直接调用 Linux 原生内核态的
wg0网卡接管流量,CPU 损耗近乎为零。 - MicroSOCKS 引擎:使用纯 C 语言编写的
microsocks服务器替代繁重的 Go/Rust 代理引擎。 - 极致极低内存:高并发下内存占用依然 < 5MB(实测常驻 800KB 左右)。专为 1C1G 的廉价小内存 VPS 打造的拯救者。
- 多架构支持:原生支持
amd64和arm64(完美兼容甲骨文免费 ARM 机器)。
你可以零成本无缝替换掉现有的 WARP 代理。只需映射 1080 端口并赋予容器 NET_ADMIN 网络管理权限。新建一个 docker-compose.yml:
version: '3.8' services: microwarp: image: ghcr.io/ccbkkb/microwarp:latest container_name: microwarp restart: always ports: - "1080:1080" # 标准的无密码 SOCKS5 端口 cap_add: - NET_ADMIN - SYS_MODULE sysctls: - net.ipv4.conf.all.src_valid_mark=1 volumes: - warp-data:/etc/wireguard # 持久化保存账号凭证,防止重启触发风控 volumes: warp-data:启动容器:
docker compose up -d启动后,将你的应用(Telegram、v2ray、Xray、AIzaSy、Grok2API 等)的 SOCKS5 代理指向 127.0.0.1:1080,你的出站流量就已经被 Cloudflare 骨干网完美接管并洗白了!
MicroWARP 支持极其强大的环境变量注入配置,并且开启这些功能后,内存依旧保持 800KB 的神话:
environment: - BIND_ADDR=0.0.0.0 # 监听地址 (默认 0.0.0.0,可改为 127.0.0.1 仅限本机) - BIND_PORT=1080 # 监听端口 (默认 1080) - SOCKS_USER=admin # SOCKS5 认证用户名 (留空则为无密码模式) - SOCKS_PASS=123456 # SOCKS5 认证密码 # ⚠️ 针对香港/美西机房的防阻断绝杀: - ENDPOINT_IP=162.159.193.10:2408 # 注入你扫出的优选 IP,完美绕过 CF 的 reserved 字节阻断!MicroWARP 坚守 Unix 哲学(Do one thing and do it well)。为了保持 800KB 的极限内存,我们绝不会在底层内置臃肿的七层 HTTP 解析引擎。
如果你需要 HTTP 代理,可以使用 gost 极其优雅地串联转换(L4 转 L7):
nohup gost -F=socks5://admin:123456@127.0.0.1:1080 -L=http://:8081 > /dev/null 2>&1 &socks5:// 而不是 socks5h://。去掉 h 可以让 gost 在宿主机本地网络解析 DNS,完美避开 WARP UDP 隧道冷启动握手时容易触发的 DNS 解析死锁,彻底告别偶尔出现的 503 Service Unavailable 报错!稳如老狗!
你不需要手动提取任何密钥。首次启动时,MicroWARP 会在后台全自动向 Cloudflare 申请注册免费 WARP 账户,提取节点信息,并永久保存在本地的数据卷中。
特别鸣谢: LinuxDo, NodeSeek (排名不分先后) ❤️