安装
在 Windows、macOS 或 Linux 上安装 Throne、保持更新,或从源码构建。
本页介绍如何在 Windows、macOS 和 Linux 上安装 Throne、如何更新,以及如何从源码构建。安装文件请从下载页面获取。Android 版请参阅安装与升级。
Windows
下载哪个文件
| 你的电脑 | 文件 |
|---|---|
| 任意 Windows 电脑(不确定时选这个) | Throne-<version>-windows-universal-installer.exe |
| Windows 10 1809 或更高版本,x64 | Throne-<version>-windows64.zip |
| ARM64 版 Windows | Throne-<version>-windows-arm64.zip |
| Windows 7 SP1 至 Windows 10 1803(x64),或不支持 SSE4.2 的处理器 | Throne-<version>-windowslegacy64.zip |
| 32 位(x86)Windows 7 SP1 或更高版本 | Throne-<version>-windows32.zip |
安装程序
通用安装程序是最简单的选择:
- 它会为你的用户账户将 Throne 安装到
%LOCALAPPDATA%\Throne。你不需要管理员权限。 - 它会为你的电脑选择合适的版本:x64、ARM64 或 32 位。在早于 Windows 10 1809 的 x64 Windows 上,它会安装 legacy 版本。
- 它会将 Throne 添加到开始菜单和桌面。
- 通过安装程序安装的 Throne 每次启动时都会注册
throne://链接,因此这些链接会在 Throne 中打开。参见深度链接。
Throne 将你的配置档和设置保存在安装文件夹内的 config 文件夹中。如果你曾用旧版安装程序(1.3.0 之前)安装 Throne,新安装程序会使用同一个文件夹,并保留你的数据。
安装程序也可以为所有用户安装 Throne,安装位置为 Program Files。这需要管理员权限。由于 Throne 无法写入 Program Files,它会改为将你的数据保存在 %LOCALAPPDATA%\Throne\config 中,并且无法使用一键更新。
要卸载 Throne,请在 Windows 的已安装应用列表中将其删除。卸载程序会询问是否同时删除你的配置档、设置和日志。它还会移除 throne:// 链接的注册。
便携版 ZIP
- 下载适合你系统的 ZIP(见上表)。
- 将其解压到你可以写入文件的文件夹,例如你的用户文件夹中的某个文件夹。
- 打开
Throne文件夹,运行Throne.exe。
请将该文件夹中的所有文件放在一起。Throne 会将你的数据保存在 Throne.exe 旁边的 config 文件夹中,因此你可以移动或备份整个文件夹。如果 Throne 无法写入自己的文件夹,它会改用 %LOCALAPPDATA%\Throne\config。
ZIP 版默认不注册 throne:// 链接。要开启此功能,请勾选 设置(Settings)→ 基本设置(Basic Settings)→ 通用(Common)→ 启动时注册 throne:// 链接(Register throne:// links at startup)。
macOS
| 你的 Mac | 文件 |
|---|---|
| Apple Silicon,macOS 13 或更高版本 | Throne-<version>-macos-arm64.zip |
| Intel,macOS 13 或更高版本 | Throne-<version>-macos-amd64.zip |
| Intel,macOS 10.15 至 12 | Throne-<version>-macoslegacy-amd64.zip |
-
下载 ZIP 并解压。其中包含一个
Throne文件夹,里面有Throne.app。 -
首次打开之前,将
Throne.app移动到/Applications。为了使用 TUN 模式,Throne 会通过“终端”(Terminal)为其核心授予 root 权限,而当应用位于~/Downloads中时,这一步可能会失败。 -
Throne 没有使用 Apple 证书签名,因此需要在终端中移除隔离标记。如果不执行这一步,macOS 会提示“Throne is damaged and can't be opened”(Throne 已损坏,无法打开)。
xattr -d com.apple.quarantine /Applications/Throne.app -
打开 Throne。
Throne 将你的数据保存在你的用户文件夹中,而不是 Throne.app 内部,因此替换应用不会丢失配置档。设置 → 打开配置文件夹(Open Config Folder)会显示该文件夹。TUN 模式需要管理员账户;参见 TUN 模式。
Linux
| 文件 | 用途 |
|---|---|
| 安装脚本(见下文) | 任意发行版。将 ZIP 版本安装到 /opt/Throne。 |
Throne-<version>-linux-amd64.zip、…-linux-arm64.zip |
放在你自选文件夹中的便携版 |
Throne-<version>-debian-amd64.deb、…-debian-arm64.deb |
Debian、Ubuntu、Linux Mint 及其他基于 Debian 的系统 |
Throne-<version>-fedora-amd64.rpm、…-fedora-arm64.rpm |
Fedora 及基于 RHEL 的系统(自 1.3.0 起) |
以 -system-qt.deb 或 -system-qt.rpm 结尾的文件 |
与上面相同的软件包,但使用系统自带的 Qt 库 |
Linux 版本需要 glibc 2.34 或更高版本。包含 Qt 的 ARM64 文件需要 glibc 2.38 或更高版本。
安装脚本
该脚本会下载适合你处理器的版本,将其安装到 /opt/Throne,并将 Throne 添加到应用程序菜单。它需要 Python 3 和 root 权限:
curl -fsSL https://raw.githubusercontent.com/throneproj/Throne/dev/script/install_linux.py | sudo python3
脚本会显示最新的稳定版和不稳定版;如果已经安装了 Throne,还会显示已安装的版本。选择 Install 或 Uninstall。选择 Install 时,还需要选择分支:Stable 或 Unstable。
再次运行同一条命令即可更新或卸载 Throne。卸载会移除 /opt/Throne 和菜单项,但会保留 ~/.config/Throne 中的设置。
便携版 ZIP
ZIP 中包含一个 Throne 文件夹。Throne 会将你的数据保存在其中的 config 文件夹里。
unzip Throne-x.x.x-linux-amd64.zip
cd Throne
./Throne
Debian 和 Ubuntu(.deb)
sudo apt install ./Throne-x.x.x-debian-amd64.deb
Fedora 和 RHEL(.rpm)
sudo dnf install ./Throne-x.x.x-fedora-amd64.rpm
这两种软件包都会将 Throne 安装到 /opt/Throne,并将其添加到应用程序菜单。之后 Throne 会将你的数据保存在 ~/.config/Throne 中。
使用系统 Qt 的软件包
Qt 是 Throne 窗口所使用的工具包。普通软件包自带一份 Qt。-system-qt 软件包则改用你的发行版提供的 Qt 6 库,由包管理器将其作为依赖安装。当普通软件包无法启动时(例如因为你的处理器太旧,参见故障排除),或者当你希望 Throne 使用桌面环境的 Qt 主题时,请使用 system-Qt 软件包。另请参阅常见问题。
包管理器
WinGet
winget install -e --id Throneproj.Throne
Scoop
scoop bucket add extras
scoop install extras/throne
Fedora、RHEL 和 openSUSE
parhelia512.github.io 上的 RPM 软件源由 GitHub 上 throneproj 组织的成员 parhelia512 维护,Throne 的 README 中也有指向它的链接。它独立于发布文件。自 1.3.0 起,每个版本的发布都附带官方 .rpm 文件。
Fedora 和 RHEL 9 或更高版本:
sudo curl -o /etc/yum.repos.d/throne.repo https://parhelia512.github.io/throne.repo
sudo dnf install -y throne --refresh
openSUSE 和 SLES:
sudo zypper addrepo -fc https://parhelia512.github.io/throne-sle.repo
sudo zypper install -y throne
对于 RHEL 8,请按照软件源页面上的步骤操作。
Arch Linux(AUR)
Throne 已收录在 Arch 用户软件仓库(AUR)中,包名为 throne。请使用 AUR 助手安装,例如 yay -S throne 或 paru -S throne。
NixOS
将以下内容添加到你的 NixOS 配置中:
programs.throne = {
enable = true;
tunMode.enable = true; # optional, needed for TUN mode
};
Nix
在 NixOS 上,频道通常名为 nixos:
nix-env -iA nixos.throne
在其他发行版上,频道通常名为 nixpkgs,因此请使用 nixpkgs.throne。如果想在不安装的情况下试用 Throne,请运行 nix-shell -p throne。
从源码构建
Throne 由两部分组成,需要分别构建:界面(Throne,使用 C++ 和 Qt 编写)和核心(ThroneCore,使用 Go 编写)。界面没有核心就无法连接,因此核心必须放在 Throne 可执行文件旁边。该仓库没有 Git 子模块,所以普通的 git clone 就足够了。
| 部分 | 要求 |
|---|---|
| 界面 | CMake 3.20 或更高版本、C++20 编译器、Qt 6.2 或更高版本(Widgets、Network、LinguistTools,在 Linux 上还需要 DBus),在 Linux 上还需要 X11 开发头文件 |
| 核心 | Go 1.26 或更高版本,以及 protoc、protoc-gen-go 和 protoc-gen-go-grpc。在 Linux 和 macOS 上需要 CGO:Linux 上需要 cronet-go 提供的 Chromium 工具链(NaïveProxy 出站需要它),macOS 上需要 Xcode 命令行工具。 |
以 x64 上的 Ubuntu 22.04 或更高版本为例:
-
安装构建工具和 Qt:
sudo apt update sudo apt install build-essential cmake ninja-build git curl protobuf-compiler libx11-dev \ qt6-base-dev qt6-tools-dev qt6-tools-dev-tools qt6-l10n-tools libqt6svg6-dev \ qt6-translations-l10n libglx-dev libgl1-mesa-dev -
从 go.dev/dl 安装 Go 1.26 或更高版本。大多数发行版自带的 Go 软件包版本较旧。
-
构建界面。构建需要
build文件夹中有srslist.h,即规则集名称列表:git clone https://github.com/throneproj/Throne.git ~/Throne cd ~/Throne mkdir build cd build curl -fLso srslist.h https://raw.githubusercontent.com/throneproj/routeprofiles/rule-set/srslist.h cmake -GNinja -DCMAKE_BUILD_TYPE=Release .. ninja -
安装与官方构建所用版本相同的 protobuf 插件,并将 Go 的
bin文件夹添加到PATH:go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.36.12 go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.6.2 export PATH="$PATH:$(go env GOPATH)/bin" -
下载 Chromium 工具链。将
<commit>替换为.github/workflows/build.yml中Clone cronet-go步骤所检出的 cronet-go 提交:git clone https://github.com/throneproj/cronet-go.git ~/cronet-go cd ~/cronet-go git checkout <commit> git submodule update --init --recursive --depth=1 go run ./cmd/build-naive --target=linux/amd64 download-toolchain eval "$(go run ./cmd/build-naive --target=linux/amd64 env --export)"最后一条命令只会为当前终端设置
CC、CXX和CGO_LDFLAGS。请在同一个终端中执行下一步。 -
构建核心,并将其复制到界面旁边。
build_go.sh会在构建前删除DEST文件夹,因此请为它指定一个单独的文件夹:cd ~/Throne GOOS=linux GOARCH=amd64 DEST="$PWD/deployment/linux-amd64" ./script/build_go.sh cp deployment/linux-amd64/ThroneCore build/ -
使用
./build/Throne启动 Throne。
在 ARM64 上,请使用 --target=linux/arm64 和 GOARCH=arm64。
- macOS: 在
cmake命令中添加-DNKR_PACKAGE_MACOS=1,这样会构建出Throne.app。使用GOOS=darwin构建核心,并将ThroneCore复制到Throne.app/Contents/MacOS/中。 - Windows: 官方构建使用 MSVC 和 Ninja 编译界面,并在 Linux 上以
GOOS=windows交叉编译核心(脚本会为 Windows 关闭 CGO)。将DEST文件夹中的ThroneCore.exe和libcronet.dll复制到Throne.exe旁边。
官方构建的具体步骤见 Throne 仓库中的 .github/workflows/build.yml。
更新
ZIP 版以及 Windows 安装程序默认的按用户安装可以自行更新:点击 工具(Tools)→ 检查更新(Check For Update),然后点击 更新(Update)。其他安装方式请按原来的安装方式更新:运行新的安装程序、安装新的 .deb 或 .rpm 软件包、再次运行安装脚本、在 macOS 上替换 Throne.app,或使用你的包管理器。你的配置档和设置会保留。
有关详细信息、Beta 版和备份,请参阅备份、更新与迁移。在 Linux 或 macOS 上更新后,Throne 可能会再次请求 TUN 模式所需的权限。
故障排除
- 杀毒软件报警。 一些杀毒软件会标记 Throne 或
ThroneCore,主要是因为更新程序会下载并替换程序文件。参见常见问题。 - Throne 无法启动,并提示“Incompatible processor. This Qt build requires the following features: sse4.2 popcnt”(处理器不兼容,此 Qt 版本需要 sse4.2 和 popcnt 指令)。 你的处理器对于自带的 Qt 来说太旧了。在 Windows 上,请使用
windowslegacy64.zip。在 Linux 上,请使用-system-qt软件包。另请参阅常见问题。 - Linux:Throne 提示无法加载 Qt 平台插件“xcb”。 安装
libxcb-cursor0(Debian、Ubuntu)或xcb-util-cursor(Fedora、RHEL),或者使用-system-qt软件包。 - Linux(GNOME):没有托盘图标。 为 GNOME 安装 AppIndicator 扩展。
- macOS:“Throne is damaged and can't be opened”(Throne 已损坏,无法打开)。 隔离标记仍然存在。请运行 macOS 步骤中的
xattr命令。
安装后遇到的问题,请参阅故障排除。