sandrone

mcp
Guvenlik Denetimi
Basarisiz
Health Uyari
  • License — License: AGPL-3.0
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 5 GitHub stars
Code Basarisiz
  • exec() — Shell command execution in examples/scripts/reindex-normalized-nodes.js
Permissions Gecti
  • Permissions — No dangerous permissions requested

Bu listing icin henuz AI raporu yok.

SUMMARY

Self-hosted proxy configuration workbench for aggregating subscriptions, probing nodes, and generating Mihomo, sing-box, and Shadowrocket configs.

README.md
Sandrone logo

Sandrone

把零散订阅变成可维护、可验证、可分享的客户端配置。

A self-hosted proxy configuration workbench — from subscription sources to client-ready configs.

CI status GitHub release AGPL-3.0-or-later license Multi-architecture container image MCP 2026-07-28

Sandrone 管理本地与远程订阅,通过统一的 NodeIR 执行有序处理链,再生成
Mihomo、sing-box、Shadowrocket 配置或分享链接。同一套转换语义同时服务于
Web UI、CLI、HTTP API、MCP 与可嵌入 Go API。

为什么是 Sandrone

  • 从订阅到完整配置:聚合多个来源,处理节点,再生成带代理组、规则和 DNS
    设置的客户端配置,不止转换分享 URI。
  • 先看清,再交付:在保存或分享前预览节点变化和最终文件;通过结构化 warning、
    diagnose 与声明式 Mihomo / sing-box probe processor 发现有损字段和不可用节点。
  • 可视化,也可自动化:Web UI 适合日常管理;CLI、HTTP API、MCP 与 Go API
    复用相同的 service 层,脚本和 Agent 不需要另造一套流程。
  • 扩展但不失控:filter、dedup、rename、sort、probe 等内建 processor 与受限
    JavaScript 可按声明顺序组合;远程读取、缓存和探测都经过受控边界。
  • 轻量自托管:默认是一个内嵌 Web UI 的 Go 二进制,不要求数据库或额外常驻
    runtime;也提供多架构容器、文件系统 / S3 存储和 Vercel 部署路径。

60 秒启动

需要 Docker 与 Docker Compose:

git clone https://github.com/kuuvahki-labs/sandrone.git
cd sandrone
docker compose up --pull always

打开 http://127.0.0.1:1137。Compose 默认使用仅供本地试用的 bearer token
sandrone,数据保存在 sandrone-data volume。对外提供服务前必须设置新的
SANDRONE_TOKEN

确认服务状态:

curl http://127.0.0.1:1137/version

第一次使用可以直接跟着Web UI 教程完成一条从
订阅到 Mihomo 文件的工作流;偏好命令行则从第一次转换
开始。

一条配置如何产生

本地内容 / 远程订阅
          ↓
       统一 NodeIR
          ↓
过滤 → 去重 → 重命名 → 排序 → 探测 → 受限脚本
          ↓
Mihomo / sing-box 完整配置,或 Shadowrocket 无节点配置
          ↓
     预览、下载或分享链接

每一步都有稳定契约:格式能力见格式与能力参考
节点与文件处理语义见 Processors 参考,完整配置的
生成方式见渲染客户端配置

能力概览

范围 当前能力
输入 单条分享 URI、URI 列表、Base64 订阅、Mihomo YAML / JSON、sing-box JSON
节点处理 filter、dedup、rename、sort、quick settings、probe、sandboxed JavaScript
节点输出 Mihomo proxies、sing-box outbounds / endpoints、Shadowrocket Subscribe(Clash YAML 别名)、URI 列表
完整文件 Mihomo、sing-box typed config、Shadowrocket 无节点 typed config,以及 static / remote file
文件处理 YAML / JSON / INI merge、JSON Patch、template 与 sandboxed JavaScript
运行能力 preview、CLI diagnose、声明式 TCP / UDP / URL probe、缓存、定时刷新、分享、备份与恢复
接入方式 Web UI、CLI、HTTP API、MCP Streamable HTTP、pkg/sandrone Go API

格式转换存在目标客户端无法表达的边界。Sandrone 会保留可保留的原始字段并返回
warning,不把“成功输出”伪装成“完全无损”;精确范围以
capability catalog 为准。

部署与集成

场景 入口
本机或服务器自托管 Docker Compose
OpenWrt、NAS 或独立主机 GitHub Releases 中的多架构单文件包
Vercel + 私有对象存储 部署到 Vercel 与 Cloudflare R2
Shell 与自动化任务 CLI 参考
应用或前端集成 HTTP API 参考
AI Agent MCP 参考skills/sandrone
Go 程序内嵌 pkg/sandrone

文档

隐私与安全

订阅与生成配置通常包含连接凭据。不要在 issue、PR、日志、fixture 或文档示例中
提交真实订阅链接、节点 URI、token、cookie、私钥、真实服务地址或未脱敏配置。
安全漏洞请按安全策略使用 GitHub private vulnerability reporting
报告,不要公开披露细节。

Sandrone 采用 AGPL-3.0-or-later 许可证。

致谢

Sandrone 的格式与客户端生态建立在这些项目和协议实现之上:

Yorumlar (0)

Sonuc bulunamadi