Skip to content

Repository files navigation

MarbleProxy

红队多级协议跳板配置与代理管理平台,支持策略调度、规则分流、健康检查、REST API / WebSocket 自动化。

特别说明:

公开版本为历史遗留版本,最新版本仅圈内共享,公开版本有bug是正常的,因为没有进行维护,默认别启用这个版本的TUN,贼血妈难用,相关代码可自行fork修改并pr

功能概览

功能说明
多协议HTTP / SOCKS5 上游
策略引擎轮询、随机、定时、按请求、按流量、故障转移、Geo
规则引擎域名 / IP / 端口 / 进程 / 时间段分流
应用分流域名规则在本地代理层生效;TUN 需 tun2socks
链式代理代理 JSON 字段 chain 配置多级 detour
健康检查逐个检测每个上游代理
GUIWails + Nuxt UI 亮色界面
APIREST + WebSocket,供脚本 / 浏览器插件联动

image-20260720113133156

image-20260720113140074

image-20260720113144328

image-20260720113150993

快速开始

1. 添加代理

  1. 打开 代理 页 → 添加代理
  2. 快速导入:粘贴 http://user:pass@1.2.3.4:8080socks5://1.2.3.4:1080
  3. 高级协议填写 UUID、加密方式、Extra JSON
  4. 点击 保存 → 顶部 启动

3. 使用本地代理

类型地址
HTTP127.0.0.1:7890
SOCKS5127.0.0.1:7891
Mixed127.0.0.1:7892

浏览器 / curl 示例:

curl -x http://127.0.0.1:7890 https://api.ipify.org

4. TUN 全局模式

  1. tun2socks Releases 下载 tun2socks-windows-amd64.exe
  2. 重命名为 tun2socks.exe,放到 build\bin\bin\
  3. 以管理员身份运行 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。

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/status

WebSocket 实时事件:ws://127.0.0.1:8080/api/ws

{"action":"change","name":""}
{"action":"ping"}

仅 API 模式(无 GUI)

.\MarbleProxy.exe serve

配置与数据目录

首次启动时,程序会在 可执行文件所在目录 自动生成 config.yaml(默认端口、健康检查等)。

文件位置说明
config.yamlMarbleProxy.exe 同目录端口、TUN、健康检查等(可手动编辑)
marbleproxy.dbMarbleProxy.exe 同目录代理 / 规则 / 策略 / 日志
sing-box.jsonMarbleProxy.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 build

项目结构

nextproxy/
├── 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 buildwails build,确保 assets/css/main.css 存在。

Q: 添加代理没反应?

填写名称、服务器、端口,看 Toast 错误提示。名称不可重复。

Q: VMess 不工作?

需 sing-box 模式。检查仪表盘是否显示 mode: sing-box

Q: TUN 模式?

设置页开启 TUN → 需 sing-box + 管理员权限运行。

Q: 我该怎么用这玩意?

自己摸索自己理解

警告

免责声明: 本工具仅用于网络安全技术研究、教学及合规的渗透测试,旨在帮助提升系统安全性。使用者在使用本工具时须严格遵守当地法律法规,严禁将本工具用于任何未经授权的非法活动或破坏性攻击,因滥用本工具所导致的任何直接或间接法律责任及后果,均由使用者本人承担,开发者对此不承担任何责任,使用本工具即视为您已理解并同意本声明。

Gh0xE9实验室出品

License

MIT

About

红队多协议跳板代理管理平台,支持 HTTP/SOCKS5 代理链、10 种策略调度、域名/IP/进程规则分流、健康检查自动故障转移、TUN 全局模式、REST API + WebSocket 自动化

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages