نصب
Throne را روی Windows، macOS یا Linux نصب کنید، آن را بهروز نگه دارید یا از سورس بسازید.
این صفحه توضیح میدهد که چگونه Throne را روی Windows، macOS و Linux نصب کنید، چگونه آن را بهروزرسانی کنید و چگونه آن را از سورس بسازید. فایلها را از صفحهٔ دانلود دریافت کنید. برای Android، نصب و ارتقا را ببینید.
Windows
کدام فایل را دانلود کنم
| رایانهٔ شما | فایل |
|---|---|
| هر رایانهٔ Windows، اگر مطمئن نیستید | Throne-<version>-windows-universal-installer.exe |
| Windows 10 1809 یا جدیدتر، x64 | Throne-<version>-windows64.zip |
| Windows روی ARM64 | Throne-<version>-windows-arm64.zip |
| Windows 7 SP1 تا Windows 10 1803 (x64)، یا پردازندهای بدون SSE4.2 | Throne-<version>-windowslegacy64.zip |
| Windows 7 SP1 یا جدیدتر، 32 بیتی (x86) | Throne-<version>-windows32.zip |
نصبکننده
نصبکنندهٔ universal سادهترین گزینه است:
- Throne را برای حساب کاربری شما در
%LOCALAPPDATA%\Throneنصب میکند. به دسترسی مدیر (administrator) نیازی ندارید. - بیلد مناسب رایانهٔ شما را انتخاب میکند: x64، ARM64 یا 32 بیتی. روی Windows x64 قدیمیتر از Windows 10 1809، بیلد legacy را نصب میکند.
- Throne را به منوی Start و به دسکتاپ اضافه میکند.
- Throne نصبشده در هر بار اجرا لینکهای
throne://را ثبت میکند تا این لینکها در Throne باز شوند. لینکهای عمیق را ببینید.
Throne نمایهها و تنظیمات شما را در پوشهٔ config داخل پوشهٔ نصب نگه میدارد. اگر Throne را با نصبکنندهٔ قدیمی (پیش از 1.3.0) نصب کرده بودید، نصبکنندهٔ جدید از همان پوشه استفاده میکند و دادههای شما را نگه میدارد.
برنامهٔ نصب میتواند Throne را برای همهٔ کاربران هم در Program Files نصب کند. این کار به دسترسی مدیر نیاز دارد. Throne نمیتواند در Program Files بنویسد، بنابراین دادههای شما را بهجای آن در %LOCALAPPDATA%\Throne\config نگه میدارد و بهروزرسانی با یک کلیک در دسترس نیست.
برای حذف Throne، آن را از فهرست برنامههای نصبشده در Windows حذف کنید. برنامهٔ حذف میپرسد که آیا نمایهها، تنظیمات و گزارشهای شما هم پاک شوند یا نه. این برنامه ثبت لینکهای throne:// را هم حذف میکند.
ZIP قابل حمل
- فایل ZIP مناسب سیستم خود را دانلود کنید (جدول بالا را ببینید).
- آن را در پوشهای استخراج کنید که بتوانید در آن فایل بنویسید، برای مثال پوشهای در پوشهٔ کاربریتان.
- پوشهٔ
Throneرا باز کنید وThrone.exeرا اجرا کنید.
همهٔ فایلهای این پوشه را کنار هم نگه دارید. Throne دادههای شما را در پوشهٔ config در کنار Throne.exe ذخیره میکند، بنابراین میتوانید کل پوشه را جابهجا کنید یا از آن پشتیبان بگیرید. اگر Throne نتواند در پوشهٔ خودش بنویسد، بهجای آن از %LOCALAPPDATA%\Throne\config استفاده میکند.
نسخههای ZIP بهطور پیشفرض لینکهای throne:// را ثبت نمیکنند. برای روشن کردن این قابلیت، گزینهٔ تنظیمات (Settings) ← تنظیمات پایه (Basic Settings) ← متداول (Common) ← 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 امضا نشده است، بنابراین پرچم قرنطینه (quarantine) را در Terminal حذف کنید. بدون این مرحله، macOS میگوید Throne «is damaged and can't be opened» (آسیب دیده است و باز نمیشود).
xattr -d com.apple.quarantine /Applications/Throne.app -
Throne را باز کنید.
Throne دادههای شما را در پوشهٔ کاربریتان نگه میدارد، نه داخل Throne.app، بنابراین میتوانید برنامه را بدون از دست دادن نمایههایتان جایگزین کنید. تنظیمات (Settings) ← پوشه Config باز شود (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 یا جدیدتر نیاز دارند. فایلهای ARM64 که Qt را همراه دارند به glibc 2.38 یا جدیدتر نیاز دارند.
اسکریپت نصب
این اسکریپت بیلد مناسب پردازندهٔ شما را دانلود میکند، آن را در /opt/Throne نصب میکند و Throne را به منوی برنامهها اضافه میکند. به Python 3 و دسترسی root نیاز دارد:
curl -fsSL https://raw.githubusercontent.com/throneproj/Throne/dev/script/install_linux.py | sudo python3
اسکریپت آخرین نسخههای پایدار و ناپایدار را نشان میدهد، و اگر نسخهای نصب شده باشد، نسخهٔ نصبشده را هم. 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 نگه میدارد.
بستههای System 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
مخزن RPM در parhelia512.github.io را parhelia512، یکی از اعضای سازمان throneproj در GitHub، اداره میکند و README پروژهٔ Throne به آن لینک داده است. این مخزن از فایلهای منتشرشده جداست. فایلهای رسمی .rpm از نسخهٔ 1.3.0 به هر نسخهٔ منتشرشده پیوست میشوند.
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 با نام throne در Arch User Repository موجود است. آن را با یک AUR helper نصب کنید، برای مثال 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 submodule ندارد، بنابراین یک git clone معمولی کافی است.
| بخش | پیشنیازها |
|---|---|
| رابط کاربری | CMake 3.20 یا جدیدتر، یک کامپایلر C++20، Qt 6.2 یا جدیدتر (Widgets، Network، LinguistTools و در Linux، DBus)، هدرهای توسعهٔ X11 در Linux |
| هسته | Go 1.26 یا جدیدتر، protoc، protoc-gen-go و protoc-gen-go-grpc. CGO در Linux و macOS: در Linux زنجیرهٔ ابزار Chromium از cronet-go (خروجی NaïveProxy به آن نیاز دارد) و در macOS ابزارهای خط فرمان Xcode. |
نمونه برای Ubuntu 22.04 یا جدیدتر روی x64:
-
ابزارهای ساخت و 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 1.26 یا جدیدتر را از go.dev/dl نصب کنید. بستههای Go در بیشتر توزیعها قدیمیترند.
-
رابط کاربری را بسازید. فرایند ساخت به
srslist.h، یعنی فهرست نامهای مجموعهقوانین، در پوشهٔbuildنیاز دارد: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 را با همان نسخههایی که بیلدهای رسمی به کار میبرند نصب کنید و پوشهٔ
binمربوط به Go را به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>را با همان commit از cronet-go جایگزین کنید که مرحلهٔClone cronet-goدر.github/workflows/build.ymlآن را checkout میکند: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/ -
Throne را با
./build/Throneاجرا کنید.
روی ARM64، از --target=linux/arm64 و GOARCH=arm64 استفاده کنید.
- macOS: گزینهٔ
-DNKR_PACKAGE_MACOS=1را به دستورcmakeاضافه کنید؛ با این کارThrone.appساخته میشود. هسته را باGOOS=darwinبسازید وThroneCoreرا درThrone.app/Contents/MacOS/کپی کنید. - Windows: بیلدهای رسمی رابط کاربری را با MSVC و Ninja کامپایل میکنند و هسته را با
GOOS=windowsروی Linux کراسکامپایل میکنند (اسکریپت برای Windows، CGO را خاموش میکند).ThroneCore.exeوlibcronet.dllرا از پوشهٔDESTدر کنارThrone.exeکپی کنید.
مراحل دقیق بیلدهای رسمی در .github/workflows/build.yml در مخزن Throne آمده است.
بهروزرسانی
نسخههای ZIP و نصب پیشفرضِ مخصوص کاربر با نصبکنندهٔ Windows میتوانند خودشان را بهروزرسانی کنند: روی Tools → Check For Update و سپس بروزرسانی (Update) کلیک کنید. بقیهٔ نسخهها را به همان روشی بهروزرسانی کنید که نصب کردهاید: نصبکنندهٔ جدید را اجرا کنید، بستهٔ .deb یا .rpm جدید را نصب کنید، اسکریپت نصب را دوباره اجرا کنید، در macOS Throne.app را جایگزین کنید، یا از مدیر بستهٔ خود استفاده کنید. نمایهها و تنظیمات شما باقی میمانند.
برای جزئیات، نسخههای بتا و پشتیبانگیری، پشتیبانگیری، بهروزرسانی و مهاجرت را ببینید. پس از بهروزرسانی در Linux یا macOS، Throne ممکن است دسترسیهایی را که برای حالت TUN لازم دارد دوباره درخواست کند.
عیبیابی
- هشدار آنتیویروس. برخی آنتیویروسها Throne یا
ThroneCoreرا خطرناک تشخیص میدهند، بیشتر به این دلیل که بهروزرسان فایلهای برنامه را دانلود و جایگزین میکند. پرسشهای متداول را ببینید. - Throne اجرا نمیشود و پیام «Incompatible processor. This Qt build requires the following features: 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: آیکون سینی سیستم دیده نمیشود. افزونهٔ AppIndicator را برای GNOME نصب کنید.
- macOS: «Throne is damaged and can't be opened» (Throne آسیب دیده است و باز نمیشود). پرچم قرنطینه هنوز فعال است. دستور
xattrرا از مراحل macOS اجرا کنید.
برای مشکلات پس از نصب، عیبیابی را ببینید.