红队多级协议跳板配置与代理管理平台,支持策略调度、规则分流、健康检查、REST API / WebSocket 自动化。
特别说明:
公开版本为历史遗留版本,最新版本仅圈内共享,公开版本有bug是正常的,因为没有进行维护,默认别启用这个版本的TUN,贼血妈难用,相关代码可自行fork修改并pr
| 功能 | 说明 |
|---|---|
| 多协议 | HTTP / SOCKS5 上游 |
| 策略引擎 | 轮询、随机、定时、按请求、按流量、故障转移、Geo |
| 规则引擎 | 域名 / IP / 端口 / 进程 / 时间段分流 |
| 应用分流 | 域名规则在本地代理层生效;TUN 需 tun2socks |
| 链式代理 | 代理 JSON 字段 chain 配置多级 detour |
| 健康检查 | 逐个检测每个上游代理 |
| GUI | Wails + Nuxt UI 亮色界面 |
| API | REST + WebSocket,供脚本 / 浏览器插件联动 |
- 打开 代理 页 → 添加代理
- 快速导入:粘贴
http://user:pass@1.2.3.4:8080或socks5://1.2.3.4:1080 - 高级协议填写 UUID、加密方式、Extra JSON
- 点击 保存 → 顶部 启动
| 类型 | 地址 |
|---|---|
| HTTP | 127.0.0.1:7890 |
| SOCKS5 | 127.0.0.1:7891 |
| Mixed | 127.0.0.1:7892 |
浏览器 / curl 示例:
curl -x http://127.0.0.1:7890 https://api.ipify.org- 从 tun2socks Releases 下载
tun2socks-windows-amd64.exe - 重命名为
tun2socks.exe,放到build\bin\bin\ - 以管理员身份运行 MarbleProxy → 设置开启 TUN → 启动
流量路径:系统 → TUN 网卡 → tun2socks → 本地 SOCKS → 上游节点
| 策略 | 行为 | 配置项 |
|---|---|---|
| round_robin | 顺序轮换 | — |
| random | 随机 | — |
| by_time | 定时切换 | interval_sec(秒) |
| by_request | 每 N 次请求切换 | request_count |
| by_traffic | 每 N MB 切换 | traffic_mb |
| failover | 跳过不可用代理 | 需开启健康检查 |
| geo | 按国家序列 | sequence: ["US","JP","HK"] |
在 策略 页选择并配置后点击 应用。手动切换:顶部 切换 IP 或 API。
Base URL: http://127.0.0.1:8080
# 启动 / 停止
curl -X POST http://127.0.0.1:8080/api/start
curl -X POST http://127.0.0.1:8080/api/stop
# 切换 IP(空 name = 按策略选下一个)
curl -X POST http://127.0.0.1:8080/api/change -H "Content-Type: application/json" -d "{}"
curl -X POST http://127.0.0.1:8080/api/change -H "Content-Type: application/json" -d '{"name":"my-proxy"}'
# 添加代理
curl -X POST http://127.0.0.1:8080/api/proxies -H "Content-Type: application/json" -d '{
"name": "hk-01",
"type": "http",
"server": "1.2.3.4",
"port": 8080,
"enabled": true
}'
# 设置策略
curl -X POST http://127.0.0.1:8080/api/strategy -H "Content-Type: application/json" -d '{
"type": "by_time",
"config": "{\"interval_sec\":30}"
}'
# 热重载
curl -X POST http://127.0.0.1:8080/api/reload
# 状态
curl http://127.0.0.1:8080/api/statusWebSocket 实时事件:ws://127.0.0.1:8080/api/ws
{"action":"change","name":""}
{"action":"ping"}.\MarbleProxy.exe serve首次启动时,程序会在 可执行文件所在目录 自动生成 config.yaml(默认端口、健康检查等)。
| 文件 | 位置 | 说明 |
|---|---|---|
config.yaml |
与 MarbleProxy.exe 同目录 |
端口、TUN、健康检查等(可手动编辑) |
marbleproxy.db |
与 MarbleProxy.exe 同目录 |
代理 / 规则 / 策略 / 日志 |
sing-box.json |
与 MarbleProxy.exe 同目录 |
自动生成的 sing-box 配置 |
例如 GUI 版路径:build\bin\config.yaml
可在 设置 页修改端口/TUN/健康检查,或手动编辑 config.yaml 后点 热重载。
规则 页:按域名后缀、IP CIDR、端口、进程名等分流(direct / proxy / block)。
应用分流 页:域名匹配时自动切换 IP(配合 auto_switch 插件)。
local 模式下规则在本地 HTTP/SOCKS 代理层生效;sing-box 模式下写入 sing-box 路由。
添加代理时在 链式代理 字段填写 JSON 数组,例如:
["hop-socks", "hop-vmess"]数组中的名称必须是已添加的其他代理名称。sing-box 模式下会生成 detour 链。
# 依赖: Go 1.24+, Node.js 18+, Wails v2
cd frontend && npm install && npm run build && cd ..
$env:CGO_ENABLED=0
wails build
# 输出: build\bin\MarbleProxy.exe跨平台:
GOOS=linux GOARCH=amd64 wails build
GOOS=darwin GOARCH=amd64 wails buildnextproxy/
├── main.go # Wails 入口 + API
├── internal/
│ ├── app/ # 编排层、策略调度
│ ├── core/ # sing-box / 本地引擎
│ ├── strategy/ # 7 种切换策略
│ ├── route/ # 规则匹配
│ ├── inbound/ # 本地 HTTP/SOCKS
│ ├── api/ # REST + WebSocket
│ ├── health/ # 健康检查
│ ├── plugin/ # 插件系统
│ └── database/ # SQLite
└── frontend/ # Nuxt UI
Q: 界面无样式?
重新 npm run build 并 wails build,确保 assets/css/main.css 存在。
Q: 添加代理没反应?
填写名称、服务器、端口,看 Toast 错误提示。名称不可重复。
Q: VMess 不工作?
需 sing-box 模式。检查仪表盘是否显示 mode: sing-box。
Q: TUN 模式?
设置页开启 TUN → 需 sing-box + 管理员权限运行。
Q: 我该怎么用这玩意?
自己摸索自己理解
免责声明: 本工具仅用于网络安全技术研究、教学及合规的渗透测试,旨在帮助提升系统安全性。使用者在使用本工具时须严格遵守当地法律法规,严禁将本工具用于任何未经授权的非法活动或破坏性攻击,因滥用本工具所导致的任何直接或间接法律责任及后果,均由使用者本人承担,开发者对此不承担任何责任,使用本工具即视为您已理解并同意本声明。
Gh0xE9实验室出品
MIT




