گزارش باگ

پیش از گزارش باگ چه چیزهایی را بررسی کنید، گزارش‌ها و داده‌های تشخیصی را چگونه جمع‌آوری کنید و چه چیزهایی را در issue بنویسید.

باگ‌ها را در GitHub گزارش دهید:

برای پرسش دربارهٔ نحوهٔ استفاده از Throne دسکتاپ، به‌جای issue از دستهٔ Q&A در GitHub Discussions استفاده کنید.

پیش از گزارش

  1. Throne را با برنامه (Program) ← بررسی به‌روزرسانی (Check For Update) یا از صفحهٔ دانلود به‌روزرسانی کنید.
  2. issueهای باز و بسته را برای پیام خطای خود جست‌وجو کنید و پرسش‌های متداول و عیب‌یابی را بخوانید.
  3. با یک پیکربندی تازه که فقط چیزهای لازم برای نشان دادن مشکل را دارد تست کنید، و در گزارش بنویسید که آیا مشکل در آنجا هم رخ می‌دهد یا نه.
  4. اگر از بستهٔ WinGet، Scoop، AUR یا Nix استفاده می‌کنید، بیلد رسمی را هم امتحان کنید؛ توسعه‌دهندگان از این بسته‌ها پشتیبانی نمی‌کنند.
  5. اگر فقط یک سرور کار نمی‌کند، آن را در برنامهٔ دیگری امتحان کنید. اگر آنجا هم کار نکرد، با ارائه‌دهندهٔ خود تماس بگیرید.

جمع‌آوری گزارش‌ها

دسکتاپ

زبانهٔ گزارش‌ها (Logs) در پایین پنجرهٔ اصلی گزارش‌ها را نشان می‌دهد و Throne همان خطوط را در فایل logs/throne.log در پوشهٔ پیکربندی می‌نویسد (تنظیمات (Settings) ← پوشه Config باز شود (Open Config Folder)). این فایل هر بار که Throne اجرا می‌شود از نو شروع می‌شود، بنابراین پیش از راه‌اندازی دوباره از آن کپی بگیرید.

برای ثبت یک گزارش مفصل:

  1. در تنظیمات (Settings) ← تنظیمات پایه (Basic Settings) ← Logging (فقط در حالت پیشرفته؛ حالت ساده و پیشرفته را ببینید)، Sing-box Log level را روی debug بگذارید و برای نمایه‌های Xray، Xray Log level را هم.
  2. مقدار حداکثر خطوط فایل لاگ (Max log lines) را بیشتر کنید، برای مثال به 2000، تا Throne خطوط گزارش را دور نریزد.
  3. روی تایید (OK) کلیک کنید و Throne را با برنامه (Program) ← اجرا دوباره برنامه (Restart Program) دوباره راه‌اندازی کنید.
  4. مشکل را دوباره ایجاد کنید و فایل logs/throne.log را پیوست کنید. اگر به‌جای آن متن را از زبانهٔ گزارش‌ها کپی می‌کنید، ابتدا نوار فیلتر آن را ببندید.
  5. سطح گزارش‌ها را به info (sing-box) و warning (Xray) برگردانید.

پس از یک کرش، فایل logs/crashed-<date>-<time>.log را پیوست کنید و در Windows، فایل‌های .txt و .dmp را از پوشهٔ crashes.

Android

منوی کناری را باز کنید و روی آمار و اطلاعات (Logs) بزنید. پنهان‌کردن داده‌های حساس (Hide sensitive data) را روشن نگه دارید (پیش‌فرض)، سپس روی اشتراک‌گذاری گزارش‌ها (Share logs) یا ذخیره گزارش‌ها… (Save logs…) بزنید. برای یک گزارش مفصل، ابتدا تنظیمات (Settings) ← هسته (Core) ← سطح ثبت آمار (Log level) را روی debug بگذارید (و برای نمایه‌های Xray، سطح گزارش Xray (Xray log level) را هم). عیب‌یابی Android را ببینید.

داده‌های تشخیصی

برای قفل شدن برنامه، هنگ کردن و مصرف بالای CPU، توسعه‌دهندگان ممکن است یک فایل Diagnostics از شما بخواهند که کارهای هسته را در طول 30 ثانیه ثبت می‌کند.

  1. Throne را به وضعیتی برسانید که مشکل در آن رخ می‌دهد، برای مثال صبر کنید تا هنگ کند. Throne را دوباره راه‌اندازی نکنید.
  2. در تنظیمات (Settings) ← تنظیمات پایه (Basic Settings) ← Diagnostics، گزینه‌هایی را که توسعه‌دهنده خواسته است تیک بزنید: Lock contention، Execution trace (larger file) یا Include Throne logs.
  3. روی Start کلیک کنید و 30 ثانیه صبر کنید. Start فقط وقتی هسته در حال اجراست کار می‌کند.
  4. روی Show in folder کلیک کنید و فایل throne-profile-<date>-<time>.zip را پیوست کنید.

این فایل نسخهٔ Throne، سیستم‌عامل و چند تنظیم را فهرست می‌کند، اما هیچ‌یک از پیکربندی‌های شما را ندارد. Include Throne logs گزارش‌های شما را هم اضافه می‌کند که شامل دامنه‌های بازدیدشده و نشانی سرورها هستند. در Android، از تنظیمات ← عیب‌یابی (Diagnostics) استفاده کنید؛ داده‌های تشخیصی را ببینید.

چه چیزهایی را بنویسید

از الگوی issue استفاده کنید و همهٔ فیلدها را پر کنید:

مورد کجا پیدا کنید
نسخهٔ Throne برنامه (Program) ← درباره (About) که می‌توانید نسخهٔ همهٔ اجزا را از آن کپی کنید. در Android: درباره برنامه (About).
نوع نصب ZIP، نصب‌کنندهٔ Windows، .deb، .rpm، اسکریپت نصب، مخزن یا مدیر بسته، و اینکه از Throne بدون رابط گرافیکی استفاده می‌کنید یا نه.
حالت حالتvpn (Tun Mode)، پروکسی سیستمی (System Proxy) یا هر دو، و اینکه کیل‌سوییچ روشن است یا نه.
نوع نمایه ستون نوع (Type)، برای مثال VLESS (Xray). نه خود لینک.

برای مشکلات مسیریابی، از الگوی Routing Issue استفاده کنید و نمایهٔ مسیریابی خود را اضافه کنید: در تنظیمات (Settings) ← تنظیمات مسیریابی (Routing Settings) ← مسیر (Route)، نمایه را انتخاب کنید و روی استخراج (Export) کلیک کنید تا یک لینک throne://route/… کپی شود. پیش از انتشار، آن را از نظر دامنه‌ها و نشانی‌های خصوصی بررسی کنید.

اگر توسعه‌دهنده‌ای پیکربندی شما را خواست، روی نمایه راست‌کلیک کنید ← اشتراک گذاری (Share) ← استخراج پیکربندی (Export config) (فقط در حالت پیشرفته) و محتوای زبانهٔ sing-box، یا اگر خواسته شد زبانهٔ Xray، را کپی کنید. پیش از انتشار، گذرواژه‌ها، UUIDها، کلیدها و نشانی سرورها را با xxxx جایگزین کنید.

برای Throne بدون رابط گرافیکی، آنچه باید در گزارش باگ بیاورید را هم ببینید.