پرش به محتویات

URI Scheme

طرح URI در Hysteria 2 برای ارائه یک نمایش فشرده از اطلاعات لازم برای اتصال به سرور Hysteria 2 طراحی شده است. این طرح پارامترهای مختلفی مانند آدرس سرور، جزئیات احراز هویت، نوع و پارامترهای مبهم‌سازی و تنظیمات TLS را در بر می‌گیرد.

ساختار

hysteria2://[auth@]hostname[:port]/?[key=value]&[key=value]...

اجزا

طرح

hysteria2 یا hy2

Auth

اعتبارنامه‌های احراز هویت باید در بخش auth از URI مشخص شوند. این بخش اساساً قسمت نام کاربری در قالب استاندارد URI است و بنابراین در صورت حاوی کاراکترهای خاص نیاز به کدگذاری درصدی دارد.

یک حالت خاص زمانی است که سرور از احراز هویت userpass استفاده می‌کند، که در این صورت بخش auth باید به صورت username:password قالب‌بندی شود.

Hostname

نام میزبان و پورت اختیاری سرور. اگر پورت حذف شود، مقدار پیش‌فرض 443 است.

بخش پورت از قالب «چندپورتی» ذکرشده در پرش بین پورت‌ها پشتیبانی می‌کند.

پارامترهای پرس‌وجو

  • obfs: نوع مبهم‌سازی مورد استفاده. در حال حاضر فقط salamander پشتیبانی می‌شود.

  • obfs-password: رمز عبور مورد نیاز برای نوع مبهم‌سازی مشخص‌شده، در صورت وجود.

  • sni: Server Name Indication برای اتصالات TLS.

  • insecure: تعیین می‌کند که آیا اتصالات TLS ناامن مجاز هستند. مقادیر بولی «1» برای true و «0» برای false را قبول می‌کند.

  • pinSHA256: اثر انگشت SHA-256 پین‌شده گواهی سرور.

مثال

hysteria2://[email protected]:123,5000-6000/?insecure=1&obfs=salamander&obfs-password=gawrgura&pinSHA256=deadbeef&sni=real.example.com

نکات پیاده‌سازی

URI عمداً طوری طراحی شده که فقط شامل اطلاعات ضروری مورد نیاز برای اتصال به سرور Hysteria 2 باشد. اگرچه پیاده‌سازی‌های شخص ثالث آزادند در صورت نیاز پارامترهای اضافی اضافه کنند، اما نباید فرض کنند که پیاده‌سازی‌های دیگر آن‌ها را درک خواهند کرد.

علاوه بر این، پارامترها هرگز نباید شامل حالت‌های کلاینت (HTTP، SOCKS5 و غیره) یا مقادیر پهنای باند باشند. کاربران باید بدانند که این موارد برای اشتراک‌گذاری و استفاده کورکورانه توسط دیگران در نظر گرفته نشده‌اند، زیرا مختص هر کاربر بوده و باید بر اساس نیاز پیکربندی شوند.