mihomo 为核心,Sub-Store管理多订阅和定时更新,添加了web安全验证
1.6K
单容器 All-in-One 代理方案
mihomo Alpha + metacubexd 面板 + Sub-Store 订阅管理 · 登录认证 · 订阅令牌 · 自动同步
linux/amd64 ✦ linux/arm64 双架构
- 本项目仅供学习研究和技术交流使用,请遵守所在国家/地区的法律法规。
- 开发者不提供任何代理节点、订阅链接或翻墙服务;
- 使用者自行获取的订阅内容与开发者无关;
- 严禁用于任何违法用途;
使用本项目即表示您已阅读并同意上述声明,使用风险自行承担
| 组件 | 说明 |
|---|---|
mihomo | 代理核心(Alpha 源码编译,支持 VLESS / Hysteria2 / TUIC 等) |
metacubexd | 代理管理面板(:9090/ui) |
Sub-Store | 订阅管理后端 + 前端 |
auth-proxy | 登录认证 + 订阅令牌 + 「all」组合自动同步 |
| 端口 | 用途 |
|---|---|
7890 | HTTP/SOCKS5 mixed 代理 |
9090 | mihomo 面板 + 控制器(需密钥) |
3002 | Sub-Store UI(唯一对外入口,需登录密码) |
订阅后端(3001)仅容器内部可达,不对外暴露。
| 变量 | 要求 |
|---|---|
SUB_STORE_UI_PASSWORD 必填 | Sub-Store UI 登录密码,≥ 8 位 |
SUB_STORE_PUBLIC_TOKEN 必填 | 订阅下载/分享令牌,≥ 16 位 |
MIHOMO_SECRET 必填 | mihomo 控制器/面板密钥,≥ 16 位 |
TZ 可选 | 时区,默认 Asia/Shanghai |
SUB_STORE_UI_SESSION_HOURS 可选 | 登录会话时长(小时),默认 12 |
SUB_STORE_FRONTEND_BACKEND_PATH 可选 | API 神秘路径前缀 |
SUB_STORE_SECURE_COOKIE 可选 | HTTPS 反代后设 true |
environment:
- SUB_STORE_UI_PASSWORD=(Sub-Store UI 登录密码,至少8位)
- SUB_STORE_PUBLIC_TOKEN=(订阅下载/分享令牌,随机16位以上)
- MIHOMO_SECRET=(控制器/面板密钥,随机16位以上)
可用命令在CMD或者SSH终端生成强随机16位值(生成的是32位字符比手动16位字符更安全):
openssl rand -hex 16
docker-compose.ymlservices:
mihomo:
image: mark8857857/mihomo-sub:latest
container_name: mihomo
restart: unless-stopped
ports:
- "7890:7890"
- "9090:9090"
- "3002:3002"
environment:
- TZ=Asia/Shanghai
- SUB_STORE_UI_PASSWORD=${Sub-Store UI 登录密码}
- SUB_STORE_PUBLIC_TOKEN=${订阅下载/分享令牌}
- MIHOMO_SECRET=${控制器/面板密钥}
volumes:
- ./config:/root/.config/mihomo
- ./sub-store-data:/opt/sub-store/data
(搭配mpull更方便)
docker compose up -d
1️⃣ 添加订阅 — 打开 http://127.0.0.1:3002,用 SUB_STORE_UI_PASSWORD 登录后添加订阅链接。
2️⃣ 代理面板 — 打开 http://127.0.0.1:9090/ui,输入 MIHOMO_SECRET 连接,即可切换节点、测延迟、查看连接。
3️⃣ 客户端订阅链接 — 给代理客户端使用:
http://<服务器IP>:3002/download/collection/all?target=ClashMeta&token=<SUB_STORE_PUBLIC_TOKEN>
支持 token 查询参数或 X-Sub-Store-Token 请求头。
Q:升级镜像会丢配置吗?
不会。数据在 ./config 和 ./sub-store-data,保留挂载即可。
不会。订阅数据在 ./sub-store-data,mihomo 配置在 ./config,保留挂载目录即可。
Q:为什么 API / 下载链接返回 401?
按设计:API 需登录,订阅下载需 token,不是故障。
按设计:管理 API 需要登录会话,订阅下载需要 SUB_STORE_PUBLIC_TOKEN,不是故障。
Q:忘记密码 / 密钥?
改 .env 后重启容器,重启后需重新登录。
修改 .env 中对应变量后重启容器。登录会话存在内存中,重启后需重新登录。
基于 Tsutomu-miku/mihomo-docker 二次开发:安全加固(强制密钥、订阅令牌、认证修复)+ Sub-Store 订阅自动同步。
Content type
Image
Digest
sha256:c6b4b8671…
Size
97.2 MB
Last updated
about 23 hours ago
docker pull mark8857857/mihomo-sub