relay-core — zsh
$ relay-core-cli --version
relay-core-cli 0.5.2

$ relay-core-cli ca generate
CA certificate generated at ~/.relay-core/ca_cert.pem

$ relay-core-cli run --listen 127.0.0.1:8080
RelayCore proxy started
  Proxy   127.0.0.1:8080
  Control http://127.0.0.1:8081/
  CA      cert=~/.relay-core/ca_cert.pem key=~/.relay-core/ca_key.pem

基于 Rust 的流量拦截引擎

零拷贝异步运行时,延迟低于 1ms。支持 HTTP/HTTPS/WebSocket 的 MITM 代理,可编程控制流量拦截。

RelayCore 功能

完整 MITM 支持

动态 TLS 证书生成,自动 CA 安装。

WebSocket 拦截

双向 WebSocket 通信的消息级检查、修改和重放。

规则引擎

基于匹配条件对请求头、请求体、响应状态进行拦截、重定向或 mock。

脚本扩展

内置 Deno 运行时,支持动态修改请求和响应。

拦截断点

暂停实时流量,检查、修改,然后继续或丢弃。

Prometheus 指标

内置 Prometheus 文本格式和 JSON 指标端点。

架构

ADAPTER LAYER public crates PUBLIC relay-core-http REST + SSE PUBLIC relay-core-probe MCP · AI PUBLIC relay-core-tauri RelayCraft PUBLIC relay-core-cli CLI · TUI · embedded HTTP INTERNAL relay-core-api Flow · Rule · Policy · Event PUBLIC relay-core-runtime CoreState lifecycle · rule store · event bus · proxy spawn ENGINE internal crates INTERNAL relay-core-lib MITM · HTTP/HTTPS · WebSocket · TLS · rule execution interceptor chain: Script → Rule → Metrics → adapter INTERNAL relay-core-storage SQLite optional persist · flows · audit INTERNAL relay-core-script Deno/V8 (optional) feature "script"
PUBLIC relay-core-runtime 状态编排、生命周期、规则
PUBLIC relay-core-http REST + SSE 适配器
PUBLIC relay-core-probe AI 代理 MCP 适配器
PUBLIC relay-core-cli CLI · TUI · 内嵌 HTTP API
INTERNAL relay-core-api Flow / Rule 共享契约
INTERNAL relay-core-lib MITM · 代理 · 规则执行
INTERNAL relay-core-script Deno/V8 脚本(可选)
INTERNAL relay-core-storage SQLite 持久化(可选)

性能

>10K
req/s
吞吐量 (S1)
<200
ms
冷启动
<50
MB
空闲 RSS
<5
ms
P99 延迟增加
指标 RelayCore mitmproxy Charles
语言 Rust Python Java
吞吐量 10K+ req/s ~1K req/s ~2K req/s
内存 (空闲) 38MB ~150MB ~300MB
P99 开销 <5ms ~50ms ~30ms

HTTP API

GET http://127.0.0.1:8082/api/v1/flows?limit=10
Response 200 OK
{
  "flows": [
    {
      "id": "fld_01HX5K9P3Q8Y2Z7",
      "method": "GET",
      "path": "/users",
      "status": 200,
      "duration_ms": 42
    }
  ],
  "pagination": {
    "total": 12847,
    "returned": 10,
    "offset": 0
  }
}
GET
/api/v1/flows
搜索和分页流量
GET
/api/v1/flows/:id
获取流量详情
GET
/api/v1/rules
列出所有规则
PUT
/api/v1/rules
更新或创建规则
DELETE
/api/v1/rules/:id
删除规则
POST
/api/v1/intercepts
创建拦截规则
GET
/api/v1/events
SSE 实时更新流
GET
/api/v1/metrics/prometheus
Prometheus 格式指标

CLI 参考

$ relay-core-cli run --listen 127.0.0.1:8080
RelayCore proxy started
  Proxy   127.0.0.1:8080
  Control http://127.0.0.1:8081/
  TUI     run with --ui for interactive mode
  CA      cert=~/.relay-core/ca_cert.pem key=~/.relay-core/ca_key.pem
$ relay-core-cli ca generate
CA certificate generated at ~/.relay-core/ca_cert.pem
$ relay-core-cli rules list
No rules loaded.
$ relay-core-cli metrics
Metric                    | Value
--------------------------|-----------
Flows Total               | 128
Flows In Memory           | 100
Intercepts Pending        | 0
Rule Exec Errors          | 0
relay-core-cli run 启动代理服务器
relay-core-cli run --ui 启动 TUI 界面
relay-core-cli ca generate CA 证书管理
relay-core-cli rules list 规则管理
relay-core-cli run --api-port 8082 启用 REST API
relay-core-cli run --upstream http://corp-proxy:8080 串接上级代理(见 代理模式
relay-core-cli analyze --file flows.jsonl 离线分析流量 dump
relay-core-cli flows --host example.com 搜索流量(需 --api-port)

开始使用

Cargo

cargo install relay-core-cli

npm

npm install -g @relay-core/cli

从源码编译

git clone https://github.com/relaycraft/relay-core && cd relay-core && cargo build --release