# 订阅链接为什么等于账号密码，泄露了怎么办

规范地址 https://jichangboke.org/learn/subscription-link-safety/
发布 2026-09-18，更新 2026-09-18
作者 塔台君，机场博客

> 订阅链接里带着一段 token，服务器只认它，不要求登录，拿到链接的人就能下载你的全部节点并消耗你的流量。发现泄露后到机场用户中心重置订阅，旧链接和旧节点会一起失效，再给自己的每台设备重新导入。

在群里问一句订阅为什么更新失败，顺手把报错截图发出去，这是很常见的求助方式。麻烦在于客户端的报错信息里往往带着完整的订阅网址，群里几百个人，每一个都能照着截图把它敲进自己的客户端。

## 这条网址里没有登录这一步

订阅链接是[机场](/learn/what-is-jichang/)交给你的那条网址，客户端靠它下载节点列表。我翻了开源面板 Xboard 的路由文件，它支持新旧两种写法。

```
https://example.com/s/0123456789abcdef0123456789abcdef
https://example.com/api/v1/client/subscribe?token=0123456789abcdef0123456789abcdef
```

两种写法里起作用的都是那段 32 位的 token。服务器收到请求，拿 token 查出是哪个账号，就把这个账号的节点列表吐出来，中间没有输入密码的环节，也不看请求来自哪台设备。各家机场用的面板我没有逐家核实，下面说到源码的地方都以 Xboard 为准，别的面板思路相近，细节可能不同。

拿到这条网址的人能做三件事。下载你的全部节点，用你的流量上网，还能看到你的套餐状态。Xboard 有个开关，打开后会在节点列表最前面插几行说明，写的是剩余流量、距离下次重置的天数和套餐到期日，这几行对任何持有链接的人都一样可见。

## 重置时面板换掉的是两样东西

Xboard 处理重置订阅的那个函数叫 resetSecurity，一共做了两个动作，给账号生成一个新的 UUID，再生成一个新的 token，最后把新的订阅网址返回给你。

token 管的是订阅链接，换掉以后旧网址就打不开了。UUID 管的是节点，它是你连每一台服务器时用的身份。只换 token 不够，因为别人可能早就把节点列表下载到了本地，手里的节点照样能连。两样一起换，旧链接和旧节点同时作废。

代价是你自己的设备也全部掉线。手机、电脑、路由器上存的都是旧 UUID，得用新链接一台一台重新导入。

## 链接是从哪些地方漏出去的

OWASP 有一页专门讲网址里带敏感参数的问题，列出这类网址会留痕的地方，包括 Referer 请求头、服务器访问日志、多人共用的系统、浏览器历史和缓存，还有被人从背后看到屏幕。它特别说明，用了 HTTPS 也解决不了，因为这些地方记下的都是完整网址。

放到机场订阅上，最常见的是下面几种。

第一种是截图。客户端的订阅管理页、更新失败的报错、浏览器地址栏，都可能露出完整链接。求助时把 token 那一段涂掉再发。

第二种是在线订阅转换。机场给的订阅格式和客户端对不上时，很多人会找一个网页版的转换工具。这类工具多数基于开源项目 subconverter，它的 README 里给的调用方式是这样的。

```
http://127.0.0.1:25500/sub?target=clash&url=https%3A%2F%2Fexample.com%2Fs%2F0123456789abcdef
```

订阅网址被整个当成参数，传给了转换服务器。例子里的 127.0.0.1 是你自己的电脑，换成别人搭的网站，对方的访问日志里就躺着你的完整链接，这正是 OWASP 清单里的服务器日志那一项。subconverter 提供 Docker 部署，想用可以在本机跑一份。

第三种是配置文件。Mihomo 的 proxy-providers 有个 `path` 字段，节点列表下载后会按这个路径存成本地文件，里面是每个节点的地址和你的 UUID。把整个配置目录打包发给别人排查问题，等于把节点直接送了出去。

公开分享的所谓免费订阅里，有多少是这样漏出去的付费链接，我没有办法统计。[免费节点的代价](/learn/free-jichang-cost/)那篇里谈了这类来源不明的节点。

## 怎么发现有人在用你的流量

机场回应订阅请求时，会在响应头里带上 `Subscription-Userinfo`，写着已用上传、已用下载和总流量，Stash 的文档和 Xboard 的源码里都能看到这个格式。[Clash Verge Rev](/clients/clash-verge-rev/) 这类客户端会把它显示在订阅卡片上。

留意的办法很朴素。记一下每天大概用多少，哪天没怎么上网，已用流量却涨了好几个 G，就该警觉。流量到底怎么累计，见[机场流量怎么算](/learn/traffic-multiplier-reset/)。

别指望靠被挤下线来发现。本站资料里，微风、飞为、灵动云都自述不限设备，多一个人用，你这边不会有任何提示。

## 泄露之后按这个顺序处理

先登录机场官网，在用户中心找到重置订阅的按钮，名字各家略有不同。面板里找不到就发工单让客服处理。

再把每台设备上的旧订阅删掉，用新链接重新导入。只点更新是不行的，客户端里存的还是旧网址。

如果发出去的截图或文件里还带着登录邮箱，顺手把账号密码也改了。订阅 token 和登录密码是两套东西，重置订阅不会动密码。

过一两天回来看已用流量，确认没有再异常上涨。

## 常见问题

### 订阅链接泄露了会怎样

拿到链接的人不用登录就能下载你的全部节点，走的是你的流量，还能看到你的剩余流量和到期日。自述不限设备的机场不会因为多了一台设备把你挤下线，所以很难第一时间察觉。发现后尽快到用户中心重置订阅。

### 重置订阅后旧链接还能用吗

不能。以开源面板 Xboard 为例，重置时会同时生成新的订阅 token 和新的节点 UUID，旧链接打不开，别人存下来的旧节点也连不上。你自己的每台设备都要用新链接重新导入一次，漏掉的设备会表现为所有节点超时。

### 在线订阅转换安全吗

把订阅交给别人搭的转换站有泄露风险。subconverter 这类工具是把订阅网址当成参数传给服务器的，服务器的运营者能在访问日志里看到完整链接。它是开源项目，可以在自己电脑上跑一份，或者直接用机场提供的对应格式订阅。

### 订阅链接可以分享给家人用吗

技术上可以，同一条链接能导入多台设备。要清楚对方拿到的权限和你完全一样，流量共用。链接再从他那里漏出去，你只能重置，然后给所有人重发一遍。各家机场是否允许多人共用，本站资料里没有逐家记录，以官网规则为准。

## 来源

- Xboard 源码，用户接口 UserController.php 中的 resetSecurity https://github.com/cedar2025/Xboard/blob/master/app/Http/Controllers/V1/User/UserController.php
- Xboard 源码，订阅地址路由 routes/web.php https://github.com/cedar2025/Xboard/blob/master/routes/web.php
- Xboard 源码，订阅输出 ClientController.php https://github.com/cedar2025/Xboard/blob/master/app/Http/Controllers/V1/Client/ClientController.php
- OWASP 社区文档，网址查询字符串导致的信息暴露 https://community.owasp.org/vulnerabilities/Information_exposure_through_query_strings_in_url
- subconverter 项目 README https://github.com/tindy2013/subconverter
- Mihomo 官方文档，代理集合 proxy-providers https://wiki.metacubex.one/config/proxy-providers/
- Stash 用户文档，Subscription-Userinfo 响应头 https://stash.wiki/features/service-provider-subscription
