HTTP و SOCKS5 دو پروتکل پروکسیاند که بیش از همه با آنها سروکار دارید. هر دو IP شما را پنهان میکنند، هر دو در لیست ما رایگاناند و هر دو در بیشتر نرمافزارها کار میکنند. اما در سطوح متفاوتی عمل میکنند و وقتی از وبگردی ساده فراتر بروید، این انتخاب اهمیت پیدا میکند.
پروکسی HTTP چطور کار میکند
پروکسی HTTP به زبان وب حرف میزند. کلاینت شما یک درخواست HTTP معمولی با URL کامل برایش میفرستد، پروکسی آن را میخواند، خودش درخواست را انجام میدهد و پاسخ را برمیگرداند. برای سایتهای HTTPS، کلاینت دستور CONNECT example.com:443 را میفرستد و پروکسی تونلی باز میکند که ترافیک رمزنگاریشده بدون تغییر از آن عبور میکند.
از آنجا که پروکسی HTTP درخواستها را میفهمد، میتواند آنها را تغییر هم بدهد: هدرهایی مثل Via یا X-Forwarded-For اضافه کند، صفحات را کش کند یا محتوا را فیلتر کند. به همین دلیل پروکسیهای HTTP سطوح ناشناسی متفاوتی دارند.
پروکسی SOCKS5 چطور کار میکند
SOCKS5 یک لایه پایینتر کار میکند. کلاینت به پروکسی میگوید به کدام میزبان و پورت وصل شود، پروکسی یک اتصال TCP باز میکند و از آن به بعد فقط بایتها را منتقل میکند. نه میداند و نه برایش مهم است که این بایتها صفحهٔ وباند، ایمیل یا یک بازی آنلاین. SOCKS5 میتواند UDP را هم منتقل کند و از احراز هویت با نام کاربری و رمز عبور پشتیبانی میکند.
مقایسه
| HTTP | SOCKS5 | |
|---|---|---|
| ترافیک | وب (HTTP/HTTPS) | هر نوع TCP، بهصورت اختیاری UDP |
| امکان تغییر درخواستها | بله | خیر |
| افزودن هدرهای افشاکننده | گاهی | هرگز |
| resolve کردن DNS | روی پروکسی | روی پروکسی یا کلاینت |
| پشتیبانی در مرورگرها | همهجا | Firefox، Chrome با فلگ، بیشتر ابزارها |
| کاربرد رایج | وبگردی، اسکرپینگ | اپلیکیشنها، پیامرسانها، رباتها، بازیها |
سرعت
تفاوت سرعت ذاتیای که ارزش نگرانی داشته باشد وجود ندارد. handshake در SOCKS5 کمی کوتاهتر است، در حالی که پروکسی HTTP ممکن است محتوا را کش کند. در عمل سرعت پروکسی رایگان به موقعیت و بار آن بستگی دارد؛ پس لیست پروکسی را بر اساس تأخیر مرتب کنید، نه بر اساس پروتکل.
امنیت و ناشناسی
هیچکدام از این دو پروتکل بهتنهایی ترافیک شما را رمزنگاری نمیکنند. از سایتهای HTTPS استفاده کنید تا محتوا، صرفنظر از نوع پروکسی، رمزنگاریشده بماند.
SOCKS5 در ناشناسی یک مزیت عملی دارد: هیچوقت هدر اضافه نمیکند؛ بنابراین یک پروکسی SOCKS5 فعال عملاً الیت است. در پروکسیهای HTTP باید ستون سطح ناشناسی را بررسی کنید — پروکسیهای شفاف IP واقعی شما را به سایت منتقل میکنند.
یک نکتهٔ مهم دربارهٔ SOCKS5، موضوع DNS است. اگر کلاینت شما نامهای میزبان را خودش resolve کند، ارائهدهندهٔ DNS شما همهٔ سایتهایی را که باز میکنید میبیند. در curl و Python از socks5h:// استفاده کنید یا در Firefox گزینهٔ «Proxy DNS when using SOCKS v5» را فعال کنید تا نامها از طریق پروکسی resolve شوند.
کدام را انتخاب کنیم
- مرورگر یا یک اسکرپر ساده — HTTP سادهترین گزینه است. یک پروکسی الیت یا ناشناس از لیست HTTP انتخاب کنید.
- تلگرام، کلاینتهای ایمیل، برنامههای دسکتاپ — SOCKS5.
- اسکریپتهایی که اتصال TCP خام باز میکنند — SOCKS5.
- بازیها، VoIP و هر چیزی که با UDP کار میکند — SOCKS5 با پشتیبانی از UDP (که در میان پروکسیهای رایگان کمیاب است).
- نرمافزاری که فقط از یکی از آنها پشتیبانی میکند — همان که پشتیبانی میکند.
نمونههای سریع
curl -x http://IP:PORT https://example.com
curl --socks5-hostname IP:PORT https://example.com
آدرسهای تازه را در لیست پروکسی SOCKS5 و لیست پروکسی HTTP پیدا کنید — هر دو هر دقیقه دوباره بررسی میشوند.