ShadowTLS چیست؛ سازگاری نسخه ۳ و عیبیابی کانفیگ
برای این آموزش کانفیگ لازم دارید؟ رایگان بگیرید
کانفیگ تست در تلگرام تحویل داده میشود و با همین راهنما قابل استفاده است
ShadowTLS یک لایه انتقال است که معمولاً کنار پروتکلی مانند Shadowsocks استفاده میشود؛ نام آن بهتنهایی مشخصات یک سرویس کامل VPN را بیان نمیکند. برای استفاده عملی باید کلاینت، نسخه پروتکل، تنظیمات سرور و لایه داخلی با هم سازگار باشند. اگر ارائهدهنده فقط گفته «این کانفیگ ShadowTLS است»، قبل از تغییر تنظیمات، اطلاعات دقیق اتصال و برنامه پشتیبانیشده را بگیرید.
این راهنما برای فهم کانفیگ و تشخیص محل خطاست، نه نصب سرور با یک دستور ناشناس. هیچ نتیجهای درباره سرعت روی اپراتور خاص، نامرئیبودن ترافیک یا قطعنشدن اتصال از نام ShadowTLS به دست نمیآید. نتیجه استفاده به پیادهسازی، شبکه و تنظیمات وابسته است و باید در محیط خودتان بررسی شود.
نقش ShadowTLS در زنجیره اتصال
در توضیح پروژه رسمی ShadowTLS، این ابزار برای انتقال جریان TCP با الگوی دستدهی TLS معرفی شده است. لایه داخلی همچنان مسئول بخشهای مربوط به پروتکل خودش است؛ بنابراین ShadowTLS را نباید جایگزین خودکار رمزگذاری داده یا همه اجزای پروکسی دانست. نام ShadowTLS و Shadowsocks مشابه به نظر میرسد، اما یک چیز نیستند.
یک تصویر ساده از مسیر این است: برنامه شما به کلاینت وصل میشود، کلاینت لایه داخلی را از مسیر ShadowTLS میفرستد و سمت سرور زنجیره متناظر را تکمیل میکند. هر حلقه میتواند تنظیم مستقل داشته باشد. موفقیت یک مرحله، مانند برقراری اتصال به پورت سرور، موفقیت کل زنجیره را ثابت نمیکند.
اگر مفهوم پروتکلها برایتان تازه است، مقایسه V2Ray و Shadowsocks زمینه عمومی را توضیح میدهد. موضوع این مقاله جزئیتر است: وقتی کانفیگی با لایه ShadowTLS دارید، چه چیزهایی باید با طرف مقابل یکسان باشد و از کجا بفهمید خطا به کدام مرحله نزدیکتر است.
نسخه پروتکل را حدس نزنید
ShadowTLS نسخههای متفاوت دارد و شماره نسخه باید با تنظیم سرور هماهنگ باشد. در طراحی رسمی نسخه ۳، تغییرهای احراز هویت و مقابله با برخی ضعفهای نسخه پیشین توضیح داده شده است. این توضیح طراحی، معادل نتیجه آزمایش روی اینترنت شما یا تضمین امنیت هر کانفیگ منتشرشده نیست.
در حالت strict نسخه ۳، سرور دستدهی باید TLS 1.3 را پشتیبانی کند. این الزام مربوط به همان حالت و پیادهسازی است؛ نباید آن را به هر پروفایل دلخواه تعمیم داد. اگر خطای سازگاری دارید، از ارائهدهنده بخواهید نسخه و حالت موردانتظار را تأیید کند. پایینآوردن خودسرانه نسخه، روش بیخطر و عمومی رفع خطا نیست.
شماره نسخه برنامه با شماره نسخه پروتکل فرق دارد. مثلاً نسخه جدید یک رابط گرافیکی ممکن است هسته و قابلیتهای متفاوتی داشته باشد. در گزارش پشتیبانی، هر دو را تا حدی که برنامه نشان میدهد یادداشت کنید. عبارت «آخرین نسخه را دارم» بدون شماره و منبع نصب، برای بازسازی مشکل کافی نیست.
اطلاعاتی که باید از ارائهدهنده بگیرید
پیش از ورود دستی، این موارد را روشن کنید: نشانی و پورت سرور، نسخه ShadowTLS، رمز همین لایه، تنظیمات TLS و مشخصات پروتکل داخلی. رمز ShadowTLS الزاماً همان رمز Shadowsocks نیست. نام سرور در تنظیم TLS نیز نباید با حدس یا با دامنهای که در یک آموزش دیگر دیدهاید جایگزین شود.
همچنین بپرسید پروفایل برای کدام کلاینت و قالب آماده شده است. یک لینک با شروع ss لزوماً تمام زنجیره ShadowTLS را در هر برنامه منتقل نمیکند. اگر واردکردن موفق بود ولی بخشی از تنظیمات ناپدید شد، از ارائهدهنده خروجی سازگار بخواهید. پذیرش لینک توسط رابط، به معنی پشتیبانی همه قابلیتهای آن نیست.
این اطلاعات محرمانهاند. برای بررسی مشکل، تصویر را طوری برش دهید که رمز، شناسه و لینک کامل اشتراک دیده نشود. فایل کانفیگ را در مبدل ناشناس آنلاین قرار ندهید. اگر مجبور به ارسال گزارش هستید، نسخه حذفشده از اطلاعات حساس تهیه کنید و اصل قابلبازیابی را فقط نزد خود نگه دارید.
تطبیق تنظیمات با sing-box
در مستند outbound مربوط به ShadowTLS در sing-box، فیلدهای type، server، server_port، version، password و tls معرفی شدهاند. مقدار نوع اتصال shadowtls است؛ نشانی، پورت و TLS باید متناسب با سرویس تنظیم شوند. نسخه باید صریحاً مطابق سرور انتخاب شود، نه اینکه به پیشفرض نادیده تکیه کنید.
این فهرست یک فایل کامل قابلاجرا نیست. ورودی برنامه، مسیرها، DNS و اتصال لایه داخلی هم به پیکربندی کامل تعلق دارند. کپیکردن یک outbound از مستندات در یک فایل خالی، لزوماً اینترنت دستگاه را از آن عبور نمیدهد. از نمونه کامل تأییدشده برای نسخه خودتان استفاده کنید و فقط اطلاعات لازم را جایگزین کنید.
اگر رابط گرافیکی دارید، نام گزینهها ممکن است با کلیدهای فایل JSON یکی نباشد. نبود یک گزینه در منو را با ساختن کلیدی حدسی جبران نکنید. از راهنمای همان برنامه یا پشتیبانی بپرسید آیا ورود پروفایل کامل، ویرایش دستی یا آن نسخه پروتکل پشتیبانی میشود. اینجا مسیر منوی یکسان برای همه کلاینتهای موبایل فرض نشده است.
ترتیب بررسی خطا
ابتدا مطمئن شوید اینترنت پایه برقرار است و تاریخ و ساعت دستگاه درستاند. سپس خطای خود کلاینت را بخوانید. خطای قالب فایل، خطای پیدانشدن نام سرور، نرسیدن به پورت و شکست احراز هویت نشانههای متفاوتاند. نام مرحله و زمان خطا را یادداشت کنید، اما از روی یک جمله به تشخیص قطعی درباره شبکه نرسید.
اگر پیام به parse یا گزینه ناشناخته اشاره دارد، ابتدا قالب و نسخه کلاینت را بررسی کنید. اگر اتصال به سرور شروع نمیشود، نشانی و پورت را با مشخصات ارائهدهنده تطبیق دهید. اگر شکست بعد از دستدهی رخ میدهد، هماهنگی نسخه، رمز و لایه داخلی نیاز به بررسی دارد. این ترتیب فرضیه میسازد، نه اینکه علت را از راه دور ثابت کند.
در هر آزمایش یک متغیر را تغییر دهید. یک بار همان پروفایل را روی شبکه دیگر و بار دیگر پروفایل تأییدشده دیگری را روی شبکه اصلی امتحان کنید. نتیجهها را کنار هم نگه دارید. اگر همه تنظیمات را همزمان عوض کنید، حتی اتصال موفق هم مشخص نمیکند کدام تغییر لازم بوده است.
کارهایی که نباید راهحل عمومی فرض شوند
خاموشکردن اعتبارسنجی گواهی، تعویض تصادفی دامنه TLS یا کاهش نسخه به امید وصلشدن، میتواند ویژگیهای امنیتی و سازگاری را تغییر دهد. همچنین یک عدد MTU ثابت برای همه شبکهها توجیه ندارد. اگر راهنما چنین تغییری پیشنهاد میکند، باید دلیل، دامنه کاربرد و راه برگشت روشن باشد.
از کارکردن پیامرسان و خراببودن یک سایت نمیتوان نتیجه گرفت ShadowTLS ذاتاً با آن سایت ناسازگار است. قواعد مسیر، DNS یا خود سرویس مقصد هم ممکن است دخیل باشند. برای این حالت، راهنمای اتصال بدون اینترنت روش جداکردن مسئله عمومی اتصال را توضیح میدهد.
آمار سرعت، مصرف باتری و تأخیر را بدون آزمایش همشرایط به پروتکل نسبت ندهید. اگر میخواهید مقایسه کنید، دستگاه، شبکه، مقصد و زمان را تا حد ممکن ثابت نگه دارید و نتیجه کار واقعی را ثبت کنید. یک بار بازشدن سایت، سنجش پایداری بلندمدت محسوب نمیشود.
چکلیست قبل از استفاده روزمره
پس از اتصال، مرورگر و ابزار اصلی کارتان را جدا امتحان کنید. اگر تماس یا نرمافزار خاصی دارید، قابلیت موردنیاز آن را با کل زنجیره سرویس تطبیق دهید؛ توضیح انتقال TCP بهتنهایی پاسخ همه نیازهای برنامه نیست. خواب و بیدارشدن دستگاه و بازگشت پس از قطع کوتاه شبکه نیز ارزش بررسی دارند.
تنظیم موفق را با تاریخ، نسخه کلاینت و نام شبکه ثبت کنید و یک نسخه پشتیبان خصوصی نگه دارید. برای بهروزرسانی بعدی، یادداشت تغییرات رسمی را بخوانید. اگر ارائهدهنده پشتیبانی مشخصی برای ShadowTLS ندارد، خرید اشتراک با فرض وجود این قابلیت مناسب نیست؛ سازگاری را پیش از پرداخت روشن کنید.
سؤالات متداول
آیا ShadowTLS همان Shadowsocks است؟ خیر. ShadowTLS نقش لایه انتقال دارد و میتواند کنار پروتکل داخلی مانند Shadowsocks قرار بگیرد؛ تنظیمات هر لایه باید درست باشد.
آیا هر لینک ss در همه برنامهها ShadowTLS را فعال میکند؟ خیر. قالب لینک و توانایی کلاینت در انتقال تنظیمات این لایه مهم است. از ارائهدهنده پروفایل سازگار بگیرید.
آیا نسخه ۳ یعنی اتصال تضمینی؟ خیر. نسخه ۳ ویژگیهای طراحی مشخصی دارد، ولی دسترسی و کیفیت به پیادهسازی، سرور و شبکه وابستهاند.
برای خطای TLS، بررسی گواهی را خاموش کنم؟ این کار راهحل عمومی مناسبی نیست. ابتدا ساعت، نام سرور، نسخه و تنظیمات تأییدشده را بررسی کنید و خطا را به پشتیبانی بدهید.