گزارش باگ
پیش از گزارش باگ چه چیزهایی را بررسی کنید، گزارشهای برنامه و دادههای تشخیصی را چگونه جمعآوری کنید و چه چیزهایی را در issue بنویسید.
یک گزارش باگ خوب به توسعهدهندگان کمک میکند علت را سریع پیدا کنند. این صفحه توضیح میدهد ابتدا چه چیزهایی را بررسی کنید، گزارشهای برنامه را چگونه جمعآوری کنید و در issue چه بنویسید.
باگها را اینجا گزارش دهید:
- Throne دسکتاپ: github.com/throneproj/Throne/issues
- Throne برای Android: github.com/throneproj/ThroneForAndroid/issues
برای پرسش دربارهٔ نحوهٔ استفاده از Throne دسکتاپ، بهجای issue از دستهٔ Q&A در GitHub Discussions استفاده کنید.
پیش از گزارش
- با
Tools→Check For Updateیا از صفحهٔ دانلود به آخرین نسخه بهروزرسانی کنید. بسیاری از باگها پیشتر برطرف شدهاند. - issueهای موجود، چه باز و چه بسته، را برای پیام خطای خود جستوجو کنید.
- پرسشهای متداول و عیبیابی را بخوانید.
- یک پیکربندی تازه را امتحان کنید: از Throne خارج شوید، نام پوشهٔ
configرا تغییر دهید، Throne را اجرا کنید و فقط چیزهایی را تنظیم کنید که برای نشان دادن مشکل لازم است. در گزارش بنویسید که آیا مشکل در آنجا هم رخ میدهد یا نه. برای برگشتن، از Throne خارج شوید، پوشهٔconfigجدید را حذف کنید و نام پوشهٔ قدیمی را به حالت قبل برگردانید. - اگر Throne را از WinGet، Scoop، AUR یا Nix نصب کردهاید، بیلد رسمی را هم امتحان کنید. توسعهدهندگان از این بستهها پشتیبانی نمیکنند.
- اگر فقط یک سرور کار نمیکند، آن را در برنامهٔ دیگری امتحان کنید. اگر آنجا هم کار نکرد، با ارائهدهندهٔ خود تماس بگیرید.
جمعآوری گزارشها
دسکتاپ
Throne گزارشهای خود را در زبانهٔ گزارشها (Logs) در پایین پنجرهٔ اصلی نشان میدهد و همان خطوط را در فایل logs/throne.log در پوشهٔ پیکربندی مینویسد؛ این پوشه با تنظیمات (Settings) ← پوشه Config باز شود (Open Config Folder) باز میشود.
برای ثبت یک گزارش مفصل:
تنظیمات(Settings) ←تنظیمات پایه(Basic Settings) ←Loggingرا باز کنید.Sing-box Log levelرا رویdebugبگذارید. برایVLESS (Xray)و دیگر نمایههای Xray،Xray Log levelرا هم رویdebugبگذارید.- مقدار
حداکثر خطوط فایل لاگ(Max log lines) را بیشتر کنید، برای مثال به2000. Throne خطوط گزارش هسته را که از این تعداد در ثانیه بیشتر باشند دور میریزد، و زبانهٔگزارشهافقط همین تعداد خط را نگه میدارد. - روی
تایید(OK) کلیک کنید، سپس Throne را بابرنامه(Program) ←اجرا دوباره برنامه(Restart Program) دوباره راهاندازی کنید. - مشکل را دوباره ایجاد کنید.
- فایل
logs/throne.logرا به issue پیوست کنید. همچنین میتوانید در زبانهٔگزارشهاکلیک کنید،Ctrl+Aو سپسCtrl+Cرا فشار دهید و متن را جایگذاری کنید. - وقتی کارتان تمام شد، سطح گزارش sing-box را به
infoو سطح گزارش Xray را بهwarningبرگردانید.
خوب است بدانید:
throne.logهر بار که Throne اجرا میشود از نو شروع میشود، بنابراین پیش از راهاندازی دوبارهٔ Throne از آن کپی بگیرید. وقتی حجم آن از 4 MB بیشتر شود، بخشهای قدیمیتر بهصورتthrone.log.1تاthrone.log.3نگه داشته میشوند.- خطوط اول
throne.logنسخهٔ Throne، نسخهٔ Qt، سیستمعامل و معماری CPU شما را نشان میدهند. - پس از یک کرش، اجرای بعدی گزارش جلسهای را که کرش کرده بهصورت
logs/crashed-<date>-<time>.logنگه میدارد و پیام «Throne did not shut down cleanly last time» (Throne دفعهٔ قبل بهدرستی بسته نشد) را در گزارش مینویسد. پنج گزارش کرش آخر نگه داشته میشوند. - Windows: وقتی Throne کرش میکند، پیام «Throne crashed» (Throne از کار افتاد) را نشان میدهد و گزارشی در پوشهٔ
crashesذخیره میکند: یک فایل.txtو یک فایل.dmpبا نامThrone_<version>_<architecture>_<date>-<time>. فایل.txtرا پیوست کنید و اگر میتوانید، فایل.dmpرا هم.
Android
- منوی کناری را باز کنید و روی
آمار و اطلاعات(Logs) بزنید. Hide sensitive dataرا روشن نگه دارید. این گزینه بهطور پیشفرض روشن است و نشانیها (URL)، اطلاعات ورود، UUIDها، کلیدها، نشانیهای IP عمومی و نام شبکههای Wi-Fi را پنهان میکند. برای اینکه دامنههایی که بازدید کردهاید هم پنهان شوند،Hide destinationsرا روشن کنید.- روی
Share logsیاSave logs…بزنید و فایل را به issue پیوست کنید.
پس از کرش، برنامه یک گزارش پاکسازیشده پیشنهاد میکند. عیبیابی Android را ببینید.
دادههای تشخیصی
برای قفل شدن برنامه، هنگ کردن و مصرف بالای CPU، توسعهدهندگان ممکن است یک فایل Diagnostics از شما بخواهند. این فایل کارهایی را که هسته در طول 30 ثانیه انجام میدهد ثبت میکند.
- Throne را به وضعیتی برسانید که مشکل در آن رخ میدهد؛ برای مثال نمایه را اجرا کنید و صبر کنید تا هنگ کند. Throne را دوباره راهاندازی نکنید.
تنظیمات(Settings) ←تنظیمات پایه(Basic Settings) ←Diagnosticsرا باز کنید.- گزینههایی را که توسعهدهنده خواسته است تیک بزنید:
Lock contention،Execution trace (larger file)یاInclude Throne logs. - روی
Startکلیک کنید و 30 ثانیه صبر کنید. - روی
Show in folderکلیک کنید و فایلthrone-profile-<date>-<time>.zipرا پیوست کنید. Throne این فایلها را در پوشهٔdiagnosticsدر کنار پوشهٔconfigذخیره میکند، نه داخل آن؛ پوشهٔ دادهها را ببینید.
Start فقط وقتی هسته در حال اجراست کار میکند. این ضبط هیچ اطلاعاتی دربارهٔ پیکربندیهای شما ندارد، اما نسخهٔ Throne، سیستمعامل و چند تنظیم را فهرست میکند، مانند اینکه حالت TUN روشن است یا نه و نوع نمایهٔ در حال اجرا چیست. Include Throne logs گزارشهای شما را هم اضافه میکند که شامل دامنههای بازدیدشده و نشانی سرورها هستند.
چه چیزهایی را بنویسید
از الگوی issue استفاده کنید و همهٔ فیلدها را پر کنید:
| مورد | کجا پیدا کنید |
|---|---|
| نسخهٔ Throne | دسکتاپ: عنوان پنجره، برای مثال Throne 1.3.1، یا خطوط اول throne.log. Android: درباره برنامه (About). |
| سیستمعامل و نسخهٔ آن | برای مثال Windows 11 24H2، Ubuntu 24.04، macOS 15 یا Android 14. |
| نوع نصب | ZIP، نصبکنندهٔ Windows، .deb، .rpm، اسکریپت نصب Linux، یا یک مدیر بسته (WinGet، Scoop، AUR، Nix، مخزن RPM). |
| حالت | حالتvpn (Tun Mode)، پروکسی سیستمی (System Proxy) یا هر دو. برای حالت TUN، مقدار Stack در تنظیمات vpn (Tun Settings) را هم بنویسید. |
| نوع نمایه | ستون نوع (Type) در فهرست نمایهها، برای مثال VLESS (Xray). نه خود لینک. |
| مراحل بازتولید | مراحل شمارهگذاریشدهای که مشکل را از ابتدا نشان میدهند. |
| نتیجهٔ مورد انتظار و نتیجهٔ واقعی | چه انتظاری داشتید و بهجای آن چه اتفاقی افتاد. پیامهای خطا را بهصورت متن کپی کنید. |
| گزارشها | یک گزارش debug، فایلهای کرش یا یک فایل Diagnostics، همانطور که در بالا توضیح داده شد. |
برای مشکلات مسیریابی، الگوی Routing Issue را انتخاب کنید. این الگو نمایهٔ مسیریابی شما را میخواهد: تنظیمات (Settings) ← تنظیمات مسیریابی (Routing Settings) ← مسیر (Route) را باز کنید، نمایه را انتخاب کنید و روی استخراج (Export) کلیک کنید. با این کار یک لینک throne://route/… کپی میشود. پیش از انتشار، آن را از نظر دامنهها یا نشانیهای خصوصی بررسی کنید.
اگر توسعهدهندهای پیکربندی شما را خواست، روی نمایه راستکلیک کنید ← اشتراک گذاری (Share) ← Export Sing-box config. پیش از انتشار، گذرواژهها، UUIDها، کلیدها و نشانی سرورها را با xxxx جایگزین کنید.