2026-08-25 11:35:05 +08:00
2026-08-25 11:35:05 +08:00
2026-08-25 11:35:05 +08:00
2026-08-25 11:35:05 +08:00
2026-08-25 11:35:05 +08:00
2026-08-25 11:35:05 +08:00
2026-08-25 11:35:05 +08:00
2026-08-25 11:35:05 +08:00
2026-08-25 11:35:05 +08:00
2026-08-25 11:35:05 +08:00
2026-08-25 11:35:05 +08:00
2026-08-25 11:35:05 +08:00
2026-08-25 11:35:05 +08:00
2026-08-25 11:35:05 +08:00

Proxy Station

自托管的代理节点与分流规则管理平台。在 Web 界面里管理多协议节点与策略组、规则,向 macOS、iOS、Android 三端下发托管订阅——客户端填一次 URL之后配置自动更新。

      节点 ──┐
    策略组 ──┼──→  ProfileIR  ──┬──→  Surge         .conf
      规则 ──┘                  ├──→  ShadowRocket  节点订阅 + 规则配置
                                └──→  ClashMeta     .yaml

能做什么

多协议节点管理——VMess、Trojan、Shadowsocks、Hysteria2支持粘贴分享链接批量导入vmess://trojan://ss:// 的 SIP002 与 Xray 两种写法、hysteria2://),也支持手动填写与导出。节点按站点分段展示。

分流规则与策略组——首次启动自动从 ClashConnectRules/Surge 模板导入26 个策略组 + 88 条规则含广告拦截、AI 服务、流媒体、国内直连等)。规则可排序、改策略、启停、增删;策略组可启停并调整顺序,顺序即客户端里的排列顺序。外部规则集可在界面上实时预览内容。

按客户端自动适配——同一份数据生成三端配置,客户端不支持的协议在下发时自动屏蔽(例如 Surge 的 ss 类型没有 WebSocket 传输SS over WS 节点会被排除字段差异自动映射cipher 命名、VMess AEAD、Hysteria2 混淆参数等)。

按订阅分配节点——每个订阅可以只开放部分节点,用于把不同线路分给不同设备或他人。

客户端支持

客户端 节点 策略组 规则 导入方式
Surge (macOS) 一个 URL托管配置自动更新#!MANAGED-CONFIG
ClashMeta (Android) 一个 URLRULE-SET 自动映射为 rule-providers
ShadowRocket (iOS) 两个 URL:节点订阅 + 规则配置,见下

ShadowRocket 的原生订阅格式只承载节点,因此拆成两步:先在「订阅」里添加节点链接并命名为 Proxy Station,再在「配置」里添加规则链接。配置文件按这个名字引用节点,名字必须一致。订阅页的 ⓘ 图标里有同样的说明。

ClashMeta 侧无 Clash 版本的规则集,由本服务实时拉取 Surge 版并转换后提供,无需外部转换服务。

快速开始

pnpm install
pnpm dev          # server :3000 + web :5173

打开 http://localhost:3000 (或开发时的 :5173然后

  1. 节点 → 批量导入,粘贴分享链接。命名建议带地区词(如 🇺🇸 US LA VMess Direct),地区策略组靠节点名正则匹配
  2. 订阅 → 新建订阅,勾选要开放的节点
  3. 复制对应客户端的 URL 填进客户端

两端都监听 0.0.0.0,手机在同一局域网下用 http://<你的内网IP>:5173 即可访问管理界面,页面上显示的订阅 URL 会自动带上该地址。

部署

ADMIN_TOKEN=<随机长字符串> docker compose up -d

SQLite 落在 ./data 卷。订阅 URL 由请求来源自动推断,无需配置基址。

公网部署的两条硬要求:设置 ADMIN_TOKEN(未设置时管理接口只放行 localhost 与局域网);用反向代理提供 HTTPS——订阅 token 就在 URL 里,明文传输会泄露。反代的 access log 建议对 /sub/ 路径脱敏。

校验

# Clash 产物(最有价值的一条端到端验证)
curl -s "http://localhost:3000/sub/<token>/clash" > /tmp/c.yaml && mihomo -t -f /tmp/c.yaml

pnpm -r typecheck
pnpm test

Surge 与 ShadowRocket 需真机导入验收。

文档

文件 内容
docs/SEEDING.md 从 edge-nodes 交付文档导入真实节点、命名建议
docs/ADDING-REGIONS.md 新增地区(香港、日本等)时的节点命名与策略组配套步骤
CLAUDE.md 架构要点与开发约定

安全

数据库存有节点真实凭据。data/*.db.env 已在 .gitignore 中,绝不入 git;仓库内所有示例、测试、模板一律使用占位凭据。订阅 token 可随时在「订阅」页禁用或删除。

技术栈

pnpm monoreposerver/Hono + better-sqlite3 + Drizzle web/Vue 3 + Vite + Naive UI + Pinia shared/zod schema 与 DTO前后端共用。生产模式由 server 静态托管前端产物,单端口运行。

Description
Proxy Station
Readme 222 KiB
Languages
TypeScript 60%
Vue 34.2%
Shell 4.2%
CSS 1%
Dockerfile 0.4%
Other 0.2%