Skip to content

Branding zh

Nemu-x edited this page Jul 19, 2026 · 1 revision

品牌定制(面向运营方)

🌐 English · Русский · 中文

您的面板可以为用户定制 SlothClash 的外观——名称与徽标、强调色、您的链接,以及订阅和设备计数——只需在订阅地址的 HTTP 响应头中添加几个字段。无需定制构建,也无需单独的应用:公开发布的 SlothClash 会在下次更新订阅时自动读取。

不会产生额外请求。客户端从下载配置的同一个请求中读取这些响应头,因此品牌定制不会给您的面板增加任何流量。

🚦 开关

没有这个响应头,任何设置都不会生效:

X-Brand-Desktop-Enabled: true

两条硬性规则:

  • 仅限 HTTPS。 普通 http:// 订阅上的响应头会被完全忽略。
  • 移除开关即关闭品牌定制。 下次更新时客户端会清除缓存并恢复默认外观。这就是关闭方式——无需逐个删除响应头。

值可以带引号(部分面板界面会自动添加),客户端会去掉一层。无效值会被单独丢弃——错误的颜色绝不会让您的链接消失。

🎨 品牌标识

响应头 含义
X-Brand-Desktop-Name 运营方名称,≤ 64 字符。显示为应用顶部的按钮
X-Brand-Desktop-Tagline 名称下方的短句,≤ 128
X-Brand-Desktop-Accent-Color #rrggbb#rgb。为整个界面着色
X-Brand-Desktop-Logo-URL https:// 图片。缓存到磁盘(≤ 512 KB),渲染时不再重新下载
X-Brand-Desktop-Logo-Light-URL 浅色主题的变体
X-Brand-Desktop-User-Display-Name 用户名称/登录名,≤ 96。支持 UTF-8(中文、表情)
X-Brand-Desktop-Greeting 显示在名称旁的问候语,≤ 160

强调色不会破坏可读性。 客户端会检查与当前主题的对比度,必要时自动调整色调。如果用户在设置中选择了自己的强调色,则以用户的选择为准。

🔗 链接

均在系统浏览器中打开。仅接受 https://tg://,其余一律丢弃。

响应头 界面显示
X-Brand-Desktop-Cabinet-URL 账户
X-Brand-Desktop-Renew-URL 续费
X-Brand-Desktop-Support-URL 支持
X-Brand-Desktop-Telegram-URL Telegram
X-Brand-Desktop-Bot-URL 机器人
X-Brand-Desktop-Website-URL 官网
X-Brand-Desktop-Status-URL 状态
X-Brand-Desktop-Help-URL 帮助
X-Brand-Desktop-Privacy-URL 隐私
X-Brand-Desktop-Terms-URL 条款

只发送您拥有的即可——未提供的不会渲染。账户与续费排在最前,因为用户通常正是为此打开该窗口。

📊 设备额度

X-Brand-Desktop-Devices-Used: 3
X-Brand-Desktop-Devices-Limit: 5

显示为 3 / 5,与流量和到期时间并列;达到上限时会高亮——正是用户准备联系您的时刻。若只发送 Used,则显示为纯数字。

该项没有标准响应头(Subscription-Userinfo 只包含流量与到期),因此放在本命名空间中。

流量与到期来自标准Subscription-Userinfo——只要您已经在发送它,这些信息会自动出现,无需品牌定制。

🚫 隐藏界面元素

X-Brand-Desktop-Hide-Global-Mode: true
X-Brand-Desktop-Hide-Proxy-Mode: true
X-Brand-Desktop-Hide-Local-Configs: true
X-Brand-Desktop-Hide-Advanced: true
  • Hide-Global-Mode — 移除 Global 选项;模式控件保留并显示 Rule
  • Hide-Proxy-Mode — 移除 Proxy 选项,仅保留 TUN。
  • Hide-Local-Configs — 隐藏本地配置导入,保留链接导入。
  • Hide-Advanced — 从侧边栏隐藏 Advanced 页面。

这些用于简化界面,并非安全控制。底层功能依然存在,用户随时可以切换到其他配置。

🛡️ 品牌定制的边界

按照客户端的设计,您能做的只有三件事:隐藏非关键界面元素、设置强调色、添加您的标识与链接

品牌定制永远无法触及连接安全、DNS、终止开关、更新机制,也无法隐藏 Settings 与 Logs 页面。这条边界是刻意设定的:用户必须始终能看到应用在做什么,并能够获得支持。

📋 可直接复制的示例

在提供订阅的 nginx 上:

location /sub/ {
    add_header X-Brand-Desktop-Enabled          "true" always;
    add_header X-Brand-Desktop-Name             "ExampleVPN" always;
    add_header X-Brand-Desktop-Accent-Color     "#3d7eff" always;
    add_header X-Brand-Desktop-Logo-URL         "https://example.com/logo.png" always;
    add_header X-Brand-Desktop-Cabinet-URL      "https://example.com/account" always;
    add_header X-Brand-Desktop-Renew-URL        "https://example.com/renew" always;
    add_header X-Brand-Desktop-Support-URL      "https://t.me/example_support" always;
    add_header X-Brand-Desktop-Devices-Used     "3" always;
    add_header X-Brand-Desktop-Devices-Limit    "5" always;
    add_header X-Brand-Desktop-Hide-Global-Mode "true" always;
}

支持自定义响应头的面板(Remnawave、PasarGuard、Marzban 系列)使用相同的键值对——像 Devices-Used 这类按用户变化的值通常从用户记录中模板化生成。

✅ 验证方式

  1. 在应用中更新订阅(或重新连接)。
  2. 应用顶部会出现带有您名称的按钮,位于添加订阅左侧。
  3. 点击后打开运营方窗口,包含您的链接、流量、到期时间与设备额度。

如果没有变化:订阅必须是 https://,开关的值必须正好是 true,并且响应头需要能通过您的 CDN/代理——部分服务会剥离未知的 X- 响应头。

📱 Android(ClashFest)

Android 客户端使用相同的语法,但位于独立的命名空间——X-Brand-*,开关为 X-Branding-Enabled。两个命名空间刻意互不重叠,以免为一个平台定制时影响另一个;如需同时定制,请发送两套响应头。

Clone this wiki locally