-
-
Notifications
You must be signed in to change notification settings - Fork 743
مفاهیم پایه
از آنجا که ممکن است بعضی از مفاهیم استفاده شده در مطالب این ویکی و همینطور دنیای پروکسیها برای افراد زیادی ناآشنا باشند؛ در این مطلب سعی میشود این موارد به زبان ساده توضیح داده شوند.
پروتکل پایه اینترنت است و شالودهٔ ارتباط اطلاعاتی برای وب است که در آن مستندات شامل لینکهاو متنها به سایر منابع متصل میشوند که کاربر به راحتی میتواند به عنوان مثال با یک کلیک یا با تپ بر روی صفحه نمایش در یک مرورگر وب به آنها دسترسی داشته باشد. این پروتکل از یک url یا نشانی وب برای آدرسدهی استفاده میکند و این آدرسها را دامنه میگوییم که در ادامه تعریف میشوند.
پروتکل HTTP از Handshaking به منظور ارسال و دریافت اطلاعات استفاده میکند. در این روش برای شروع و پایان عملیات تبادل اطلاعات بین سرور و کلاینت، چندین درخواست و پاسخ رد و بدل میشود. تصور کنید که کلاینت (مرورگر) فردی است که قصد دارد اطلاعات مربوط به یک سایت را دریافت کند. در ابتدا باید درخواستی با این هدف به سرور آن سایت ارسال کند. سپس باید صبر کند، تا از طرف سرور پاسخی برای درخواستش دریافت کند. در صورتی که اطلاعات خواسته شده در سرور موجود باشند، پاسخی مبنی بر موافقت ارسال اطلاعات برای شخص ارسال میشود. سپس بار دیگر از طرف کلاینت پیامی مبنی بر درخواست دادههای اطلاعاتی به سرور فرستاده میشود. در این مرحله سرور پیام را دریافت کرده و دادههای درخواست شده را در بستههای اطلاعاتی کوچکتری تقسیم میکند. در نهایت این بستهها توسط پروتکل Handshaking پشت سر هم و به ترتیب برای شخص ارسال میشوند. ارتباط بین کلاینت و سرور در این پروتکل معمولا از طریق پورت ۸۰ انجام میشود.
این پروتکل در حقیقت نسخه امنیتی پروتکل HTTP است. به دلیل اینکه اطلاعات و دادهها در پروتکل HTTP رمزگذاری نمیشوند، به راحتی قابل هک و سو استفاده است. بر این اساس اگر کسی مانند سرویس دهنده اینترنت به مسیر تبادل اطلاعات دسترسی داشته باشد به راحتی میتواند اطلاعاتی که در حال رد و بدل شدن هستند را مشاهده کند. اما در HTTPS اطلاعات رد و بدل شده بین وبسایت و کاربر، به صورت رمزنگاری شده منتقل میشوند. یعنی حتی اگر کسانی بتوانند به اطلاعات رد و بدل شده در سایت دسترسی پیدا کنند، نمیتوانند از محتوای آن سو استفاده کنند. زیرا این اطلاعات به صورت رمزنگاری شده هستند و فقط توسط کسی قابل مشاهده خواهند بود که کلید رمزگشایی آنها را داشته باشد. از یکی از دو پروتکل SSL یا TLS برای رمزگذاری ارتباطات استفاده می کند که در ادامه توضیح داده خواهند شد.
به زبان خیلی ساده در تعریف دامنه چیست باید گفت همان آدرسی که در مرورگر خود برای ورود به هر سایتی وارد میکنید دامنه است. دامنهها از طریق آیپی به میزبانی وبسایت شما متصل میشوند. هر سرور با یک آدرس آیپی در دنیای اینترنت شناخته میشود. آدرس آیپی ها از طریق سرویسی به نام DNS یا Domain Name System روی دامنه شما تعریف میشوند.
این پروتکل اطلاعات را با استفاده از کلیدهای خصوصی و عمومی رمزنگاری (Encrypt) میکند. اطلاعات رمزگذاری شده توسط این پروتکل در سمت دیگر رمزگشایی (Decrypt) می شوند. امنیت در این پروتکل در مبدا و مقصد اطلاعات حفظ میشود، یعنی در هر دو طرف، فرایند رمزنگاری و رمزگشایی انجام می گیرد. وب سایت هایی که از این پروتکل جهت رمزگذاری دادهها استفاده می کنند، معمولا از طریق پروتکل HTTPS با کلاینتها ارتباط برقرار می کنند. برای داشتن یک ارتباط امن در بستر پروتکل HTTPS برای سایت خود، نیاز به تهیه یک گواهی معتبر ssl دارید. در این پروتکل اطلاعات تبادل شده بین سرور و کلاینت رمزگذاری می شوند؛ بر این اساس این اطلاعات توسط شخص سوم قابل مشاهده نخواهند بود. البته همچنان دسترسی به این دادهها امکان پذیر است، اما با توجه به اینکه آنها رمزگذاری شده اند، برای مشاهده دادههای آن ها، نیازمند رمزگشایی هستند.رمزگشایی این داده بدون کلید مورد استفاده در نشست (session) ارتباطی امن امکان پذیر نیست. بنابراین، این پروتکل عملاً غیرقابل نفوذ است.
یک پروتکل امنیتی است بر پایه پروتکل SSL ایجاد شده است. TLS نسخه بهبود یافته پروتکل SSL است که اگر چه تفاوتهای خیلی کمی با SSL دارد، اما تقریبا بخش عمده آن یکسان مانده است. البته TLS از الگوریتم رمز نگاری قویتری نسبت به پروتکل SSL استفاده میکند و در ایجاد کلید عمومی و احراز هویت کردن پیام ها، TLS امنتر و کارامدتر از SSL عمل میکند. به بیان دقیقتر، TLS پروتکلی است که برای رمزگذاری ارتباطات مبتنی بر وب، بین یک کلاینت و یک سرور، با استفاده از مجموعهای از الگوریتمهای رمزنگاری(uTLS, alpn, allowInsecure)، استفاده میشود. مهم: «شناسایی کاربر بر اساس فیلدهای پیام در طی TLS Handshaking است.»
با تجزیه و تحلیل ترافیک TLS، فیلترچی میتواند حدس بزند که کاربر به کدام وبسایت سر میزند و اطلاعات سرور(آیپی، لوکیشن و...)چیست. مواردی که باید بهدقت انجام بدهیم، تا بهشکل صحیحی از الگوریتمهای TLS استفاده کنیم و فیلترچی نتواند نام دامنه(SNI) را ببیند.
uTLS: استفاده از فینگرپرینت اختصاصی مرورگر. «برای جلوگیری از تکیه بر یک فینگرپرینت و بروز خطاهای احتمالی، استفاده از چندین اثر انگشت، Randomized، توصیه میشود.»
alpn: پروتکل گفتوگوی بین کلاینت و سرور را از پیش تعیین میکند، در نتیجه بارگذاری اطلاعات و رمزگذاری TLS را سرعت میبخشد.
allowInsecure: مانع استفاده از گواهیهای جعلی میشود.
تنظیماتی که می بایست درباره کانکشن ها در نظر داشت:
uTLS = Randomized, Chrome. Firefox, etc
alpn = H2,HTTP/1.1
allowInsecure = false
نکته: تنظیمات این ٣ مورد میتونه با توجه به نوع کانفیگ و وضعیت اینترنت متفاوت باشه.
پنل هیدیفای جهت عبور از سیستم فیلترینگ از این پلتفرم استفاده مینماید. در حقیقت هیدیفای توسط Xray توصیه شده است. این پلتفرم که در سال ۲۰۲۰ معرفی گردید نسخه اصلاح شده و بهتر V2ray معروف است ! با توجه به بروزتر بودن و رفع نواقص V2ray تبدیل به پلتفرم غالب و رایج گردید . در پلتفرم Xray تمامی پروتکل های v2ray به اضافه پروتکل های جدیدتر مانند Vless اضافه گردیده است.
یکی از اولین پروتکلهای زیرمجموعه V2ray و Xray بود که بستههای اطلاعاتی را بر اساس زمان سیستم رمزگذاری و ارسال میکرد که البته این پروتکل به دلیل ضعفهایی که در الگوریتم آن وجود دارد، توسط سیستم فیلترینگ قابل شناسایی است و توصیه میشود تا جای ممکن استفاده نشود.
پروتکل Vless نسخه اصلاح شده Vmess میباشد ! در Vless تمامی معایب Vmess رفع گردیده و با توجه به تفاوت در رمزنگاری در Vless و سبک تر بودن این امکان را فراهم می نماید تا کاربران بیشتری نسبت به Vmess روی یک سرور داشته باشید
این پروتکل یک راه ایمن دیگر جهت عبور از سیستم فیلترینگ میباشد Trojan که در سال 2017 معرفی گردید همیشه در کنار Vless یک پروتکل قدرتمند جهت عبور از سیستم فیلترینگ مورد استفاده قرار گرفته است.
REALITY به جای TLS استفاده میشود و میتواند ویژگیهای اثرانگشت TLS سرور را از بین ببرد، همچنان محرمانهای رو به جلو داشته باشد، و غیره. میتوانید بدون نیاز به خرید نام دامنه یا پیکربندی سرور TLS به وبسایتهای دیگر اشاره کنید، که راحتتر است و TLS واقعی کامل مشخص کردن SNI برای واسطه را درک میکند.
جهت امنیت و سرعت بیشتر پیشنهاد ما به شما استفاده از این دو پروتکل Vless و Trojanمی باشد . طبق گزارشات بدست آمده در حال حاضر توصیه میشود از این پروتکل های با حالات زیر استفاده نمایید.
Reality XTLS
Vless CDN WS
Vless CDN GRPC
Vless CDN WS H2
Vless CDN GRPC H2
Trojan CDN WS
Trojan CDN GRPC
Trojan CDN WS H2