mistgate 文档
中文

在管理后台:订阅

用户页面

用户在浏览器中打开订阅链接时会看到什么、页面密码如何工作,以及管理员如何预览页面。

本页内容

用户页面是浏览器打开用户订阅链接时显示的页面,专为该用户制作,显示其状态、流量以及简单的连接步骤。你可以将此页面发给用户;他们无需账户,也无需访问管理后台。此页面的选项和推荐应用在订阅的用户页面标签页中设置(参见订阅)。

用户会看到什么#

问候语使用用户设置中的可选订阅页面上显示的名称。留空时会使用用户部分中显示的账户名称。这个公开名称与账户名称分开保存,不会改变用户的访问权限或连接信息。

页面支持英语、俄语和简体中文:使用浏览器语言列表中第一个属于这三种的语言(任何中文都按简体中文处理);否则使用面板的默认语言。顶部栏中的开关可以切换语言,所选语言会记在该设备上。顶部栏显示面板名称和标志,以及品牌强调色(在设置 → 界面中设置)。

页面内容从上到下依次为:

  1. 公告:开启显示公告时显示。用户可以关闭公告;有新文本时会再次显示。
  2. 问候语和状态:「嗨,Alice」、状态(「订阅有效」、「订阅已结束」、「流量已用完」、「订阅已停用」)、剩余有效期,以及当前周期已用流量与配额的对比和重置日期。
  3. 负载:显示每台服务器当前的繁忙程度,分为低、中或高(阈值分别为 50% 和 80%)。负载取节点的 CPU 使用率;如果节点设置中的网络带宽已设置且当前使用率更高,则改用节点链路占用带宽的比例。Agent 未发送最新样本时,不显示负载等级。服务器名称使用国家和位置,不会显示面板中的节点名称;两者都没有时显示「服务器」,名称重复时会添加编号。页面不会显示具体速率:与其他人共用节点的用户不应看到他人何时观看流媒体。服务器负载为高时,卡片会建议改用较空闲的服务器(「……服务器的通道当前非常繁忙。如果连接速度较慢,请尝试……」)。
  4. 连接步骤(首次访问时显示;之后会以弹出面板的形式显示相同流程,名称为添加设备)。两种连接方式都可用时,第一步是用什么连接:显示两张卡片,与「添加设备」面板中的卡片相同。通过应用是默认推荐方式;使用 AmneziaVPN 密钥是另一种方式。如果只有一种连接方式,则不显示此问题。
    • 你的设备:从浏览器检测到的平台(iPhone、Android、Windows、Mac、Linux),也可以手动切换。
    • 通过应用(名称来自应用列表;只列出订阅类应用,不列出使用密钥的应用):选择应用,然后安装应用(使用应用商店或下载按钮,以及卡片说明),再点击添加到 Happ,使用应用的链接模板打开应用。「无法打开?复制链接」会显示在按钮下方。「所有服务器(4)都会显示在 Happ 中,可任选一台。」开启用于第二台设备的二维码时,还会显示用于手机连接的链接二维码。「已通过订阅链接连接」会显示订阅类应用上次获取链接的时间。打开页面不会更新时间,也不会添加设备;只有应用获取链接时才会更新。
    • 使用 AmneziaVPN 密钥:安装 AmneziaVPN,点击添加设备(打开密钥表单),然后粘贴密钥。关闭自助服务时,此步骤会显示「向管理员申请密钥」。
  5. 我的设备:一个列表显示订阅类应用和用户的密钥;两种方式共用一个添加设备按钮(参见我的设备)。
  6. 支持:开启联系按钮且已设置链接时,会显示「遇到问题?」和打开支持链接的按钮。
  7. 页面底部会显示:「这是你的个人链接,请勿分享。订阅有效期间可用。」

某个平台没有可用应用时,会显示「没有适用于……的应用,请在上方选择其他设备」。用户暂时无法获得任何内容时,会显示「服务器还在配置中,请联系管理员。」。

订阅无法使用时#

用户的有效期已结束、超出配额或已停用时,页面会显示原因而不是连接步骤;如果设置了支持链接,也会显示支持按钮:

状态 页面显示内容
有效期已结束 「现在无法通过 …… 上网。联系我们即可续期。」
超出配额,且有重置时间 「本月流量已用完,VPN 将于10月1日恢复。需要更早恢复,请联系我们。」
超出配额,且没有重置时间 「流量上限已用完。联系我们提高额度。」
已停用 「管理员已暂停访问。如果这是误操作,请联系我们。」

应用会将相同原因作为订阅中的唯一条目显示:参见订阅。

页面密码#

默认情况下,页面密码处于开启状态。打开页面前需要输入密码,自助服务请求也需要密码。应用从同一地址获取订阅时无需密码:应用无法输入密码。

  • 密码格式为 k7m2-x9pq:由 8 个小写字母和数字组成,不使用容易混淆的 0、1、l 和 o。输入时不区分大小写,并忽略空格和连字符。

  • 密码不会存储在任何地方:面板会根据用户的链接生成密码。新链接对应新密码,旧链接和旧密码会失效。

  • 管理员可以在链接窗口中查看链接旁的密码(页面密码,有独立的复制按钮)。复制以发送会将链接和密码一起复制为一条消息:

    INI
    Your link: https://sub.example.com/<secret prefix>/<token>
    Page password: k7m2-x9pq
  • 页面会在每个浏览器中要求输入一次密码,并记住约 180 天(Cookie 限定在链接路径中)。

  • 同一个链接或同一网络在 10 分钟内连续输错 5 次后,表单会锁定,直到这 10 分钟结束(「尝试次数过多,请在 7 分钟后重试。」)。锁定事件会写入审计日志,其中包含用户名称,不包含链接或地址。

  • 表单会提示常见输入错误:使用了西里尔字母键盘时显示「密码只含英文字母和数字,请切换到英文输入法」;密码长度错误时显示「密码是 8 位,你输入了 7 位」。

如果你只把链接发给信得过的人,可以在用户页面标签页中关闭此选项;之后任何获得链接的人都能查看页面。

二维码#

  • 管理后台中的二维码:用户卡片上的订阅链接会显示链接二维码。用手机相机扫描后会打开页面。
  • 页面上的二维码:开启用于第二台设备的二维码后,页面会显示供另一台设备使用的链接二维码;电脑上显示在连接步骤旁,手机上则收在「连接另一台设备(二维码)」下面。
  • 密钥二维码:密钥窗口会显示 .conf 二维码,可用 AmneziaVPN 或 AmneziaWG 应用扫描。带 QUIC 样式的配置太长,无法生成二维码,此时会显示「密钥太长,无法放进二维码。请下载文件或复制密钥。」

各平台的连接说明#

连接步骤来自用户页面标签页的应用列表。选定平台后,每个使用订阅链接的应用都会显示一张卡片(使用密钥的应用不会列在这里;密钥连接方式有自己的步骤):

  • 推荐应用排在最前面;有多个应用时会显示「推荐」标记;
  • 下载按钮会在可能时注明应用商店(App Store、Google Play),否则显示「官网」;
  • 如果设置了卡片说明,则显示该说明;
  • 显示添加链接模板对应的添加按钮;没有模板时显示「复制链接」,并说明在哪里粘贴(「在 Happ 中:添加订阅 → 粘贴链接」)。

对于密钥连接方式,页面会提供 AmneziaVPN 操作步骤:手机端的步骤依次为「打开 AmneziaVPN」、「点击『+』并粘贴密钥」和「点击『继续』」;电脑端为「AmneziaVPN → 『+』 → 『连接设置文件』 → 选择下载的文件」,并提示添加文件,而不是密钥。「需要 AmneziaVPN 5.0.1.5 或更高版本」会指出密钥的协议版本所需的最低客户端版本。

我的设备#

一张卡片会列出占用用户设备上限名额的所有内容:

  • 发送设备 ID 的订阅类应用(Happ、kl!ck,以及客户端应用中的其他应用):各占一行,各占一个名额。这一行显示名称(设备型号,或用户或所有者起的名称;否则显示系统,例如「iPhone」)和一行浅色文字:「在线」,或「上次更新:5 分钟前」。点击这一行,可以看到应用报告的信息:系统和应用及其版本(「iOS 18.1 · Happ 3.4.2」)。在线的应用排在最前,其后按最近更新时间排序,所以用户手里的那台设备总在最上面。超过四行的列表会折叠为三行,并提供再显示 N 台;但名额全部用完时不折叠,因为这时用户正要找出旧设备来删除。
  • 不提供设备 ID 的应用(Hiddify、v2rayNG 等不发送 ID 的应用,或关闭了 HWID 的 Happ):所有这类应用合并成一行,显示「共用一个名额」。这一行不能删除或重命名;点击可以看到最近使用的应用。在严格模式下这些应用无法连接,这一行会这样提示:「无法连接,请使用 Happ 或 kl!ck」。
  • 密钥:每个 AmneziaVPN 密钥占一行和一个名额,并提供显示密钥和 ⋯ 菜单(重命名、更换密钥、删除)。
  • 标题中的计数器(「5/10」);如果用户两种方式都在用且设置了上限,还会有一行文字说明哪些内容占用名额。

在限制和严格模式下,上限已满时标题下会有一行浅色文字:「名额已用完。请删除不用的设备,然后在应用中更新订阅。」之后应用会立即连接。在仅计数模式下不会拒绝任何人,也没有这一行。

订阅类应用的 ⋯ 菜单有重命名(最多 40 个字符;所有者也能看到这个名称)和删除。删除前页面会显示应用报告的信息,便于区分两部相同的手机。删除后,这台设备上的应用无法再连接,名额空出。如果它再次更新订阅且有空余名额,会作为新设备回来,并获得新密钥。页面上没有拉黑功能:那是所有者的操作,被拉黑的设备也不会出现在列表里。关闭页面上的设备时,以及在所有者的预览中,没有 ⋯ 菜单。

添加设备旁的按钮可以一键复制链接。用户把它粘贴到每台设备上:每个发送设备 ID 的应用占用自己的名额,其余应用共用一个。

列表下方只有一个添加设备按钮(之前位于卡片下方的「连接另一台设备」区域已移除)。两种连接方式都可用时,按钮会打开一个弹出面板并询问「它要怎样连接?」:

  • 通过应用(推荐):显示订阅类应用的连接步骤,包括此设备、应用(所选平台的订阅类应用,来自应用列表)、「一键添加」或「复制链接」,以及开启用于第二台设备的二维码时供另一台设备使用的页面二维码。卡片会写明「占用 1 个名额」和还剩几个:发送设备 ID 的应用占用自己的名额。
  • 使用 AmneziaVPN 密钥:打开新密钥表单(见下文),标题和密钥图标与其卡片相同。此方式会占用一个名额,并显示剩余名额数。

用户无法使用的连接方式仍会以浅色卡片显示,并说明原因:所有名额都已用完(如果有支持链接,也会显示联系按钮)、密钥由所有者发放、尚无可用连接方式,或这是所有者的预览页面(自助服务请求没有地址)。以上情况都不会影响订阅链接的使用。如果用户只能使用一种连接方式,则跳过询问:只有订阅链接的用户直接进入连接步骤,只有密钥的用户直接进入密钥表单。

自助管理设备#

默认情况下,页面上的设备处于开启状态,用户可以自行管理自己的设备:订阅类应用可以重命名和删除(参见我的设备),AmneziaVPN 密钥的管理如下。所有更改合计每个链接每小时最多 20 次;超过后页面会说明几分钟后再试。

  • 点击添加设备后,先选择连接方式(参见我的设备);使用 AmneziaVPN 密钥会打开新密钥表单,包含「连接选项」(主要选项按节点所在国家命名;WARP 协议配置显示为「备用出口(某些网站无法打开时使用)」;2.0 协议配置显示为「适用于旧版 AmneziaVPN(5.0.1.5 之前)」)、「是什么设备」和「名称(可选)」。密钥会立即生成。
  • 每台设备都以显示密钥作为主要操作;⋯ 菜单中有重命名、更换密钥(旧密钥立即失效)和删除(此设备上的 VPN 立即停止)。在设备所在行中执行删除或更换操作前会先询问。
  • 密钥窗口显示国家(每个节点对应一个连接;「每个国家都是一个独立连接」)、复制密钥、下载文件、操作步骤和二维码。服务器名称与带宽占用率卡片和用户应用中的名称相同:使用国家和位置,不显示面板中的节点名称;两者都没有时显示「服务器」,名称重复时添加编号(「Germany 2」)。AmneziaVPN 中的密钥连接会在订阅名称后显示相同名称(「Mistgate · Germany 2」)。
  • 协议配置发生关键变更、节点端口或地址更改等情况导致旧密钥失效时,设备会显示「需要新密钥」,并提供获取新密钥,引导用户更换密钥。

限制:只有有效用户才能添加设备、显示密钥或更换密钥;设备数不得超过上限(达到上限时显示「名额已用完。请删除不再使用的设备,或联系我们」);每个链接每小时最多可以发出 20 次这类请求,显示密钥也计入次数。关闭此选项后,页面会列出密钥并显示「密钥由管理员发放,需要新密钥请联系我们。」。

订阅已失效的用户仍能查看自己的 AmneziaVPN 密钥,也可以重命名和移除密钥,但不能添加新密钥。

DNS#

所有者开启页面上的 DNS 选择后(见下文),用户可以在自己的页面上选择:

  • 订阅类应用共用的一个 DNS(Happ、基于 mihomo 内核的应用、Xray JSON 和 sing-box 应用),选择范围是所有者在开关下方列出的预设:位于服务器部分顶部、以应用命名的卡片「Happ 等订阅类应用的 DNS」。应用会在下次更新订阅时获得新的 DNS,最长不超过更新间隔,卡片上会说明这一点;
  • 每台服务器上 AmneziaWG 密钥的 DNS,选择范围是所有者为该节点提供的预设:服务器卡片中带钥匙图标的密钥 DNS 一行。

两者互不影响:前者不会应用于密钥,后者不会应用于订阅类应用。密钥 DNS 行只对使用 AmneziaVPN 密钥的用户显示(为其开启了该应用,或其持有密钥),并且只出现在有密钥的服务器上;两种都使用的用户会在卡片下方看到一行说明,告诉他们密钥有自己的 DNS。如果所有者没有为订阅类应用提供任何选项,有密钥的用户会看到一条说明:订阅类应用所有服务器共用一个 DNS,以及具体是哪个。预设及 DNS 适用规则见DNS;本节介绍页面如何处理这些设置。

预设的名称和描述跟随页面语言,即使它与浏览器语言不同:在英文浏览器中把页面切换为中文的用户,会看到中文的内置预设名称。所有者重命名或自建的预设在任何语言下都显示其自身文字。

页面能获取的服务器信息#

页面会获取用户每台服务器的以下信息:

  • 所在国家和位置,不会获取面板中的节点名称;
  • 节点是否有响应(无响应时,服务器会显示「无响应」);
  • 负载等级:低、中或高,不显示百分比(参见上文带宽占用率);
  • 服务器在订阅类应用中的名称。服务器显示名称模板(参见订阅)包含 {node} 时,页面不会收到该名称,因此不会通过模板泄露节点名称;
  • 服务器上的链接是否仅供 Mihomo 应用使用。Gecko 混淆(参见Hysteria2)只有 kl!ck 和其他基于 Mihomo 内核的应用支持,因此 Happ 和其他链接列表应用无法使用这种连接。页面仍会列出该服务器,并在卡片上说明「仅限 kl!ck 和其他 Mihomo 应用」。用户所有服务器都属于这种情况时,链接列表应用会收到一条内容相同的记录,而不是空列表。

选择和应用 DNS#

  • 订阅类应用的选择会以 page_link_dns_choice 写入审计日志:记录用户名称和预设。密钥的 DNS 一次为一台服务器选择,会以 page_dns_choice 写入:记录用户名称、节点名称和预设。两者都不记录链接或地址。
  • 此操作计入该页面其他操作共用的限额:每个链接每小时最多更改 20 次。
  • 不同格式的生效方式不同:
    • AmneziaVPN 和 AmneziaWG 密钥(.conf、vpn://、二维码):DNS 会写入密钥,因此用户需要再次点击获取新密钥。密钥本身不会改变;在用户重新获取密钥之前,设备会显示「需要新密钥」,原因是 DNS。系统会持续比较密钥中的 DNS 和当前适用于用户的 DNS,无论差异是由什么更改造成的:用户选择了不同预设或恢复默认值、所有者更改了提供的预设或默认值,或预设被编辑或删除。只有用户自己的设备获取密钥后,才会将密钥视为已收到;管理员在面板中打开密钥不会清除标记。开始追踪前生成的密钥不会显示标记,直到用户自己的设备首次获取密钥。
    • Mihomo 配置中的 AmneziaWG 代理(Clash Verge Rev、FlClash 等):选择会在下次更新订阅时生效。
    • 不支持按服务器选择:Mihomo 中的 Hysteria2、Happ、Xray JSON 和 sing-box 对整个订阅只使用一个 DNS 解析器,因此使用订阅类应用的 DNS:用户为它们做的选择,或常规预设。按服务器的选择不会应用于这些格式。其他使用 base64 格式的应用(v2rayNG、Hiddify、Streisand、Shadowrocket)不会从面板获取 DNS。
  • 所有者的预览页面不能更改此选择,与页面上的其他操作相同。

DNS 选项#

订阅 → 用户页面 → 页面上的 DNS 选择(默认关闭;在此选项推出前已设置的面板也视为关闭)。开启后,开关下方的订阅类应用的 DNS 会列出用户可以为这些应用选择的预设和默认值;每个节点为其密钥提供的预设在节点上设置。关闭此选项不会删除用户已做出的选择:这些选择会继续生效,直到你在用户卡片中重置(参见用户与分组)。

管理后台中的预览#

订阅 → 用户页面会在手机外框中并排显示页面预览和设置。以用户身份预览可选择用户(从前 50 个用户中选择);重新加载按钮可刷新预览。

  • 预览显示已保存的设置:保存后会重新加载。
  • 这是该用户的真实页面,使用真实链接,由管理后台通过 /preview/user-page/<user id> 在你的会话中提供。它不会要求输入页面密码,也不会计为一次链接请求。
  • 预览页面上的任何操作都无法写入数据:自助服务按钮没有可调用的地址。
  • 只有可以查看用户链接的管理员才能打开预览:所有者和协作者。

谁可以打开页面#

任何拥有链接的人都可以打开页面;如果页面要求密码,也需要输入密码。页面会提示搜索引擎不要索引,不允许其他网站将页面嵌入框架中,也不会从其他地方加载内容。像保护密钥一样保护链接:链接泄露时,在用户卡片中生成新链接。

在 GitHub 上编辑此页