[
  {
    "file": "shadow-add.svg",
    "title": "01  首页右上角：点击「+」",
    "type": "界面重绘（非实机截图）",
    "reference": "Shadowrocket / 商店界面参考，非版本实测",
    "sources": [
      "https://apps.apple.com/us/app/shadowrocket/id932747118",
      "https://itunes.apple.com/lookup?id=932747118&country=us",
      "https://docs.shadowlink.vip/docs/Apple/shadowrocket/",
      "https://developer.apple.com/documentation/networkextension/vpn-on-demand-rules",
      "https://free-nodes.github.io/shadowrocket/shadowrocket_manual.html"
    ]
  },
  {
    "file": "shadow-type.svg",
    "title": "02  添加节点：先点「类型」",
    "type": "界面重绘（非实机截图）",
    "reference": "Shadowrocket / 类型选择功能定位",
    "sources": [
      "https://apps.apple.com/us/app/shadowrocket/id932747118",
      "https://itunes.apple.com/lookup?id=932747118&country=us",
      "https://docs.shadowlink.vip/docs/Apple/shadowrocket/",
      "https://developer.apple.com/documentation/networkextension/vpn-on-demand-rules",
      "https://free-nodes.github.io/shadowrocket/shadowrocket_manual.html"
    ]
  },
  {
    "file": "shadow-subscribe.svg",
    "title": "03  类型列表：选择 Subscribe",
    "type": "界面重绘（非实机截图）",
    "reference": "Shadowrocket / 保留实际类型名称",
    "sources": [
      "https://apps.apple.com/us/app/shadowrocket/id932747118",
      "https://itunes.apple.com/lookup?id=932747118&country=us",
      "https://docs.shadowlink.vip/docs/Apple/shadowrocket/",
      "https://developer.apple.com/documentation/networkextension/vpn-on-demand-rules",
      "https://free-nodes.github.io/shadowrocket/shadowrocket_manual.html"
    ]
  },
  {
    "file": "shadow-url.svg",
    "title": "04  填 URL、备注，再点「完成」",
    "type": "界面重绘（非实机截图）",
    "reference": "Shadowrocket / 表单按网络资料归纳重绘",
    "sources": [
      "https://apps.apple.com/us/app/shadowrocket/id932747118",
      "https://itunes.apple.com/lookup?id=932747118&country=us",
      "https://docs.shadowlink.vip/docs/Apple/shadowrocket/",
      "https://developer.apple.com/documentation/networkextension/vpn-on-demand-rules",
      "https://free-nodes.github.io/shadowrocket/shadowrocket_manual.html"
    ]
  },
  {
    "file": "shadow-routing.svg",
    "title": "05  首页：选择节点与路由",
    "type": "界面重绘（非实机截图）",
    "reference": "Shadowrocket / 示例节点，无真实订阅",
    "sources": [
      "https://apps.apple.com/us/app/shadowrocket/id932747118",
      "https://itunes.apple.com/lookup?id=932747118&country=us",
      "https://docs.shadowlink.vip/docs/Apple/shadowrocket/",
      "https://developer.apple.com/documentation/networkextension/vpn-on-demand-rules",
      "https://free-nodes.github.io/shadowrocket/shadowrocket_manual.html"
    ]
  },
  {
    "file": "shadow-start.svg",
    "title": "06  打开连接开关，再确认系统提示",
    "type": "界面重绘（非实机截图）",
    "reference": "Shadowrocket / 此图只展示连接前的开关位置",
    "sources": [
      "https://apps.apple.com/us/app/shadowrocket/id932747118",
      "https://itunes.apple.com/lookup?id=932747118&country=us",
      "https://docs.shadowlink.vip/docs/Apple/shadowrocket/",
      "https://developer.apple.com/documentation/networkextension/vpn-on-demand-rules",
      "https://free-nodes.github.io/shadowrocket/shadowrocket_manual.html"
    ]
  },
  {
    "file": "shadow-on-demand.svg",
    "title": "进阶  设置 → 按需求连接 → 始终开启",
    "type": "界面重绘（非实机截图）",
    "reference": "Shadowrocket / 按需连接菜单与开关重绘；非实机截图",
    "sources": [
      "https://apps.apple.com/us/app/shadowrocket/id932747118",
      "https://itunes.apple.com/lookup?id=932747118&country=us",
      "https://docs.shadowlink.vip/docs/Apple/shadowrocket/",
      "https://developer.apple.com/documentation/networkextension/vpn-on-demand-rules",
      "https://free-nodes.github.io/shadowrocket/shadowrocket_manual.html"
    ]
  },
  {
    "file": "android-menu.svg",
    "title": "01  打开导航，进入订阅分组设置",
    "type": "界面重绘（非实机截图）",
    "reference": "v2rayNG 2.3.11 / Compose 源码布局参考",
    "sources": [
      "https://github.com/2dust/v2rayNG/blob/2.3.11/V2rayNG/app/src/main/java/com/v2ray/ang/ui/main/MainScreen.kt",
      "https://github.com/2dust/v2rayNG/blob/2.3.11/V2rayNG/app/src/main/java/com/v2ray/ang/ui/subscription/SubEditActivity.kt",
      "https://github.com/2dust/v2rayNG/blob/2.3.11/V2rayNG/app/src/main/java/com/v2ray/ang/ui/subscription/SubSettingActivity.kt"
    ]
  },
  {
    "file": "android-group.svg",
    "title": "02  订阅分组页：点「+」新增",
    "type": "界面重绘（非实机截图）",
    "reference": "v2rayNG 2.3.11 / 分组页添加和更新按钮",
    "sources": [
      "https://github.com/2dust/v2rayNG/blob/2.3.11/V2rayNG/app/src/main/java/com/v2ray/ang/ui/main/MainScreen.kt",
      "https://github.com/2dust/v2rayNG/blob/2.3.11/V2rayNG/app/src/main/java/com/v2ray/ang/ui/subscription/SubEditActivity.kt",
      "https://github.com/2dust/v2rayNG/blob/2.3.11/V2rayNG/app/src/main/java/com/v2ray/ang/ui/subscription/SubSettingActivity.kt"
    ]
  },
  {
    "file": "android-form.svg",
    "title": "03  填备注、地址，点右上角「✓」保存",
    "type": "界面重绘（非实机截图）",
    "reference": "v2rayNG 2.3.11 / 表单字段依稳定版源码",
    "sources": [
      "https://github.com/2dust/v2rayNG/blob/2.3.11/V2rayNG/app/src/main/java/com/v2ray/ang/ui/main/MainScreen.kt",
      "https://github.com/2dust/v2rayNG/blob/2.3.11/V2rayNG/app/src/main/java/com/v2ray/ang/ui/subscription/SubEditActivity.kt",
      "https://github.com/2dust/v2rayNG/blob/2.3.11/V2rayNG/app/src/main/java/com/v2ray/ang/ui/subscription/SubSettingActivity.kt"
    ]
  },
  {
    "file": "android-update.svg",
    "title": "04  更新订阅：初次仅启用更新",
    "type": "界面重绘（非实机截图）",
    "reference": "v2rayNG 2.3.11 / 分组页更新对话框",
    "sources": [
      "https://github.com/2dust/v2rayNG/blob/2.3.11/V2rayNG/app/src/main/java/com/v2ray/ang/ui/main/MainScreen.kt",
      "https://github.com/2dust/v2rayNG/blob/2.3.11/V2rayNG/app/src/main/java/com/v2ray/ang/ui/subscription/SubEditActivity.kt",
      "https://github.com/2dust/v2rayNG/blob/2.3.11/V2rayNG/app/src/main/java/com/v2ray/ang/ui/subscription/SubSettingActivity.kt"
    ]
  },
  {
    "file": "android-start.svg",
    "title": "05  选择节点，点底部播放按钮",
    "type": "界面重绘（非实机截图）",
    "reference": "v2rayNG 2.3.11 / 新版底栏启动按钮",
    "sources": [
      "https://github.com/2dust/v2rayNG/blob/2.3.11/V2rayNG/app/src/main/java/com/v2ray/ang/ui/main/MainScreen.kt",
      "https://github.com/2dust/v2rayNG/blob/2.3.11/V2rayNG/app/src/main/java/com/v2ray/ang/ui/subscription/SubEditActivity.kt",
      "https://github.com/2dust/v2rayNG/blob/2.3.11/V2rayNG/app/src/main/java/com/v2ray/ang/ui/subscription/SubSettingActivity.kt",
      "https://github.com/2dust/v2rayNG/blob/2.3.11/V2rayNG/app/src/main/java/com/v2ray/ang/ui/main/MainBottomBar.kt"
    ]
  },
  {
    "file": "windows-subscribe.svg",
    "title": "01  订阅分组 → 订阅分组设置",
    "type": "界面重绘（非实机截图）",
    "reference": "v2rayN 7.25.6 WPF / 网络与源码参考重绘",
    "sources": [
      "https://github.com/2dust/v2rayN/blob/7.25.6/v2rayN/v2rayN/Views/MainWindow.xaml",
      "https://github.com/2dust/v2rayN/blob/7.25.6/v2rayN/v2rayN/Views/SubEditWindow.xaml",
      "https://github.com/2dust/v2rayN/wiki/Description-of-some-ui"
    ]
  },
  {
    "file": "windows-form.svg",
    "title": "02  填备注与地址，确认启用，点击确定",
    "type": "界面重绘（非实机截图）",
    "reference": "v2rayN 7.25.6 WPF / 仅突出首次必填字段",
    "sources": [
      "https://github.com/2dust/v2rayN/blob/7.25.6/v2rayN/v2rayN/Views/MainWindow.xaml",
      "https://github.com/2dust/v2rayN/blob/7.25.6/v2rayN/v2rayN/Views/SubEditWindow.xaml",
      "https://github.com/2dust/v2rayN/wiki/Description-of-some-ui"
    ]
  },
  {
    "file": "windows-update.svg",
    "title": "03  更新当前订阅，确认节点出现",
    "type": "界面重绘（非实机截图）",
    "reference": "v2rayN 7.25.6 / 更新路径按订阅可达性选择",
    "sources": [
      "https://github.com/2dust/v2rayN/blob/7.25.6/v2rayN/v2rayN/Views/MainWindow.xaml",
      "https://github.com/2dust/v2rayN/blob/7.25.6/v2rayN/v2rayN/Views/SubEditWindow.xaml",
      "https://github.com/2dust/v2rayN/wiki/Description-of-some-ui"
    ]
  },
  {
    "file": "windows-connect.svg",
    "title": "04  选中节点 → 自动配置系统代理",
    "type": "界面重绘（非实机截图）",
    "reference": "v2rayN 7.25.6 / 首次连接保持 TUN 关闭",
    "sources": [
      "https://github.com/2dust/v2rayN/blob/7.25.6/v2rayN/v2rayN/Views/MainWindow.xaml",
      "https://github.com/2dust/v2rayN/blob/7.25.6/v2rayN/v2rayN/Views/SubEditWindow.xaml",
      "https://github.com/2dust/v2rayN/wiki/Description-of-some-ui"
    ]
  },
  {
    "file": "mac-connect.svg",
    "title": "macOS  设置订阅、活动节点与系统代理",
    "type": "界面重绘（非实机截图）",
    "reference": "v2rayN macOS / 跨平台界面功能定位重绘",
    "sources": [
      "https://github.com/2dust/v2rayN/wiki/Release-files-introduction",
      "https://github.com/2dust/v2rayN/blob/7.25.6/v2rayN/v2rayN/Views/MainWindow.xaml",
      "https://github.com/2dust/v2rayN/blob/7.25.6/v2rayN/v2rayN/Views/SubEditWindow.xaml",
      "https://github.com/2dust/v2rayN/wiki/Description-of-some-ui"
    ]
  },
  {
    "file": "chrome-update.svg",
    "title": "Chrome  打开关于页面，检查并应用更新",
    "type": "界面重绘（非实机截图）",
    "reference": "Chrome 设置 / 依据官方操作路径重绘",
    "sources": [
      "https://support.google.com/chrome/answer/95414?hl=zh-Hans"
    ]
  },
  {
    "file": "apple-account.svg",
    "title": "Apple 账户  找到「国家/地区」入口",
    "type": "界面重绘（非实机截图）",
    "reference": "Apple 账户设置 / 按官方帮助页重绘",
    "sources": [
      "https://support.apple.com/zh-cn/118283"
    ]
  },
  {
    "file": "dns-settings.svg",
    "title": "Windows 11  当前网络 → DNS 服务器分配",
    "type": "界面重绘（非实机截图）",
    "reference": "Windows 设置 / 入口依系统构建可能变化",
    "sources": [
      "https://support.microsoft.com/windows/change-tcp-ip-settings-bd0a07af-15f5-cd6a-363f-ca2b6f391ace"
    ]
  },
  {
    "file": "youtube-stats.svg",
    "title": "YouTube  视频右键 → 详细统计信息",
    "type": "界面重绘（非实机截图）",
    "reference": "YouTube 桌面版 / 面板数值全部为示例",
    "sources": [
      "https://support.google.com/youtube/answer/7519898?hl=en"
    ]
  },
  {
    "file": "steam-chat.svg",
    "title": "Steam Chat  检查会话设置和通知",
    "type": "界面重绘（非实机截图）",
    "reference": "Steam 聊天 / 按公开界面结构归纳重绘",
    "sources": [
      "https://store.steampowered.com/mobile",
      "https://steamcommunity.com/chat/"
    ]
  },
  {
    "file": "shadow-advanced-routing.svg",
    "title": "进阶  全局路由 → 添加域名规则",
    "type": "界面重绘（非实机截图）",
    "reference": "Shadowrocket / 全局路由与规则编辑界面功能重绘",
    "sources": [
      "https://apps.apple.com/us/app/shadowrocket/id932747118",
      "https://itunes.apple.com/lookup?id=932747118&country=us",
      "https://docs.shadowlink.vip/docs/Apple/shadowrocket/",
      "https://developer.apple.com/documentation/networkextension/vpn-on-demand-rules",
      "https://free-nodes.github.io/shadowrocket/shadowrocket_manual.html",
      "https://docs.shadowlink.vip/docs/Apple/shadowrocket/"
    ]
  },
  {
    "file": "android-install.svg",
    "title": "安装  官方 APK → 临时允许 → 安装",
    "type": "界面重绘（非实机截图）",
    "reference": "v2rayNG 安装与系统安装来源页面重绘；架构以官方 Assets 为准",
    "sources": [
      "https://github.com/2dust/v2rayNG/blob/2.3.11/V2rayNG/app/src/main/java/com/v2ray/ang/ui/main/MainScreen.kt",
      "https://github.com/2dust/v2rayNG/blob/2.3.11/V2rayNG/app/src/main/java/com/v2ray/ang/ui/subscription/SubEditActivity.kt",
      "https://github.com/2dust/v2rayNG/blob/2.3.11/V2rayNG/app/src/main/java/com/v2ray/ang/ui/subscription/SubSettingActivity.kt",
      "https://github.com/2dust/v2rayNG/wiki/Release-files-introduction-for-Android"
    ]
  },
  {
    "file": "android-policy-group.svg",
    "title": "进阶  新增策略组并选择线路类型",
    "type": "界面重绘（非实机截图）",
    "reference": "v2rayNG 2.3.11 / 策略组页面依据稳定版界面文案重绘",
    "sources": [
      "https://github.com/2dust/v2rayNG/blob/2.3.11/V2rayNG/app/src/main/java/com/v2ray/ang/ui/main/MainScreen.kt",
      "https://github.com/2dust/v2rayNG/blob/2.3.11/V2rayNG/app/src/main/java/com/v2ray/ang/ui/subscription/SubEditActivity.kt",
      "https://github.com/2dust/v2rayNG/blob/2.3.11/V2rayNG/app/src/main/java/com/v2ray/ang/ui/subscription/SubSettingActivity.kt"
    ]
  },
  {
    "file": "android-policy-edit.svg",
    "title": "进阶  设置来源、最低延迟与备用出站",
    "type": "界面重绘（非实机截图）",
    "reference": "v2rayNG 2.3.11 / 策略组类型和选项依官方简体中文文案重绘",
    "sources": [
      "https://github.com/2dust/v2rayNG/blob/2.3.11/V2rayNG/app/src/main/java/com/v2ray/ang/ui/main/MainScreen.kt",
      "https://github.com/2dust/v2rayNG/blob/2.3.11/V2rayNG/app/src/main/java/com/v2ray/ang/ui/subscription/SubEditActivity.kt",
      "https://github.com/2dust/v2rayNG/blob/2.3.11/V2rayNG/app/src/main/java/com/v2ray/ang/ui/subscription/SubSettingActivity.kt"
    ]
  },
  {
    "file": "android-per-app.svg",
    "title": "设置  分应用代理 → 选择应用 → 保存并重连",
    "type": "界面重绘（非实机截图）",
    "reference": "v2rayNG 2.3.11 / 分应用代理字段功能重绘；品牌清单以设备安装应用为准",
    "sources": [
      "https://github.com/2dust/v2rayNG/blob/2.3.11/V2rayNG/app/src/main/java/com/v2ray/ang/ui/main/MainScreen.kt",
      "https://github.com/2dust/v2rayNG/blob/2.3.11/V2rayNG/app/src/main/java/com/v2ray/ang/ui/subscription/SubEditActivity.kt",
      "https://github.com/2dust/v2rayNG/blob/2.3.11/V2rayNG/app/src/main/java/com/v2ray/ang/ui/subscription/SubSettingActivity.kt"
    ]
  },
  {
    "file": "android-routing.svg",
    "title": "进阶  路由规则 → 域名匹配 → 选择出站",
    "type": "界面重绘（非实机截图）",
    "reference": "v2rayNG 2.3.11 / 路由设置与编辑规则功能界面重绘",
    "sources": [
      "https://github.com/2dust/v2rayNG/blob/2.3.11/V2rayNG/app/src/main/java/com/v2ray/ang/ui/main/MainScreen.kt",
      "https://github.com/2dust/v2rayNG/blob/2.3.11/V2rayNG/app/src/main/java/com/v2ray/ang/ui/subscription/SubEditActivity.kt",
      "https://github.com/2dust/v2rayNG/blob/2.3.11/V2rayNG/app/src/main/java/com/v2ray/ang/ui/subscription/SubSettingActivity.kt"
    ]
  },
  {
    "file": "windows-install.svg",
    "title": "安装  下载 ZIP → 完整解压 → 运行主程序",
    "type": "界面重绘（非实机截图）",
    "reference": "v2rayN 官方发行文件说明 / Windows 文件资源管理器安装流程重绘",
    "sources": [
      "https://github.com/2dust/v2rayN/blob/7.25.6/v2rayN/v2rayN/Views/MainWindow.xaml",
      "https://github.com/2dust/v2rayN/blob/7.25.6/v2rayN/v2rayN/Views/SubEditWindow.xaml",
      "https://github.com/2dust/v2rayN/wiki/Description-of-some-ui"
    ]
  },
  {
    "file": "windows-tun.svg",
    "title": "进阶  需要时才启用 TUN 并完成系统授权",
    "type": "界面重绘（非实机截图）",
    "reference": "v2rayN 7.25.6 / TUN 开关与系统权限确认场景重绘；授权文案因环境变化",
    "sources": [
      "https://github.com/2dust/v2rayN/blob/7.25.6/v2rayN/v2rayN/Views/MainWindow.xaml",
      "https://github.com/2dust/v2rayN/blob/7.25.6/v2rayN/v2rayN/Views/SubEditWindow.xaml",
      "https://github.com/2dust/v2rayN/wiki/Description-of-some-ui"
    ]
  },
  {
    "file": "windows-routing.svg",
    "title": "进阶  路由设置 → 添加小范围规则并调整顺序",
    "type": "界面重绘（非实机截图）",
    "reference": "v2rayN 7.25.6 / 路由规则编辑窗参考官方 UI 说明重绘",
    "sources": [
      "https://github.com/2dust/v2rayN/blob/7.25.6/v2rayN/v2rayN/Views/MainWindow.xaml",
      "https://github.com/2dust/v2rayN/blob/7.25.6/v2rayN/v2rayN/Views/SubEditWindow.xaml",
      "https://github.com/2dust/v2rayN/wiki/Description-of-some-ui"
    ]
  },
  {
    "file": "windows-multiserver.svg",
    "title": "进阶  多选节点 → 右键 → 选择组建方式",
    "type": "界面重绘（非实机截图）",
    "reference": "v2rayN 官方多服务器功能说明与主窗口菜单重绘",
    "sources": [
      "https://github.com/2dust/v2rayN/blob/7.25.6/v2rayN/v2rayN/Views/MainWindow.xaml",
      "https://github.com/2dust/v2rayN/blob/7.25.6/v2rayN/v2rayN/Views/SubEditWindow.xaml",
      "https://github.com/2dust/v2rayN/wiki/Description-of-some-ui"
    ]
  },
  {
    "file": "mac-install.svg",
    "title": "安装  按芯片下载 DMG → 拖入应用程序",
    "type": "界面重绘（非实机截图）",
    "reference": "v2rayN macOS 发布文件说明 / Finder DMG 安装流程重绘",
    "sources": [
      "https://github.com/2dust/v2rayN/wiki/Release-files-introduction",
      "https://github.com/2dust/v2rayN/blob/7.25.6/v2rayN/v2rayN/Views/MainWindow.xaml",
      "https://github.com/2dust/v2rayN/blob/7.25.6/v2rayN/v2rayN/Views/SubEditWindow.xaml",
      "https://github.com/2dust/v2rayN/wiki/Description-of-some-ui"
    ]
  },
  {
    "file": "mac-routing.svg",
    "title": "macOS 进阶  路由设置 → 修改域名出口",
    "type": "界面重绘（非实机截图）",
    "reference": "v2rayN macOS / 路由规则功能定位；控件因构建与语言包变化",
    "sources": [
      "https://github.com/2dust/v2rayN/wiki/Description-of-some-ui",
      "https://github.com/2dust/v2rayN/blob/7.25.6/v2rayN/v2rayN/Views/MainWindow.xaml",
      "https://github.com/2dust/v2rayN/blob/7.25.6/v2rayN/v2rayN/Views/SubEditWindow.xaml",
      "https://github.com/2dust/v2rayN/wiki/Description-of-some-ui"
    ]
  },
  {
    "file": "linux-subscribe.svg",
    "title": "Linux  订阅分组 → 填写地址 → 更新节点",
    "type": "界面重绘（非实机截图）",
    "reference": "v2rayN Linux / 跨平台订阅功能重绘；窗口主题因桌面环境变化",
    "sources": [
      "https://github.com/2dust/v2rayN/blob/7.25.6/v2rayN/v2rayN/Views/MainWindow.xaml",
      "https://github.com/2dust/v2rayN/blob/7.25.6/v2rayN/v2rayN/Views/SubEditWindow.xaml",
      "https://github.com/2dust/v2rayN/wiki/Description-of-some-ui"
    ]
  },
  {
    "file": "linux-routing.svg",
    "title": "Linux 进阶  路由规则 → 域名出口 → 保存",
    "type": "界面重绘（非实机截图）",
    "reference": "v2rayN Linux / 同一核心的路由规则编辑功能重绘",
    "sources": [
      "https://github.com/2dust/v2rayN/blob/7.25.6/v2rayN/v2rayN/Views/MainWindow.xaml",
      "https://github.com/2dust/v2rayN/blob/7.25.6/v2rayN/v2rayN/Views/SubEditWindow.xaml",
      "https://github.com/2dust/v2rayN/wiki/Description-of-some-ui"
    ]
  },
  {
    "file": "openwrt-software-install.svg",
    "title": "OpenWrt  系统 → 软件 → 安装匹配的 PassWall 软件包",
    "type": "界面重绘（非实机截图）",
    "reference": "OpenWrt LuCI 软件包页与 PassWall 官方安装说明重绘；字段随发行版变化",
    "sources": [
      "https://github.com/Openwrt-Passwall/openwrt-passwall2",
      "https://github.com/Openwrt-Passwall/openwrt-passwall"
    ]
  },
  {
    "file": "openwrt-acl.svg",
    "title": "进阶  访问控制 → 按设备指定代理或直连",
    "type": "界面重绘（非实机截图）",
    "reference": "PassWall 2 访问控制 LuCI 功能重绘；设备列表和节点名称均为示例",
    "sources": [
      "https://github.com/Openwrt-Passwall/openwrt-passwall2/blob/main/luci-app-passwall2/luasrc/controller/passwall2.lua",
      "https://github.com/Openwrt-Passwall/openwrt-passwall2/blob/main/luci-app-passwall2/root/usr/share/passwall2/nftables.sh"
    ]
  },
  {
    "file": "openwrt-domain-routing.svg",
    "title": "进阶  规则管理 → 添加域名 → 指定出口",
    "type": "界面重绘（非实机截图）",
    "reference": "PassWall / PassWall 2 规则管理功能重绘；规则字段随版本和规则集变化",
    "sources": [
      "https://github.com/Openwrt-Passwall/openwrt-passwall2",
      "https://github.com/Openwrt-Passwall/openwrt-passwall"
    ]
  },
  {
    "file": "openwrt-loadbalance.svg",
    "title": "PassWall 2 进阶  选择兼容节点并应用均衡策略",
    "type": "界面重绘（非实机截图）",
    "reference": "PassWall 2 Load Balancing 页面入口按官方 LuCI 控制器重绘；选项依 HAProxy 组件与版本",
    "sources": [
      "https://github.com/Openwrt-Passwall/openwrt-passwall2",
      "https://github.com/Openwrt-Passwall/openwrt-passwall2/blob/main/luci-app-passwall2/luasrc/controller/passwall2.lua"
    ]
  },
  {
    "file": "merlin-acl.svg",
    "title": "fancyss  按设备设置访问控制",
    "type": "界面重绘（非实机截图）",
    "reference": "KoolCenter 改版梅林 fancyss 访问控制功能重绘；页面名称以固件内插件为准",
    "sources": [
      "https://github.com/hq450/fancyss",
      "https://github.com/hq450/fancyss/blob/3.0/Changelog.txt"
    ]
  },
  {
    "file": "merlin-shunt.svg",
    "title": "进阶  切换 xray 分流模式 → 指定分类节点",
    "type": "界面重绘（非实机截图）",
    "reference": "fancyss 3.5.10+ xray 节点分流页重绘；规则类别及字段以设备上实际版本为准",
    "sources": [
      "https://github.com/hq450/fancyss/blob/3.0/doc/implementation/node-shunt-mvp.md",
      "https://github.com/hq450/fancyss/blob/3.0/doc/design/node-shunt-design.md",
      "https://github.com/hq450/fancyss/blob/3.0/Changelog.txt"
    ]
  },
  {
    "file": "merlin-plugin-install.svg",
    "title": "KoolCenter 软件中心  搜索或手动安装 fancyss",
    "type": "界面重绘（非实机截图）",
    "reference": "KoolCenter 软件中心与 fancyss 安装入口重绘；平台包需按型号表选择",
    "sources": [
      "https://github.com/hq450/fancyss",
      "https://github.com/koolshare/rogsoft"
    ]
  },
  {
    "file": "windows-backup-update.svg",
    "title": "日常维护  先复制应用目录备份，再核对官方更新",
    "type": "界面重绘（非实机截图）",
    "reference": "v2rayN 官方发布页与便携目录更新流程重绘；实际文件名以发布页为准",
    "sources": [
      "https://github.com/2dust/v2rayN/blob/7.25.6/v2rayN/v2rayN/Views/MainWindow.xaml",
      "https://github.com/2dust/v2rayN/blob/7.25.6/v2rayN/v2rayN/Views/SubEditWindow.xaml",
      "https://github.com/2dust/v2rayN/wiki/Description-of-some-ui"
    ]
  },
  {
    "file": "zeroomega-switch.svg",
    "title": "Chrome  工具栏打开 ZeroOmega 并切换代理情景模式",
    "type": "界面重绘（非实机截图）",
    "reference": "Chrome 工具栏及 ZeroOmega 情景模式弹窗重绘；菜单项按当前扩展设置显示",
    "sources": [
      "https://chromewebstore.google.com/detail/proxy-switchyomega-3-zero/pfnededegaaopdmhkdmcofjmoldfiped",
      "https://github.com/zero-peak/ZeroOmega"
    ]
  },
  {
    "file": "steam-login.svg",
    "title": "Steam Chat  从官方客户端登录并完成 Steam Guard 验证",
    "type": "界面重绘（非实机截图）",
    "reference": "Steam 登录与 Steam Guard 安全提示界面重绘；请在本人设备中完成验证",
    "sources": [
      "https://store.steampowered.com/about/",
      "https://store.steampowered.com/mobile"
    ]
  },
  {
    "file": "steam-notifications.svg",
    "title": "Steam Chat  设置群组消息范围并检查系统通知权限",
    "type": "界面重绘（非实机截图）",
    "reference": "Steam Chat 通知设置与移动系统权限场景重绘；可选项名称随客户端版本变化",
    "sources": [
      "https://steamcommunity.com/chat/",
      "https://store.steampowered.com/mobile"
    ]
  },
  {
    "file": "apple-id-iphone-create.svg",
    "title": "iPhone / iPad  App Store → 创建新 Apple 账户",
    "type": "界面重绘（非实机截图）",
    "reference": "Apple App Store 创建账户路径重绘；账户地区与身份资料由本人按实际情况填写",
    "sources": [
      "https://account.apple.com/",
      "https://support.apple.com/zh-cn/108647"
    ]
  },
  {
    "file": "openwrt-online-update.svg",
    "title": "PassWall  在线更新插件自身与代理核心",
    "type": "界面重绘（非实机截图）",
    "reference": "PassWall 官方组件更新页 / 插件版本行与核心版本行；版本信息为占位",
    "sources": [
      "https://github.com/Openwrt-Passwall/openwrt-passwall/blob/main/luci-app-passwall/luasrc/view/passwall/app_update/app_version.htm",
      "https://github.com/Openwrt-Passwall/openwrt-passwall/blob/main/luci-app-passwall/luasrc/model/cbi/passwall/client/app_update.lua",
      "https://github.com/Openwrt-Passwall/openwrt-passwall/blob/main/luci-app-passwall/po/zh-cn/passwall.po"
    ]
  },
  {
    "file": "apple-id-create.svg",
    "title": "Apple ID 网页注册表单与账户验证",
    "type": "界面重绘（非实机截图）",
    "reference": "account.apple.com 注册页面字段 / 依照 Apple 官方创建账户说明重绘",
    "sources": [
      "https://account.apple.com/",
      "https://support.apple.com/zh-cn/108647"
    ]
  },
  {
    "file": "apple-id-media-purchases.svg",
    "title": "只切换媒体与购买项目账户，不退出 iCloud",
    "type": "界面重绘（非实机截图）",
    "reference": "iPhone 设置媒体与购买项目账户菜单 / 依照 Apple 官方步骤重绘",
    "sources": [
      "https://support.apple.com/zh-cn/108911",
      "https://support.apple.com/zh-cn/118294"
    ]
  },
  {
    "file": "apple-id-gift-card.svg",
    "title": "App Store 头像页兑换充值卡",
    "type": "界面重绘（非实机截图）",
    "reference": "App Store 账户页与兑换表单 / 依据 Apple 官方充值卡说明重绘",
    "sources": [
      "https://support.apple.com/zh-cn/118242?device-type=iphone",
      "https://support.apple.com/zh-cn/108285"
    ]
  },
  {
    "file": "apple-id-redownload.svg",
    "title": "App Store 核对应用信息与重新下载已购 App",
    "type": "界面重绘（非实机截图）",
    "reference": "App Store 应用条目和“你的 App”购买列表 / 依据 Apple 官方重新下载说明重绘",
    "sources": [
      "https://apps.apple.com/us/app/shadowrocket/id932747118",
      "https://support.apple.com/zh-cn/102417"
    ]
  },
  {
    "file": "macos-dns.svg",
    "title": "macOS 系统设置 · 网络 · DNS 服务器列表",
    "type": "界面重绘（非实机截图）",
    "reference": "macOS 系统设置网络详情的 DNS 面板与添加按钮",
    "sources": [
      "https://support.apple.com/guide/mac-help/change-dns-settings-on-mac-mh14127/mac"
    ]
  },
  {
    "file": "ios-dns.svg",
    "title": "iPhone / iPad · 当前 Wi-Fi · 配置 DNS",
    "type": "界面重绘（非实机截图）",
    "reference": "iOS / iPadOS Wi-Fi 详情与配置 DNS 表单；设置仅作用于当前 Wi-Fi",
    "sources": [
      "https://support.apple.com/guide/iphone/manage-wi-fi-settings-iphw5gjwl8k2/ios",
      "https://developers.google.com/speed/public-dns/docs/using"
    ]
  },
  {
    "file": "android-dns.svg",
    "title": "Android · 网络和互联网 · 专用 DNS",
    "type": "界面重绘（非实机截图）",
    "reference": "Android 专用 DNS 设置及主机名输入对话框；厂商界面可能略有差异",
    "sources": [
      "https://support.google.com/android/answer/9654714?hl=zh-Hans",
      "https://developers.google.com/speed/public-dns/docs/using"
    ]
  },
  {
    "file": "zeroomega-store.svg",
    "title": "Chrome 网上应用店  安装 Proxy SwitchyOmega 3 (ZeroOmega)",
    "type": "界面重绘（非实机截图）",
    "reference": "按 Chrome 网上应用店官方条目重绘；标注版本 3.5.2 和扩展 ID",
    "sources": [
      "https://chromewebstore.google.com/detail/proxy-switchyomega-3-zero/pfnededegaaopdmhkdmcofjmoldfiped",
      "https://github.com/zero-peak/ZeroOmega"
    ]
  },
  {
    "file": "zeroomega-profile.svg",
    "title": "ZeroOmega  新建代理情景模式并填写客户端监听信息",
    "type": "界面重绘（非实机截图）",
    "reference": "ZeroOmega 配置页按当前公开界面资料重绘；代理端口为占位提示",
    "sources": [
      "https://github.com/zero-peak/ZeroOmega",
      "https://github.com/zero-peak/ZeroOmega/releases"
    ]
  },
  {
    "file": "androidtv-install.svg",
    "title": "Android TV：从 USB 安装 APK 并使用鼠标操作",
    "type": "界面重绘（非实机截图）",
    "reference": "Android TV 常见安装界面与 v2rayNG 2.3.11 Compose 界面重绘；遥控器限制见上游 issue",
    "sources": [
      "https://github.com/2dust/v2rayNG/wiki/Release-files-introduction-for-Android",
      "https://github.com/2dust/v2rayNG/issues/6284",
      "https://github.com/2dust/v2rayNG/blob/2.3.11/V2rayNG/app/src/main/java/com/v2ray/ang/ui/main/MainScreen.kt"
    ]
  },
  {
    "file": "linux-install.svg",
    "title": "Linux：从官方发布页选择架构并添加订阅",
    "type": "界面重绘（非实机截图）",
    "reference": "v2rayN Linux 发布包与官方 Wiki 操作流程重绘；节点和地址均为占位",
    "sources": [
      "https://github.com/2dust/v2rayN/releases/latest",
      "https://github.com/2dust/v2rayN/wiki/Release-files-introduction",
      "https://github.com/2dust/v2rayN/wiki/Description-of-some-ui"
    ]
  },
  {
    "file": "openwrt-passwall.svg",
    "title": "PassWall：添加订阅并检查节点、基本设置入口",
    "type": "界面重绘（非实机截图）",
    "reference": "PassWall LuCI controller 与官方功能说明重绘；订阅、节点和状态均为占位",
    "sources": [
      "https://github.com/Openwrt-Passwall/openwrt-passwall",
      "https://github.com/Openwrt-Passwall/openwrt-passwall/blob/main/luci-app-passwall/luasrc/controller/passwall.lua",
      "https://github.com/Openwrt-Passwall/openwrt-passwall/releases",
      "https://github.com/moetayuko/openwrt-passwall-build"
    ]
  },
  {
    "file": "openwrt-passwall2.svg",
    "title": "PassWall 2：更新订阅并选择默认节点",
    "type": "界面重绘（非实机截图）",
    "reference": "PassWall 2 LuCI controller 与官方配置说明重绘；订阅、节点和状态均为占位",
    "sources": [
      "https://github.com/Openwrt-Passwall/openwrt-passwall2",
      "https://github.com/Openwrt-Passwall/openwrt-passwall2/blob/main/luci-app-passwall2/luasrc/controller/passwall2.lua",
      "https://github.com/Openwrt-Passwall/openwrt-passwall2/releases",
      "https://github.com/moetayuko/openwrt-passwall-build"
    ]
  },
  {
    "file": "esir-firmware-choose.svg",
    "title": "eSir 佛跳墙：核对发布版本和设备镜像",
    "type": "界面重绘（非真实截图）",
    "reference": "按 eSir V2[2026] 公开发布信息绘制；型号和镜像名为教学占位",
    "sources": [
      "https://t.me/s/esirplayground"
    ]
  },
  {
    "file": "esir-firmware-flash.svg",
    "title": "eSir 佛跳墙：兼容 OpenWrt 设备的 LuCI 升级入口",
    "type": "界面重绘（非真实截图）",
    "reference": "OpenWrt 通用 LuCI sysupgrade 流程重绘；仅适用于明确支持该设备网页升级的情形",
    "sources": [
      "https://openwrt.org/docs/guide-user/installation/generic.sysupgrade",
      "https://t.me/s/esirplayground"
    ]
  },
  {
    "file": "merlin-model.svg",
    "title": "KoolCenter 改版梅林：核对型号目录、固件分支和插件平台",
    "type": "界面重绘（非实机截图）",
    "reference": "按 KoolCenter 固件目录和 fancyss 当前支持型号表绘制；型号仅作界面示例",
    "sources": [
      "https://fw.koolcenter.com/",
      "https://github.com/hq450/fancyss"
    ]
  },
  {
    "file": "merlin-flash.svg",
    "title": "KoolCenter 改版梅林：从系统管理页上传匹配固件",
    "type": "界面重绘（非实机截图）",
    "reference": "按华硕 ASUSWRT 系统管理和固件升级流程重绘，非路由器实机截图",
    "sources": [
      "https://fw.koolcenter.com/",
      "https://www.asus.com/support/Download-Center/"
    ]
  },
  {
    "file": "merlin-vpn.svg",
    "title": "fancyss：在更新管理中订阅，并在首页选择节点和启动",
    "type": "界面重绘（非实机截图）",
    "reference": "依据 fancyss 订阅、更新管理与启动配置说明重绘；订阅和节点为教学占位",
    "sources": [
      "https://github.com/hq450/fancyss",
      "https://hq450.github.io/fancyss/",
      "https://github.com/hq450/fancyss/blob/3.0/Changelog.txt"
    ]
  }
]
