لینک‌های عمیق

با لینک‌های عمیق throne:// تنها با یک کلیک، اشتراک اضافه و پروفایل مسیریابی را وارد کنید.

Throne یک اسکیم URL سفارشی به نام throne:// را در سیستم‌عامل شما ثبت می‌کند. یک لینک عمیق (Deep Link) در واقع یک نشانی throne:// است که به یک نمونهٔ در حال اجرا (یا هنوز اجرانشده) از Throne می‌گوید عملی را انجام دهد — مانند افزودن یک اشتراک یا وارد کردن یک پروفایل مسیریابی — بدون اینکه کاربر مجبور باشد مقادیر را دستی در پنجره‌ها وارد کند.

این قابلیت برای وب‌سایت ارائه‌دهندگان، صفحات پشتیبانی، کدهای QR، اسکریپت‌ها یا صرفاً به‌اشتراک‌گذاری یک پروفایل مسیریابی با دوستان بسیار کاربردی است.

هر لینک عمیق پیش از ذخیرهٔ هر چیزی از شما تأیید می‌گیرد. Throne دقیقاً آنچه را که اضافه خواهد شد به شما نشان می‌دهد و منتظر تأیید شما می‌ماند؛ بنابراین باز کردن یک لینک هرگز نمی‌تواند به‌صورت پنهانی پیکربندی شما را تغییر دهد.

Throne چگونه یک لینک عمیق را دریافت می‌کند

اسکیم throne:// به‌طور خودکار در نخستین اجرای Throne، روی ویندوز، لینوکس و مک‌اواس ثبت می‌شود. از آنجا که Throne به‌صورت یک آرشیو قابل حمل و بدون نصب‌کننده عرضه می‌شود، این ثبت در هنگام راه‌اندازی انجام می‌شود، به دسترسی مدیر نیازی ندارد و اگر پوشهٔ برنامه را جابه‌جا یا به‌روزرسانی کنید، به‌صورت خودکار خود را ترمیم می‌کند.

پس از ثبت، Throne یک لینک عمیق را از هر یک از این منابع می‌پذیرد:

  • کلیک روی یک لینک throne:// در مرورگر، برنامهٔ گفت‌وگو یا یک سند — سیستم‌عامل آن را به Throne می‌سپارد.
  • جای‌گذاری (Paste) لینک روی پنجرهٔ اصلی با Ctrl+V.
  • کشیدن و رها کردن (Drag & Drop) متن لینک روی پنجرهٔ اصلی.
  • سرور (Server) → افزودن پروفایل از کلیپ‌بورد (Add profile from clipboard) که لینک را از کلیپ‌بورد شما می‌خواند.
  • ارسال آن به‌عنوان آرگومان اجرا در خط فرمان (ویندوز/لینوکس).

اگر Throne از پیش باز باشد، لینک به پنجرهٔ موجود سپرده می‌شود و نمونهٔ دومی اجرا نمی‌شود.

مرجع دستورها

یک لینک عمیق ساختار زیر را دارد:

throne://<command>/?<parameters>

دستور به حروف بزرگ و کوچک حساس نیست (throne://AddSub و throne://addsub یکسان‌اند) و اسلش پایانی پیش از ? اختیاری است. Throne در حال حاضر از دو دستور پشتیبانی می‌کند.

دستورکاربرد
addsubافزودن یک گروه اشتراک و به‌روزرسانی فوری آن
routeوارد کردن یک پروفایل مسیریابی

یک دستور ناشناخته نادیده گرفته می‌شود و در لاگ ثبت می‌گردد.

addsub — افزودن اشتراک

یک گروه اشتراک جدید اضافه می‌کند و بی‌درنگ آن را به‌روزرسانی می‌کند.

throne://addsub/?url=<subscription_url>&name=<group_name>&autoupdate=<value>
پارامترالزامیتوضیحات
urlبلهنشانی اشتراک. باید percent-encoded (کدگذاری‌شده با درصد) باشد (به یادداشت پایین نگاه کنید). اگر حذف شود، Throne یک هشدار نشان می‌دهد و کاری انجام نمی‌دهد.
nameخیرنام گروه جدید. در صورت حذف، به‌صورت پیش‌فرض نام میزبان (host) نشانی اشتراک خواهد بود.
autoupdateخیراینکه گروه به‌طور خودکار به‌روزرسانی شود یا نه. مقادیر 1، true، on یا yes (بدون حساسیت به حروف) آن را فعال می‌کند. در صورت نبودِ این پارامتر، پیش‌فرض فعال است. هر مقدار دیگری آن را غیرفعال می‌کند.

مثال

throne://addsub/?url=https%3A%2F%2Fexample.com%2Fsub%2Fabc123&name=My%20Provider&autoupdate=yes

این لینک گروهی با نام My Provider برای https://example.com/sub/abc123 با به‌روزرسانی خودکارِ روشن اضافه می‌کند. Throne از شما تأیید می‌خواهد:

این اشتراک اضافه شود؟ نام: My Provider آدرس (URL): https://example.com/sub/abc123 به‌روزرسانی خودکار: روشن

پس از تأیید، گروه ساخته می‌شود و اشتراک بی‌درنگ دریافت می‌گردد.

همیشه مقدار url را percent-encode کنید. یک نشانی اشتراک شامل نویسه‌هایی مانند :، /، ? و & است که در غیر این صورت بخشی از لینک عمیق تلقی می‌شوند. برای مثال، https://example.com/sub?id=1 به https%3A%2F%2Fexample.com%2Fsub%3Fid%3D1 تبدیل می‌شود. همین موضوع برای فاصله‌ها و نویسه‌های ویژه در name نیز صدق می‌کند (یک فاصله به %20 تبدیل می‌شود).

route — وارد کردن پروفایل مسیریابی

یک پروفایل مسیریابی کامل (خروجی پیش‌فرض به‌همراه قوانین) را که درون لینک قرار دارد وارد می‌کند.

throne://route?data=<base64>
پارامترالزامیتوضیحات
dataبلهپروفایل مسیریابی که با Base64 کدگذاری شده است. Base64 سازگار با URL (با یا بدون padding) پیشنهاد می‌شود؛ Base64 استاندارد نیز پذیرفته می‌شود.

چگونه یک لینک route بسازیم

معمولاً این لینک‌ها را دستی نمی‌سازید — Throne آن‌ها را برای شما تولید می‌کند:

  1. به مسیرها (Routes) → تنظیمات مسیریابی (Routing Settings) بروید.
  2. پروفایل مسیریابی‌ای را که می‌خواهید به اشتراک بگذارید انتخاب کنید.
  3. Ctrl+C را فشار دهید (یا از گزینهٔ خروجی‌گرفتن استفاده کنید).

Throne یک لینک آمادهٔ اشتراک‌گذاری به‌شکل throne://route?data=... را در کلیپ‌بورد شما کپی می‌کند. آن را برای هر کسی بفرستید؛ وقتی آن را باز کند (یا جای‌گذاری کند / از افزودن پروفایل از کلیپ‌بورد استفاده کند)، Throne نام پروفایل و هرگونه یادداشت را نشان می‌دهد و پس از تأیید، آن را وارد می‌کند.

درون data چیست

محتوای Base64 به یک پوشش JSON کوچک که پروفایل را توصیف می‌کند رمزگشایی می‌شود:

{
  "kind": "throne-route-profile",
  "v": 1,
  "name": "Bypass LAN",
  "default_outbound": "proxy",
  "rules": []
}

بنابراین لینک بالا به این شکل است (مقدار data همان Base64 آن JSON است):

throne://route?data=eyJraW5kIjoidGhyb25lLXJvdXRlLXByb2ZpbGUiLCJ2IjoxLCJuYW1lIjoiQnlwYXNzIExBTiIsImRlZmF1bHRfb3V0Ym91bmQiOiJwcm94eSIsInJ1bGVzIjpbXX0

Throne همین محتوا را هنگام وارد کردن از کلیپ‌بورد به‌صورت JSON ساده یا Base64 خام نیز می‌شناسد؛ بنابراین لینکی که از دستگاهی دیگر کپی شده، حتی اگر در مسیر، پیشوند throne://route?data= خود را از دست بدهد، باز هم کار می‌کند.

عیب‌یابی

  • کلیک روی لینک هیچ کاری نمی‌کند / مرورگر می‌پرسد کدام برنامه را باز کند. یک‌بار Throne را اجرا کنید تا اسکیم را ثبت کند، سپس دوباره تلاش کنید. اگر پوشهٔ Throne را جابه‌جا کرده‌اید، کافی است دوباره آن را اجرا کنید — ثبت در هنگام راه‌اندازی خود را ترمیم می‌کند.
  • «Ignored deeplink with unknown command». بخش دستور، addsub یا route نیست. املای واژهٔ بلافاصله پس از throne:// را بررسی کنید.
  • «The link did not contain a subscription URL». پارامتر url در لینک addsub وجود ندارد، یا مقدار آن پس از رمزگشایی خالی بوده است.
  • اشتراک، نشانی نادرستی را وارد می‌کند. مقدار url به‌صورت percent-encoded نبوده است و بنابراین بخشی از آن در یک ?، & یا # بریده شده است. مقدار را کدگذاری کنید و لینک را دوباره بسازید.