订阅与分组
添加和更新订阅,设置分组选项、User-Agent 和 HWID、前置代理与落地代理,并解决更新问题。
订阅是服务商提供的一个链接,它会返回一份服务器列表。Throne 把每个订阅放在单独的分组中,并可以替你更新它。本页介绍如何添加和更新订阅、分组有哪些选项,以及更新失败时该怎么办。
分组与订阅
配置档列表上方的每个标签页都是一个分组。分组属于以下两种类型之一:
- 基本(Basic)。 存放你自己添加的配置档,例如来自链接、文件、二维码或
程序(Program)→新建配置档(New profile)的配置档。 - 订阅(Subscription)。 另外带有一个
URL。Throne 从该地址下载配置档列表,并让分组与之保持一致。
类型在创建分组时选择,之后无法更改。
添加订阅
从剪贴板添加
- 复制订阅地址。它以
https://或http://开头。 - 在 Throne 中按
Ctrl+V,或选择程序(Program)→添加剪贴板中的配置档(Add profile from clipboard)。 - Throne 会显示该地址并询问“如何更新?”。选择
创建新的订阅分组(Create new subscription group),然后点击确定(OK)。
Throne 会创建一个以地址中的主机名命名的分组,并立即下载其中的配置档。当地址来自文件、二维码或你拖放到窗口上的文本时,也会出现同样的询问。三个选项的作用如下:
| 选项 | 结果 |
|---|---|
添加配置档到这个分组(Add profiles to this group) |
下载一次列表,并把配置档添加到当前分组。Throne 不会保存该地址,因此这些配置档永远不会更新。 |
创建新的订阅分组 |
创建一个订阅分组并下载它。 |
导入 HTTP 代理配置档(Import HTTP proxy profile) |
把该地址当作一台 HTTP 代理服务器,并将其添加为一个配置档。 |
自行创建分组
- 选择
分组(Groups)→添加新分组(Add new Group)。 - 输入
名称(Name)。 - 将
类型(Type)设为订阅(Subscription)。 - 把地址粘贴到
URL中。 - 点击
确定(OK)。 - 右键点击新的标签页,选择
更新订阅(Update subscription)。
创建分组并不会下载它。在第 6 步首次更新之前,分组一直是空的。
分组(Groups)→ 管理分组(Manage Groups)会打开一个列出所有分组的窗口。你也可以在那里用 新建分组(New group)创建分组。每一行显示类型、配置档数量、地址和上次更新的时间。如果服务商发送了配额信息(Subscription-UserInfo 响应头),该行还会显示 已用(Used)、剩余(Remain)和 过期(Expire)。每一行都有 编辑(Edit)和 删除(Remove)按钮,订阅分组的行还有 更新订阅(Update Subscription)按钮。
通过 throne:// 链接添加
throne://addsub/… 链接(例如服务商网站上的链接)会打开 添加订阅(Add subscription)窗口,并填好名称和地址。如果该分组应参与自动更新,请保持勾选 自动更新(Auto update),然后点击 确定(OK)。Throne 随后会创建该分组并下载它。参见深度链接。
更新订阅
要更新单个分组,可以使用以下任一方式:
- 右键点击该分组的标签页,选择
更新订阅(Update subscription)。 - 选中该标签页后按
Ctrl+U,或选择分组(Groups)→更新订阅(Update subscription)。 - 在
分组(Groups)→管理分组(Manage Groups)中,点击该分组旁边的更新订阅(Update Subscription)。
分组(Groups)→ 更新所有订阅(Update all subscriptions)会更新每一个订阅分组,包括设置了 跳过自动更新(Skip automatic update)的分组。
更新期间,Throne 会:
- 下载列表,并与分组中的配置档进行比较。没有变化的配置档保留其测试结果。有变化的配置档会被更新。新的配置档会被添加,不再出现在列表中的配置档会被删除。
- 按服务商列表的顺序排列配置档。
- 如果响应中完全没有配置档,则不做任何更改。此时日志会显示“No profiles found in the subscription: group was left unchanged.”(订阅中未找到配置档:分组 保持不变)。这可以防止空响应或被封锁的响应破坏你的分组。
- 如果服务器 10 秒内没有发送任何数据,或者响应大于 64 MB,则放弃更新。
开启 设置(Settings)→ 基本设置(Basic Settings)→ 订阅(Subscription)→ 更新订阅前清除服务器(Clear servers before updating subscription)后(默认关闭),Throne 会在每次更新前删除该分组的配置档,因此它们的测试结果会丢失。
变更报告
每次更新都会向 日志(Logs)标签页写入一份报告。报告的开头是 「分组名称」的变化(Change of 加分组名称)。每一行以 [+](新增)、[~](更新)、[-](删除)或 [=](保留)开头。如果没有任何变化,报告会显示 无(Nothing)。
手动更新单个分组后,Throne 还会在一个窗口中显示该报告。要关闭这个窗口,请取消勾选 设置(Settings)→ 基本设置(Basic Settings)→ 订阅(Subscription)→ 订阅手动更新后显示变化窗口(Show the changes window after a manual subscription update)。自动更新和 更新所有订阅(Update all subscriptions)只会写入日志。
正在使用的配置档
更新不会停止或删除你当前连接的配置档。如果服务商移除了它,Throne 会保留它,并在报告中把它列在“仍在使用中,因此保留而不是删除”之下。如果你希望 Throne 改为停止并删除这类配置档,请开启 设置(Settings)→ 基本设置(Basic Settings)→ 订阅(Subscription)→ 允许停止活动配置档(Allow stopping the active profile)。
如果服务商更改了正在运行的配置档的设置,Throne 会保存新设置,但连接仍使用旧设置。请重新启动该配置档以使用新设置。当更新替换了正在运行的自动选择器所使用的配置档时,该自动选择器会自行重启。
自动更新
自动更新默认关闭。要开启它:
- 打开
设置(Settings)→基本设置(Basic Settings)→订阅(Subscription)。 - 在
订阅自动更新(Subscription auto update)旁边勾选启用(Enable)。 - 设置
时间间隔 (分钟,少于 30 则无效)(Interval (minute, invalid if less than 30))。默认值为 30。 - 点击
确定(OK)。
自动更新的工作方式:
- 所有分组共用一个时间间隔。每当该间隔过去,Throne 就会更新所有订阅分组,设置了
跳过自动更新(Skip automatic update)的分组除外。 - 小于 30 分钟的间隔视为关闭。
- Throne 每分钟检查一次,并在启动 10 秒后检查一次。在 Throne 关闭期间到期的更新,会在你打开它后不久运行。
运行时统计(Runtime Stats)标签页中的下次订阅更新(Next sub update)显示剩余时间。- 每次自动更新时,日志都会显示
自动更新: 正在运行 订阅(Auto-update: running subscriptions)。自动更新从不打开变化窗口。
分组选项
要更改分组,请右键点击其标签页并选择 编辑选定分组(Edit selected Group),或选择 分组(Groups)→ 编辑当前分组(Edit current Group)。
| 设置 | 默认值 | 作用 |
|---|---|---|
名称(Name) |
– | 标签页上显示的名称。 |
类型(Type) |
基本(Basic) |
基本 或 订阅。分组创建后无法更改。 |
前置代理(Front Proxy) |
None |
该分组的每个配置档都会先经由此配置档连接。参见前置代理与落地代理。 |
落地代理(Landing Proxy) |
None |
流量经过该分组的配置档之后,再从此配置档离开。 |
自动清除不可用配置档(Auto Clear Unavailable Profiles) |
关闭 | 对该分组的配置档进行 URL 测试后,不经询问直接删除测试失败的配置档。 |
URL |
– | 订阅地址。仅用于订阅分组。 |
跳过自动更新(Skip automatic update) |
关闭 | 让该分组不参与自动更新。手动更新仍然有效。 |
Advanced |
– | 打开 Advanced Subscription Settings 窗口(自 1.3.1 起)。参见每次更新之后和 User-Agent 与 HWID。 |
如果分组中有配置档,该窗口还会显示 复制配置档分享链接(Copy profile share links)和 复制配置档分享链接(深度链接)(Copy profile share links (Deep Links))。它们会复制分组中所有配置档的链接。
每次更新之后
自 1.3.1 起,订阅分组可以在每次更新后自行清理。打开分组选项,点击 Advanced,然后使用 Update 部分。所有选项默认关闭。
| 设置 | 作用 |
|---|---|
Keep working profiles |
当订阅不再列出上次测试成功的配置档时,仍保留这些配置档。 |
Remove duplicate profiles |
删除与另一个配置档完全相同的配置档。 |
Remove insecure profiles |
删除流量没有得到妥善保护的配置档,效果与 分组(Groups)→ 移除不安全的配置(Remove Insecure Configs)相同。 |
Remove invalid profiles |
删除被核心拒绝的配置档。核心无法连接时跳过。 |
Run URL test |
更新完成后测试该分组的配置档;如果已有测试正在进行,则在其结束后再测试。 |
Remove unavailable profiles |
需要开启 Run URL test。删除测试失败的配置档。 |
Sort by latency |
需要开启 Run URL test。对分组排序,最快的排在最前。 |
变更报告会列出这些选项删除的每一个配置档。它们不会删除你当前连接的配置档,除非开启了 允许停止活动配置档(Allow stopping the active profile)。
User-Agent 与 HWID
Throne 下载订阅时,会发送一个标明应用名称的 User-Agent 请求头。有些服务商会为不同的应用发送不同的列表,或者拒绝它们不认识的应用。你可以更改这个值:
- 对所有分组:
设置(Settings)→基本设置(Basic Settings)→订阅(Subscription)→User Agent (用户代理)标识。如果留空,Throne 会发送Throne/加上其版本号,例如Throne/1.3.1。 - 对单个分组(自 1.3.1 起):分组选项 →
Advanced→Request→User Agent。如果留空,该分组使用全局值。
有些服务商还要求提供设备 ID(HWID)。只有在你开启后,Throne 才会发送它:
- 对所有分组:在
订阅(Subscription)标签页上勾选启用在更新订阅时发送硬件ID、设备型号以及 OS 版本(Enable sending HWID, device model, and OS version when updating subscription)。它默认关闭。将鼠标悬停在该选项上,可以查看 Throne 将会发送的值。 - 对单个分组:将
Send HWID设为Keep Default(遵循全局设置)、On或Off。HWID、OS、OS Version和Device Model字段会为该分组覆盖对应的值。只有当该分组开启了 HWID 发送时,你才能编辑这些字段。
要为所有分组发送其他值,请在 订阅(Subscription)标签页上填写 自定义系统参数(可选)(Custom System Parameters (optional))。使用以下格式,并省略你不想更改的值:
hwid=value,os=value,osVersion=value,model=value
Throne 会在 x-hwid、x-device-os、x-ver-os 和 x-device-model 请求头中发送这些值。关于它们包含的内容,请参见隐私与网络请求。
前置代理与落地代理
分组可以让其所有配置档的流量再经过两个额外的配置档:
你的设备 → 前置代理 → 本分组中的某个配置档 → 落地代理 → WARP(如已启用)→ 互联网
- 当你的设备无法直接连接该分组的服务器时,使用
前置代理(Front Proxy)。 - 当你希望网站看到的是落地代理的地址,而不是该分组服务器的地址时,使用
落地代理(Landing Proxy)。
你可以从任意分组中选择任意已保存的配置档;在字段中输入文字即可搜索。自动选择器不在可选之列,因为它们会自行更换服务器。关于代理链以及混用不同核心的规则,请参见代理链与自定义配置。
支持的格式
订阅可以返回:
- 分享链接,例如
vless://、vmess://、trojan://、ss://、hysteria2://或tuic://,每行一个,可以是纯文本,也可以经过 Base64 编码。 - 带有
proxies:列表的 Clash 或 Mihomo YAML。 - sing-box JSON:完整配置或出站列表。每个受支持的出站都会成为一个配置档。单个出站对象会成为一个自定义出站配置档。
- Xray JSON。配置中的出站会成为配置档。由多个完整 Xray 配置组成的列表,会为每个配置生成一个
Custom Xray Config配置档。 - SIP008(Shadowsocks JSON)、WireGuard 和 AmneziaWG 的
.conf文件、OpenVPN 的.ovpn文件、AnyConnect XML 配置文件,以及 AmneziaVPN 的vpn://链接。
vless:// 链接会成为 sing-box 配置档还是 Xray 配置档,取决于 设置(Settings)→ 基本设置(Basic Settings)→ 核心(Core)→ Xray VLESS 首选项(Xray VLESS Preference)。Throne 在导入时应用这一设置,因此更改它之后,请重新更新你的订阅。参见 sing-box 与 Xray。完整的格式列表见协议与导入格式。
问题排查
请先打开 日志(Logs)标签页。每次更新都会写入以 >>>>>>>> 和 <<<<<<<< 开头的行,如果出错,其中也包含错误信息。
服务商拒绝 Throne 或不发送配置档
有些服务商只响应它们认识的应用。此时日志会显示诸如状态码 403 之类的错误,或者“No profiles found in the subscription”(订阅中未找到配置档)。请将该分组的 User Agent(分组选项 → Advanced)设为你的服务商所要求的值。用户曾经需要用到的值包括 ClashMeta、sing-box 和 Happ/1.0。
服务商要求提供设备 ID
如果服务商要求提供设备 ID 或设备指纹,请开启 HWID 发送:为该分组将 Send HWID 设为 On,或者在 订阅(Subscription)标签页上为所有分组开启。
“有用代理的请求,但未启动配置档。”
当 设置(Settings)→ 基本设置(Basic Settings)→ 杂项(Miscellaneous)→ 使用代理(Use proxy)开启时,Throne 会通过本地代理端口发送它自己的请求,例如订阅更新。只要勾选了 系统代理(System Proxy),它也会这样做。如果没有配置档在运行,就没有可用的代理,请求便会失败并显示此消息。请先启动一个配置档,或者关闭 使用代理(Use proxy)和 系统代理(System Proxy)。
订阅地址在你所在的国家被封锁
- 启动一个可用的配置档。
- 开启
设置(Settings)→基本设置(Basic Settings)→杂项(Miscellaneous)→使用代理(Use proxy)。 - 更新订阅。
使用代理(Use proxy)需要本地代理端口,因此在开启 禁用混合入站(Disable Mixed Inbound)时无法使用。
Happ 和 v2RayTun 的“crypt”链接
以 happ://crypt 或 v2raytun://crypt 开头的链接是专为这些应用加密的,Throne 无法读取。诸如 …/dl/happ-link/… 之类的网页也不是订阅。请向你的服务商索要以 https:// 开头的普通订阅地址。
配置档显示为 Custom Xray Config
如果订阅返回的是由多个完整 Xray 配置组成的列表,Throne 会把每个配置导入为一个类型为 Custom Xray Config 的配置档(在配置档编辑器中称为 自定义 (Xray 配置)(Custom (Xray config)))。它会移除每个配置中的 inbounds,其余部分按原样运行。这是有意为之:这类配置可能包含只有作为整体才能工作的负载均衡器和代理链。相比之下,sing-box 配置会被拆分,每个出站成为一个配置档。
更多帮助请参见故障排除。
Android 版
Throne for Android 具有相同的分组、选项和更新行为。
- 从侧边菜单打开
分组(Groups)。使用顶部的New group和更新所有订阅(Update all subscriptions)。每个分组都会显示其类型、配置档数量、上次更新时间,以及服务商发送的配额信息(“Used … · … left · expires …”,即已用、剩余和到期时间)。 - 分组编辑器具有相同的选项,只是名称采用句首大写的写法:
Front proxy、Landing proxy、Auto clear unavailable profiles、Skip automatic update和Advanced。 URL也接受content://地址,因此订阅可以来自另一个应用提供的文件。对于普通的http://地址,编辑器会警告“纯文本 HTTP 流量并不安全”。- 全局选项位于
设置(Settings)→订阅(Subscriptions)。如果User agent为空,应用会发送Throne/Android/加上其版本号。 - 通过
添加服务器配置(Add profile)→从剪切板导入(Import from clipboard)导入地址时,会出现同样的“How to update?”(如何更新?)询问。 - 只有手动更新单个分组后才会出现变化窗口。自动更新只会写入日志。
Android 特有的问题请参见 Android 故障排除。