مفاهیم پایه
از آنجا که ممکن است بعضی از مفاهیم استفاده شده در مطالب این ویکی و همینطور دنیای پروکسیها برای افراد زیادی ناآشنا باشند؛ در این مطلب سعی میشود این موارد به زبان ساده توضیح داده شوند.
آدرس IP
آدرس IP آدرس منحصربهفردی است که یک دستگاه را در اینترنت یا شبکه محلی شناسایی میکند و از این طریق میتوان به اینترنت یا شبکه محلی دسترسی داشت. بهبیان بهتر، آدرسهای IP شناسههایی هستند که اجازه ارسال اطلاعات بین دستگاههای موجود در شبکه را صادر میکنند؛ زیرا آنها حاوی اطلاعات مکان جغرافیایی دستگاه هستند؛ ازاینرو، دستگاهها را برای برقراری ارتباط دردسترس یکدیگر قرار میدهند.
دو ورژن آیپی داریم. یکی آیپی ورژن ۴ و یکی آیپی ورژن ۶
آیپی ورژن ۴ یا IPv4
آیپی ورژن ۴ شامل بخش است که هر بخش با نقطه
از هم جدا میشوند. مثلا w.x.y.z
که هر کدام از این ها میتوانند بین ۰ تا ۲۵۵ باشند. در نهایت یک آیپی ورژن ۴ به این شکل است.
54.78.11.14
آیپی ورژن ۶ یا IPv6
این آدرس آیپی ورژن جدید آیپیهاست که بر مبنای اعداد hex یا ۱۶ پایهگذاری شده است. شامل ۶ بخش است که هر بخش با :
از هم جدا میشود. یک آیپی ورژن ۶ به این شکل است.
2017:c569:54ed:f141:ec49:0567
در این ورژن از آیپیها بعضی جاها فاکتور گرفته میشود. مثلا به آیپی زیر توجه کنید.
2017:c569:0000:0000:0000:0567
در این ورژن میتوان صفرهای پشت هم را حذف کرد و فاکتور گرفت و در نهایت به این شکل نوشت.
2017:c569::0567
HTTP
پروتکل پایه اینترنت است و شالودهٔ ارتباط اطلاعاتی برای وب است که در آن مستندات شامل لینکهاو متنها به سایر منابع متصل میشوند که کاربر به راحتی میتواند به عنوان مثال با یک کلیک یا با تپ بر روی صفحه نمایش در یک مرورگر وب به آنها دسترسی داشته باشد. این پروتکل از یک url یا نشانی وب برای آدرسدهی استفاده میکند و این آدرسها را دامنه میگوییم که در ادامه تعریف میشوند.
پروتکل HTTP از Handshaking به منظور ارسال و دریافت اطلاعات استفاده میکند. در این روش برای شروع و پایان عملیات تبادل اطلاعات بین سرور و کلاینت، چندین درخواست و پاسخ رد و بدل میشود. تصور کنید که کلاینت (مرورگر) فردی است که قصد دارد اطلاعات مربوط به یک سایت را دریافت کند. در ابتدا باید درخواستی با این هدف به سرور آن سایت ارسال کند. سپس باید صبر کند، تا از طرف سرور پاسخی برای درخواستش دریافت کند. در صورتی که اطلاعات خواسته شده در سرور موجود باشند، پاسخی مبنی بر موافقت ارسال اطلاعات برای شخص ارسال میشود. سپس بار دیگر از طرف کلاینت پیامی مبنی بر درخواست دادههای اطلاعاتی به سرور فرستاده میشود. در این مرحله سرور پیام را دریافت کرده و دادههای درخواست شده را در بستههای اطلاعاتی کوچکتری تقسیم میکند. در نهایت این بستهها توسط پروتکل Handshaking پشت سر هم و به ترتیب برای شخص ارسال میشوند. ارتباط بین کلاینت و سرور در این پروتکل معمولا از طریق پورت ۸۰ انجام میشود.
HTTPS
این پروتکل در حقیقت نسخه امنیتی پروتکل HTTP است. به دلیل اینکه اطلاعات و دادهها در پروتکل HTTP رمزگذاری نمیشوند، به راحتی قابل هک و سو استفاده است. بر این اساس اگر کسی مانند سرویس دهنده اینترنت به مسیر تبادل اطلاعات دسترسی داشته باشد به راحتی میتواند اطلاعاتی که در حال رد و بدل شدن هستند را مشاهده کند. اما در HTTPS اطلاعات رد و بدل شده بین وبسایت و کاربر، به صورت رمزنگاری شده منتقل میشوند. یعنی حتی اگر کسانی بتوانند به اطلاعات رد و بدل شده در سایت دسترسی پیدا کنند، نمیتوانند از محتوای آن سو استفاده کنند. زیرا این اطلاعات به صورت رمزنگاری شده هستند و فقط توسط کسی قابل مشاهده خواهند بود که کلید رمزگشایی آنها را داشته باشد. از یکی از دو پروتکل SSL یا TLS برای رمزگذاری ارتباطات استفاده می کند که در ادامه توضیح داده خواهند شد.
HTTP Upgarde
Upgarde یک فیلد در HTTP است که ممکن است توسط کلاینتها برای دعوت از یک سرور برای تغییر به یک (یا چندتا) از پروتکلهای فهرستشده، به ترتیب ترجیحی نزولی استفاده شود. بدین صورت کلاینت از سرور درخواست میکند به نسخه HTTP را ارتقا دهد که با این کار امنیت ارتباط ارتقا پیدا میکند. سرور می تواند به هر دلیلی درخواست را نادیده بگیرد، در این صورت باید به گونه ای پاسخ دهد که گویی هدر ارتقا ارسال نشده است. اگر سرور از این قابلیت پشتیبانی نماید ارتباط HTTP به نسخه بالاتر ارتقا مییابد. Upgarde یک فیلد در HTTP است که ممکن است توسط کلاینتها برای دعوت از یک سرور برای تغییر به یک (یا چندتا) از پروتکلهای فهرستشده، به ترتیب ترجیحی نزولی استفاده شود. بدین صورت کلاینت از سرور درخواست میکند به نسخه HTTP را ارتقا دهد که با این کار امنیت ارتباط ارتقا پیدا میکند. سرور می تواند به هر دلیلی درخواست را نادیده بگیرد، در این صورت باید به گونه ای پاسخ دهد که گویی هدر ارتقا ارسال نشده است. اگر سرور از این قابلیت پشتیبانی نماید ارتباط HTTP به نسخه بالاتر ارتقا مییابد.
دامنه
به زبان خیلی ساده در تعریف دامنه چیست باید گفت همان آدرسی که در مرورگر خود برای ورود به هر سایتی وارد میکنید دامنه است. دامنهها از طریق آیپی به میزبانی وبسایت شما متصل میشوند. هر سرور با یک آدرس آیپی در دنیای اینترنت شناخته میشود. آدرس آیپی ها از طریق سرویسی به نام DNS یا Domain Name System روی دامنه شما تعریف میشوند.
SSL
این پروتکل اطلاعات را با استفاده از کلیدهای خصوصی و عمومی رمزنگاری (Encrypt) میکند. اطلاعات رمزگذاری شده توسط این پروتکل در سمت دیگر رمزگشایی (Decrypt) می شوند. امنیت در این پروتکل در مبدا و مقصد اطلاعات حفظ میشود، یعنی در هر دو طرف، فرایند رمزنگاری و رمزگشایی انجام می گیرد. وب سایت هایی که از این پروتکل جهت رمزگذاری دادهها استفاده می کنند، معمولا از طریق پروتکل HTTPS با کلاینتها ارتباط برقرار می کنند. برای داشتن یک ارتباط امن در بستر پروتکل HTTPS برای سایت خود، نیاز به تهیه یک گواهی معتبر ssl دارید. در این پروتکل اطلاعات تبادل شده بین سرور و کلاینت رمزگذاری می شوند؛ بر این اساس این اطلاعات توسط شخص سوم قابل مشاهده نخواهند بود. البته همچنان دسترسی به این دادهها امکان پذیر است، اما با توجه به اینکه آنها رمزگذاری شده اند، برای مشاهده دادههای آن ها، نیازمند رمزگشایی هستند.رمزگشایی این داده بدون کلید مورد استفاده در نشست (session) ارتباطی امن امکان پذیر نیست. بنابراین، این پروتکل عملاً غیرقابل نفوذ است.
TLS
یک پروتکل امنیتی است بر پایه پروتکل 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
پنل هیدیفای جهت عبور از سیستم فیلترینگ از این پلتفرم استفاده مینماید. در حقیقت هیدیفای توسط Xray توصیه شده است. این پلتفرم که در سال ۲۰۲۰ معرفی گردید نسخه اصلاح شده و بهتر V2ray معروف است ! با توجه به بروزتر بودن و رفع نواقص V2ray تبدیل به پلتفرم غالب و رایج گردید . در پلتفرم Xray تمامی پروتکل های v2ray به اضافه پروتکل های جدیدتر مانند Vless اضافه گردیده است.
Vmess
یکی از اولین پروتکلهای زیرمجموعه V2ray و Xray بود که بستههای اطلاعاتی را بر اساس زمان سیستم رمزگذاری و ارسال میکرد که البته این پروتکل به دلیل ضعفهایی که در الگوریتم آن وجود دارد، توسط سیستم فیلترینگ قابل شناسایی است و توصیه میشود تا جای ممکن استفاده نشود.
Vless
پروتکل Vless نسخه اصلاح شده Vmess میباشد ! در Vless تمامی معایب Vmess رفع گردیده و با توجه به تفاوت در رمزنگاری در Vless و سبک تر بودن این امکان را فراهم می نماید تا کاربران بیشتری نسبت به Vmess روی یک سرور داشته باشید
Trojan
این پروتکل یک راه ایمن دیگر جهت عبور از سیستم فیلترینگ میباشد Trojan که در سال 2017 معرفی گردید همیشه در کنار Vless یک پروتکل قدرتمند جهت عبور از سیستم فیلترینگ مورد استفاده قرار گرفته است.
Reality
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