knotic

sub store surge 教程:从模块安装到订阅导入与故障排查

更新于 2026-10-26 · knotic.store

简答:先在 Surge 中安装官方 Sub-Store 模块,再开启重写、脚本和 MitM 并信任证书;访问接口确认后添加订阅、处理节点,最后用 target=Surge 生成输出链接。排查完成后,页面能打开且客户端成功导入节点。

定义:Sub-Store 是用于统一管理、筛选、合并和转换订阅的工具,Surge 负责网络连接,Sub-Store 不是代理客户端本身。

先试这一步:确认 Surge 模块是否真的生效

本文是第三方使用指南,不代表 Sub-Store 或 Surge 官方。若你已经安装过模块,先不要急着添加订阅,打开 Sub-Store 官方故障排查文档中提到的环境接口:https://sub.store/api/utils/env。正常情况下应能看到包含版本信息的响应。

如果接口打不开,先检查 Surge 中的开关、重写、脚本、MitM 是否同时开启,并确认模块已经下载成功。官方文档还提醒,若 MitM 或重写未生效,请谨慎直接访问该域名进行验证;可先按官方的 安装说明和域名说明核对配置。

首次核验速查
现象优先检查下一步
页面打不开模块是否启用、重写和脚本是否开启重新下载模块并再次访问环境接口
HTTPS 报证书错误MitM 根证书是否生成并被系统信任重新生成证书、安装并信任后再测
接口有响应但订阅为空订阅地址、User-Agent 和分流先在订阅设置中改用订阅服务要求的客户端 User-Agent
生成链接无法导入 Surge输出目标是否为 Surge使用 target=Surge 强制指定格式

Sub-Store 和 Surge 分别做什么

Sub-Store 的作用是处理订阅数据:可以添加订阅、过滤节点、重命名、排序、去重、合并多条订阅,并将结果转换成不同客户端格式。Surge 则是实际使用配置和节点进行连接的客户端。官方快速开始文档将流程概括为安装、添加订阅、处理节点和生成输出。

Sub-Store 由前端和后端组成。官方前端地址是 sub-store.vercel.app,但前端需要连接后端才能工作;在 Surge 场景中,后端可以通过代理 App 模块运行。官方文档特别说明,sub.store 是模块脚本重写 MitM 使用的域名,不应把它简单理解成官方公网前端。

因此,单机场、只需要把原始订阅导入 Surge 的用户,不一定必须使用 Sub-Store;当你需要合并多条订阅、筛选节点、统一命名或输出特定格式时,它才更有价值。

在 Surge 中安装 Sub-Store 模块

  1. 打开 Sub-Store 官方安装文档,根据你的 Surge 版本选择模块地址。官方当前列出默认版、Surge iOS TestFlight Beta 版,以及带 ability 和不带 ability 的经典模块。
  2. 在 Surge 的模块管理界面中添加对应模块地址,保存后启用模块。不要把不同版本模块重复叠加,出现 hostname 冲突时,优先保留一份模块。
  3. 在 Surge 的重写、脚本和 MitM 设置中开启相关功能。根据官方故障排查前提,代理 App 版需要开关、重写、脚本、MitM,并信任证书,模块或脚本本身也必须下载成功。
  4. 生成或安装 Surge 的 MitM 根证书,并在系统证书设置中完成信任。若使用的是 iPhone 或 iPad,还要确认系统已经允许该根证书用于 HTTPS 解密。
  5. 用 Safari 或系统浏览器访问 https://sub.store。官方安装文档把“页面能正常打开且没有错误提示”作为配置成功的检查方式。

如果你使用的是 Surge iOS TestFlight Beta,应优先使用官方列出的 Beta 模块;其他版本不要照搬旧截图,直接以安装文档当前列出的模块说明为准。

添加订阅并生成 Surge 输出链接

  1. 打开 Sub-Store 前端,在“订阅”区域新建订阅,填写你的订阅链接。订阅链接属于敏感配置,不要把包含 token 的完整地址发布到日志、截图或公共页面。
  2. 保存后先执行一次更新,确认能拉取到节点。若订阅服务按客户端识别请求格式,可在订阅设置中填写与实际客户端接近的 User-Agent;官方故障排查文档也建议在浏览器能打开、Sub-Store 拉取不到时检查 User-Agent。
  3. 需要多条订阅时,使用组合订阅合并来源;需要整理节点时,再设置筛选、重命名、排序和去重。建议每完成一种处理就保存并更新一次,便于判断是哪一步造成结果为空。
  4. 订阅保存后,复制输出链接。官方订阅转换文档说明,通用路径通常是 /download/订阅名称,也可以追加 ?target=Surge 强制生成 Surge 格式,例如:/download/sub?target=Surge。其中“订阅名称”应替换成你在页面中实际保存的名称。
  5. 回到 Surge 的订阅或配置导入位置,粘贴输出链接并更新。若客户端请求时使用了 Surge 的 User-Agent,通用链接也可能自动识别为 Surge 格式;为减少歧义,首次导入建议明确指定 target=Surge。

如果你使用的是 macOS 版 Surge,官方文档同时列出 Surge 和 SurgeMac 输出目标。两者不要混用:先看客户端实际请求和官方转换说明,再选择对应目标。

过滤、重命名和合并时怎么避免订阅变空

处理规则建议按“先确认原始节点,再逐步增加条件”的顺序操作。第一次只做重命名或去重,确认输出仍有节点后,再添加地区、关键词或协议筛选。

常见处理目标与建议
目标建议做法结果检查
合并多个订阅先分别更新来源,再创建组合订阅确认每个来源都能单独拉取
筛选节点先使用宽松关键词,逐步缩小范围每次保存后检查节点数量是否变为零
统一名称只修改名称,不同时叠加复杂筛选在 Surge 中确认节点名称已变化
去除重复节点先备份原始订阅,再启用去重处理比较处理前后的节点列表

如果输出为空,先关闭最近添加的筛选条件,不要直接判断订阅失效。对于包含 Surge 不支持协议的订阅,官方转换文档说明可以研究 includeUnsupportedProxy 参数,但输出后是否能连通仍取决于服务端和客户端支持情况,不能把“成功生成链接”等同于“所有节点都可用”。

页面打不开、订阅为空或刷新失败的排查顺序

  1. 页面打不开:先确认模块、重写、脚本和 MitM 均已启用,再访问环境接口。若 HTTPS 失败而 HTTP 能成功,官方文档将其指向 MitM 或证书信任问题。
  2. 模块已启用但没有响应:检查模块下载是否成功,以及是否有其他模块覆盖 hostname。macOS 用户可以参考官方故障排查文档中的 surge-cli dump profile effective | grep sub.store 检查有效配置;如果发现覆盖,可调整模块优先级或重新安装。
  3. 刷新超时或失败:先降低请求并发数,再查看 Surge 的请求日志和模块状态。不要反复点击刷新,否则难以区分订阅源响应慢、并发限制还是本地重写没有生效。
  4. 订阅能在浏览器打开但 Sub-Store 拉不到:检查订阅设置里的 User-Agent,并确认该请求是否经过可用的分流。官方建议优先使用订阅服务支持的格式;必要时向订阅提供方确认允许的 User-Agent。
  5. Surge 能打开输出链接但导入后为空:检查是否误用了其他客户端目标,重新生成 target=Surge 链接;同时确认处理规则没有把节点全部过滤掉。

排查时优先看 Surge 的请求日志、模块下载状态和 Sub-Store 页面响应。若仍无法定位,记录不含订阅 token 的错误信息,再根据客户端文档或开发者渠道反馈。

安全使用和最后核对

Sub-Store 处理的是订阅链接和节点配置,订阅链接可能包含访问凭据。不要把完整订阅地址贴到公开 Issue、群聊或截图中,也不要在不清楚用途时把订阅内容交给陌生的在线转换页面。

官方故障排查文档提到,若重写或 MitM 未生效,相关请求可能实际访问公网域名,因此应先确认请求确实进入本地模块;遇到 TLS 证书错误时,也不建议直接关闭校验,优先联系订阅服务确认其证书链或 CDN 配置。

最后核对:2026-10-26。完成后应达到三个结果:Sub-Store 页面能打开、订阅更新能看到节点、Surge 使用明确的 Surge 输出链接成功导入。若只完成其中一项,说明仍需按上面的现象表继续定位。

如需进一步验证跨平台连接、延迟或线路表现,可在完成客户端导入后,再参考本站的连接问题排查指南,不要把订阅转换成功误认为网络质量已经得到验证。

常见问题

Sub-Store 是 Surge 的插件还是独立客户端?

它更准确地说是订阅管理和转换工具。Surge 负责实际连接,Sub-Store 通过模块、前端和后端处理订阅,二者职责不同。

为什么访问 sub.store 页面打不开?

先检查 Surge 的开关、重写、脚本、MitM 和证书信任,再确认模块是否下载成功。若 HTTPS 失败而 HTTP 成功,重点检查 MitM 或证书信任;不要忽略官方文档关于重写失效时请求可能访问公网域名的提醒。

Surge 应该用哪个 Sub-Store 模块?

按你的 Surge 版本选择官方安装文档当前列出的模块。Surge iOS TestFlight Beta 使用官方列出的 Beta 模块;默认版、ability 版和 Noability 版的适用条件不同,不能仅凭旧教程截图判断。

订阅能打开但 Sub-Store 拉取不到怎么办?

在订阅设置中检查 User-Agent,确认请求是否经过可用分流,并优先使用订阅服务明确支持的订阅格式。不要先关闭 TLS 校验,证书问题应优先向订阅提供方确认。

如何生成 Surge 可以导入的链接?

保存订阅后复制输出链接,优先使用通用下载路径并追加 <code>target=Surge</code>,例如 <code>/download/sub?target=Surge</code>;实际名称要替换为页面中保存的订阅名称。

单个订阅用户有必要使用 Sub-Store 吗?

如果只需把原始订阅导入 Surge,通常可以直接导入;如果需要合并多条订阅、筛选节点、统一命名、去重或转换格式,Sub-Store 才更有帮助。

相关阅读

参考资料

  1. Sub-Store 官方安装文档(sub-store-org.github.io)
  2. Sub-Store 官方快速开始文档(sub-store-org.github.io)
  3. Sub-Store 官方故障排查文档(sub-store-org.github.io)
  4. Sub-Store 官方订阅转换文档(sub-store-org.github.io)