常见问题

关于 Throne 的常见问题简答:Nekoray、杀毒软件报警、断网保护、TUN 权限、软件包和旧系统。

这里简要回答关于 Throne 桌面版的常见问题。每个回答都链接到包含详细信息的页面。如果遇到故障,请前往故障排除。

Throne 与 Nekoray 有什么不同?

Throne 是 Nekoray 的延续。Nekoray 已不再开发,其仓库已归档。Throne 以 Nekoray 的代码为起点,此后有了很大变化:

  • 核心是基于 sing-box 的 ThroneCore。只有 Xray 配置档(例如 VLESS (Xray))才会在核心内部运行 Xray。
  • 新增了许多功能,例如自动选择器、Cloudflare WARP、OpenVPN 和 OpenConnect 配置档、备份与恢复,以及 Android 应用。
  • 不再有用的旧功能已被移除或简化。

Throne 无法读取 Nekoray 的配置。要迁移你的服务器和设置,请参阅从 Nekoray / NekoBox 迁移。

有便携模式吗?

有。Windows 和 Linux 的 ZIP 版本是便携版:Throne 会将所有数据保存在程序旁边的 config 文件夹中。要将 Throne 移动到其他文件夹或其他电脑,请复制整个 Throne 文件夹。通过 Windows 安装程序进行的按用户安装(默认方式)也会将 config 保存在程序旁边。

.deb 和 .rpm 软件包、Linux 安装脚本以及 macOS 应用则会将数据保存在你的用户文件夹中。当程序文件夹不可写时(例如为所有用户安装到 Program Files),Throne 也会使用你的用户文件夹,并将已有数据复制过去。设置(Settings)→ 打开配置文件夹(Open Config Folder)会打开当前使用的文件夹。参见命令行、文件与日志。

我可以在 Android 上使用 Throne 并把设置迁移过去吗?

可以。Throne for Android 2.0.0(前身为 NekoBox for Android)与桌面版使用相同的核心和相同的备份格式。在桌面版的 设置 → 基本设置(Basic Settings)→ 备份和恢复(Backup and Restore)中创建备份,将 .thrbackup 文件复制到手机,然后在 Android 应用中恢复。反过来从 Android 迁移到桌面版也可以。参见备份、更新与迁移。

为什么杀毒软件会将 Throne 标记为威胁?

这些都是误报。一些杀毒软件会对 Throne 为实现正常功能所做的操作产生反应:

  • 内置更新程序会下载新版本并替换程序文件。恶意软件也会替换文件,所以这看起来很可疑。
  • 在 Windows 上,Throne 会写入注册表项:HKEY_CURRENT_USER\Software\Classes 下的 throne:// 链接注册、安装程序记录的安装文件夹,以及在 Throne 以管理员身份运行时写入的 Windows 错误报告设置(用于将崩溃转储保存到 Throne 的 crashes 文件夹)。这些注册表项并不是后门(#1127)。
  • 在 TUN 模式下,核心会创建虚拟网卡并更改网络设置。

请只从官方下载页面下载 Throne,并在杀毒软件中将 Throne 文件夹添加为例外。杀毒软件的网络防护也可能在没有任何提示的情况下阻止 TUN 模式;参见故障排除。

我的设备 ID(HWID)会被发送给别人吗?

只有在你开启时才会。设置 → 基本设置 → 订阅(Subscription)→ 启用在更新订阅时发送硬件ID、设备型号以及 OS 版本(Enable sending HWID, device model, and OS version when updating subscription)默认关闭。开启后,Throne 会将这些值作为 HTTP 请求头添加到订阅请求中,而不会添加到其他任何请求中。自 1.3.1 起,每个分组都可以在其 Advanced 订阅设置中通过 Send HWID 覆盖此设置。有些服务商要求发送这些信息。参见隐私与网络请求。

有断网保护(kill switch)吗?

没有。Throne 没有断网保护功能,维护者也不打算添加(#827、#912)。当配置档停止,或者核心意外停止时,你的应用会不经代理直接连接。

Android: Android 系统本身可以在 VPN 未连接时阻止所有流量。将 Throne 设为始终开启的 VPN,并开启系统中阻止未使用 VPN 的连接的选项。参见权限与后台运行。

为什么 TUN 模式需要管理员或 root 权限?

TUN 模式会创建一个虚拟网卡,并将系统的流量导入其中。操作系统只允许管理员这样做。系统代理模式不需要特殊权限。

  • Windows: Throne 会提示“请以管理员身份运行 Throne”(Please run Throne as admin),并以管理员权限重新启动自身。此后,它每次都会以管理员身份启动。要停止这种行为,请开启 设置 → 基本设置 → 安全(Security)→ 始终以标准用户身份启动(Always Start as Standard User)。
  • Linux: 只有核心(ThroneCore)会获得 root 权限,Throne 窗口不会。参见下一个问题。
  • macOS: Throne 会打开“终端”(Terminal)并运行 sudo,为核心授予 root 权限。这需要管理员账户。

参见 TUN 模式。

Linux 上真的需要 SUID 位吗?

TUN 模式需要具有 root 权限的核心,但 Throne 窗口必须以你的普通用户身份运行。不要用 sudo 启动 Throne 本身。

当你开启 Tun 模式(Tun Mode)时,Throne 会提示“请赋予核心 root 权限”(Please give the core root privileges)。如果你同意,它会使用 pkexec 将 ThroneCore 的所有者改为 root,并设置其 SUID 位。系统中必须安装 pkexec(polkit)。

除了 SUID 位,你也可以为核心授予五项能力(capabilities)。只有当核心拥有全部五项能力时,Throne 才会将其视为已获得权限:

sudo setcap cap_net_admin,cap_net_raw,cap_net_bind_service,cap_sys_ptrace,cap_dac_read_search+ep /opt/Throne/ThroneCore

此路径适用于 .deb 和 .rpm 软件包以及 Linux 安装脚本。对于 ZIP 版,请使用你的 Throne 文件夹中的 ThroneCore 文件。

要让 Throne 不再请求权限,请开启 设置 → 基本设置 → 安全 → 禁止权限请求(Disable Privilege request)。此后,TUN 模式和其他需要 root 的功能只有在你自行授予权限后才能工作。某些发行版的软件包无法修改核心;此时 Throne 会显示“This installation cannot grant the core privileges by itself.”(此安装无法自行为核心授予权限),并附上打包者提供的说明。

为什么 Throne 被强制关闭后无法上网?

开启 系统代理(System Proxy)后,Throne 会在配置档运行期间将系统的代理设置指向它的本地端口(默认为 127.0.0.1:2080)。当配置档停止或你退出 Throne 时,它会移除该设置。如果 Throne 被强行结束(例如在任务管理器中被结束,或因断电),该设置会保留下来,应用会尝试使用一个已不再运行的代理。

解决方法:

  1. 启动 Throne。
  2. 如果 系统代理 未勾选,请勾选它,然后启动任意配置档。
  3. 停止该配置档,或通过 程序(Program)→ 退出(Exit)退出 Throne。

Throne 会在第 3 步移除代理设置。你也可以在系统的网络设置中关闭代理。

为什么配置档停止时系统代理会关闭?

自 1.1.3 起,Throne 只在配置档运行期间设置系统代理。配置档停止时,Throne 会移除该设置,这样应用就不会尝试使用未运行的代理。系统代理 复选框会保持勾选,当你启动配置档时,Throne 会再次设置系统代理。参见系统代理、TUN 与局域网共享。

为什么 DNS 泄漏测试显示的是我的运营商(ISP)的 DNS 服务器?

这通常是正常的。例如,匹配 direct 规则的域名会使用 直连 DNS(Direct DNS)解析,而它默认是系统的 DNS,通常就是你的运营商的 DNS。在系统代理模式下,应用也可能自行解析域名,浏览器也可能使用自己的 DNS 设置,因此这些查询根本不会到达 Throne。DNS 泄漏测试列出了预期的结果,并说明了结果不符合预期时应该修改什么。

为什么订阅更新后我的配置档停止了,或者仍在运行?

除非你允许,否则订阅更新不会停止正在运行的配置档:

  • 如果新列表中不再包含正在运行的配置档,或者某个清理选项会删除它,Throne 会将该配置档保留在分组中,并让它继续运行。变更报告会将其列在“仍在使用中,因此保留而不是删除”(Still in use, so kept instead of deleted)之下,或者显示“The running profile was kept.”(正在运行的配置档已保留)。
  • 如果你开启了 设置 → 基本设置 → 订阅 → 允许停止活动配置档(Allow stopping the active profile),在这种情况下 Throne 会停止并删除正在运行的配置档。
  • 如果服务商只修改了正在运行的配置档的部分设置,Throne 会更新已保存的配置档,但不会重新建立连接。请重新启动该配置档以使用新设置。

如果某个自动选择器使用了该分组,当更新替换了它正在使用的配置档时,它会自行重建。参见订阅与分组。

为什么我的订阅中出现了 Custom 配置档?

Throne 会将 sing-box 和 Xray 的 JSON 拆分为每个服务器一个配置档。少数内容会被有意导入为自定义配置档。类型(Type)列会将它们显示为:

  • Custom Xray Config:如果订阅是一组完整的 Xray 配置,且每个配置都有自己的 outbounds,则每个配置都会生成一个这样的配置档。这些配置可能包含必须原样运行的负载均衡器或代理链。
  • Custom Xray … Outbound:VLESS 以外协议的 Xray 出站。
  • Custom … Outbound:单个 sing-box 出站,即一个带有 type 字段的 JSON 对象。

selector 和 urltest 等分组类出站不会被导入。要自动选择最佳服务器,请使用自动选择器。

Throne 1.1.0 和 1.1.1 会将带有 inbounds 的完整 sing-box 配置作为一个自定义配置导入。自 1.1.2 起,这类配置会再次被拆分为多个配置档。参见协议与导入格式。

可下载的路由配置档来自哪里?

来自 throneproj/routeprofiles 仓库。路由(Routing)→ 下载配置档(Download Profiles)会从该仓库获取各个国家的配置档。内置规则集(geoip-… 和 geosite-…)的列表也保存在那里;规则集文件本身来自 MetaCubeX meta-rules-dat、Chocolate4U Iran-sing-box-rules 和 runetfreedom russia-v2ray-rules-dat 等项目。Throne 通过 路由设置(Routing Settings)→ 通用(Common)→ 远程规则集镜像(Remote Rule-set Mirror)中选择的镜像下载它们。参见路由。

.deb 软件包之间有什么区别?

  • Throne-<version>-debian-amd64.deb 自带一份 Qt 库。它的体积较大,但不依赖系统的 Qt 版本。
  • Throne-<version>-debian-amd64-system-qt.deb 不包含 Qt。它使用你的发行版提供的 Qt 6 库,并将其作为依赖安装。

请先使用普通软件包。如果普通软件包无法启动,例如在不支持 SSE4.2 的处理器上(#845),请使用 system-qt 软件包。arm64 也有同样的一对软件包(debian-arm64.deb 和 debian-arm64-system-qt.deb),用于 Fedora 和 RHEL 的 .rpm 软件包也是如此(fedora-amd64.rpm、fedora-amd64-system-qt.rpm 以及对应的 arm64 版本)。参见安装。

WinGet、Scoop、AUR、Nix 和 RPM 软件源中的软件包是官方的吗?

Throne 开发者在 GitHub 发布页面上发布 Throne:ZIP 文件、Windows 安装程序,以及 .deb 和 .rpm 软件包(.rpm 自 1.3.0 起提供)。Throne 仓库中的 Linux 安装脚本安装的是发布页面上的 ZIP。

WinGet、Scoop、AUR 和 Nix/NixOS 软件包由社区成员制作,开发者不为其提供支持(#1182、#1622)。如果问题只在这类软件包中出现,请测试官方版本,并将打包问题报告给软件包的维护者。

parhelia512.github.io 上的 RPM 软件源由 GitHub 上 throneproj 组织的成员 parhelia512 维护,Throne 的 README 中也有指向它的链接。它独立于发布文件。参见包管理器。

Windows 7、旧版 macOS 或旧处理器需要哪个版本?

  • Windows 7 SP1 和 Windows 8: 使用 windowslegacy64.zip(64 位)或 windows32.zip(32 位)。通用安装程序同样可用:在 32 位 Windows 以及早于 Windows 10 1809 的 64 位 Windows 上,它会自动安装 legacy 版本。普通的 windows64.zip 需要 Windows 10 1809 或更高版本。在 Windows 7 和 8 上,TUN 模式只能使用 gvisor 协议栈(#1291)。
  • macOS 10.15 至 12: 使用 macoslegacy-amd64.zip。普通的 macOS 版本需要 macOS 13 或更高版本。更旧的 macOS 版本不受支持。
  • Linux 上的旧处理器: 如果 Throne 无法启动并输出 This Qt build requires the following features: sse4.2 popcnt,请安装 system-qt 软件包(#845)。

下载页面的表格列出了每个文件的最低系统要求。