۱۳۹۳/۱۱/۲۹

بررسی پروتکل استتاری Trojan-Go

Trojan-Go نسخه‌ای توسعه‌یافته از پروتکل Trojan است که با زبان Go توسعه یافته و با هدف افزایش سازگاری، قابلیت حمل و تنوع بیشتر در انتقال داده طراحی شده است. این پروتکل برای دور زدن فیلترینگ و سانسور اینترنتی طراحی شده و ترافیک را به‌صورت کامل در لایه TLS پنهان می‌کند تا با ترافیک HTTPS معمول تفاوتی نداشته باشد.

Trojan-Go نسبت به نسخه اصلی Trojan ویژگی‌های متعددی مانند پشتیبانی از WebSocket، HTTP/2، Multiplexing و حتی QUIC را اضافه کرده است. این موارد باعث شده تا Trojan-Go انعطاف‌پذیرتر و مقاوم‌تر در برابر DPI شود.

بررسی فنی و نحوه عملکرد

Trojan-Go مانند نسخه اصلی Trojan از TLS واقعی برای پنهان‌سازی ترافیک استفاده می‌کند. سرور و کلاینت از طریق یک دامنه واقعی و گواهی معتبر TLS (مانند Let's Encrypt) ارتباطی رمزنگاری‌شده برقرار می‌کنند. به‌دلیل شباهت کامل به HTTPS شناسایی ترافیک دشوار است.

پیشرفت‌های فنی مهم در Trojan-Go

• پشتیبانی از WebSocket برای انتقال از طریق پورت‌های رایج وب مانند 443

• پشتیبانی از Multiplexing برای انتقال چند جریان داده در یک تونل

• قابلیت استفاده از QUIC و HTTP/2 برای سرعت و پنهان‌سازی بیشتر

• توانایی راه‌اندازی بر بستر CDN یا سرور معکوس (Reverse Proxy)

ویژگی‌های رمزنگاری

Trojan-Go از رمزنگاری استاندارد TLS 1.3 بهره می‌برد. برخلاف پروتکل‌هایی مانند Shadowsocks که رمزنگاری آن‌ها ساده‌تر است و قابل شناسایی‌تر، Trojan-Go به‌دلیل استفاده از TLS واقعی با دامنه‌های معتبر ترافیکی تولید می‌کند که با HTTPS تفاوتی ندارد. استفاده از ALPN، Session Ticket و ویژگی‌های TLS مدرن در برابر تکنیک‌های DPI بسیار موثر است.

مزایای Trojan-Go

• پنهان‌سازی کامل ترافیک در HTTPS

• پشتیبانی از مدهای متعدد انتقال مانند WebSocket، QUIC، HTTP/2

• مقاوم در برابر فیلترینگ شدید و DPI

• استفاده از گواهی‌های معتبر TLS

• قابلیت استفاده از CDN و reverse proxy

مقایسه Trojan-Go با دیگر پروتکل‌های استتاری

• نسبت به پروتکل Trojan، نسخه Go امکانات بیشتری مانند WebSocket، QUIC و Multiplexing دارد که باعث انعطاف بالاتر آن در سناریوهای فیلترینگ می‌شود.

• در مقایسه با V2Ray (VLESS/Vmess)، می‌توان گفت که Trojan-Go ساده‌تر پیکربندی می‌شود ولی قابلیت‌های شخصی‌سازی در V2Ray بیشتر است؛ هر دو از TLS برای پنهان‌سازی استفاده می‌کنند.

• برخلاف NaiveProxy که ترافیک HTTPS مرورگر Chrome را تقلید می‌کند و در برابر DPI بسیار موثر است، پروتکل Trojan-Go راه‌اندازی ساده‌تری دارد و برای بسیاری از کاربران کاربردی‌تر است.

• هنگامی‌که صحبت از سرعت و پروتکل‌های جدید مانند Hysteria (نسخه 1 و 2) می‌شود، این پروتکل بر پایه QUIC عملکرد بهتری در انتقال سریع دارد اما از نظر پنهان‌سازی، Trojan-Go گزینه مقاوم‌تری است.

• اگرچه Shadowsocks سبک و محبوب است ولی در سناریوهای سانسور شدید کارایی کمتری دارد و از نظر امنیت و استتار، Trojan-Go گزینه قوی‌تری محسوب می‌شود.

• در قیاس با Obfs4 که بیشتر برای استفاده در شبکه Tor طراحی شده، Trojan-Go سرعت و انعطاف بیشتری برای کاربران عمومی اینترنت ارائه می‌دهد.

• ابزارهایی مانند Meek و Snowflake که برای پروژه Tor ساخته شده‌اند بیشتر برای عبور از سانسور در محیط‌های خاص به کار می‌روند درحالی‌که Trojan-Go برای استفاده‌های عمومی و روزمره با عملکرد بالا مناسب‌تر است.

پرسش‌های متداول

آیا Trojan-Go رایگان و متن‌باز است؟
بله، این پروتکل متن‌باز بوده و در GitHub منتشر شده است.

برای استفاده از Trojan-Go به چه چیزی نیاز است؟
به یک سرور VPS، دامنه معتبر و گواهی TLS از Let's Encrypt یا مشابه آن نیاز دارید.

آیا Trojan-Go روی موبایل هم کار می‌کند؟
بله، کلاینت‌هایی مانند V2Box, Shadowrocket و OpenTrojan از آن پشتیبانی می‌کنند.

چه تفاوتی بین Trojan و Trojan-Go وجود دارد؟
Trojan-Go نسخه‌ای توسعه‌یافته با مدهای بیشتر مانند WebSocket و QUIC است در حالی که Trojan ساده‌تر و سبک‌تر است.

آیا Trojan-Go می‌تواند از CDN استفاده کند؟
بله، با تنظیم صحیح reverse proxy می‌توان از خدمات CDN برای عبور از فیلترینگ استفاده کرد.

 واژگان کلیدی

• ALPN: مکانیزم انتخاب پروتکل در TLS

• CDN: شبکه تحویل محتوا برای پراکندگی ترافیک

• DPI: بازرسی عمیق بسته‌ها برای شناسایی نوع ترافیک

• HTTPS: نسخه امن HTTP بر بستر TLS

• HTTP/2: نسخه بهینه‌شده HTTP با ویژگی‌هایی مانند Multiplexing

• Multiplexing: ارسال همزمان چند جریان داده در یک اتصال

• QUIC: پروتکل انتقال سریع مبتنی بر UDP با رمزنگاری پیش‌فرض

• Reverse Proxy: سروری واسط بین کاربر و سرور اصلی برای پنهان‌سازی

• TLS: پروتکل رمزنگاری برای ارتباطات امن

• Trojan: پروتکل VPN پنهان‌شده در HTTPS

• Trojan-Go: نسخه توسعه‌یافته Trojan با قابلیت‌های بیشتر

• WebSocket: پروتکل ارتباط دوطرفه در بستر TCP برای برنامه‌های بلادرنگ


هیچ نظری موجود نیست:

ارسال یک نظر