Skip to content
مقاله / 2 دقیقه مطالعه

پیکربندی SOCKS5 در فایرفاکس: تنظیمات داخلی، about:config، و پروکسی‌های هر کانتینر

فایرفاکس یک کلاینت واقعی SOCKS5 ارائه می‌دهد — بدون نیاز به افزونه. در اینجا نحوه پیکربندی آن در تنظیمات و about:config، اجبار DNS راه دور، تقسیم ترافیک با FoxyProxy یا Multi-Account Containers، و تأیید اینکه نشت نمی‌کنید را می‌آموزید.

پیکربندی SOCKS5 در فایرفاکس: تنظیمات داخلی، about:config، و پروکسی‌های هر کانتینر

فایرفاکس یکی از معدود مرورگرهای جریان اصلی است که هنوز یک تنظیم کلاینت SOCKS5 واقعی دارد — بدون نیاز به افزونه. این باعث می‌شود وقتی می‌خواهید ترافیک مرورگر را بدون دست زدن به تنظیمات سراسری سیستم از یک پروکسی عبور دهید، گزینه‌ای عملی باشد. این راهنما پیکربندی داخلی، ترجیحات about:config که رفتار DNS را کنترل می‌کنند، و روش‌های تقسیم ترافیک به‌تفکیک سایت یا کانتینر را بررسی می‌کند. همچنین تأیید را پوشش می‌دهیم تا بتوانید ثابت کنید پروکسی همان کاری را می‌کند که فکر می‌کنید.

چرا پشتیبانی SOCKS5 در فایرفاکس مهم است

کروم تنظیم بومی SOCKS5 ندارد؛ به سیستم‌عامل یا پرچم‌های خط فرمان تکیه می‌کند. در مقابل، فایرفاکس یک پیکربندی دستی کامل پروکسی دارد که شامل میزبان SOCKS، پورت، انتخابگر نسخه، و یک چک‌باکس اختصاصی برای واکشی DNS از راه دور است. همین ترکیب فایرفاکس را به آسان‌ترین مرورگر برای اشاره به یک نقطه پایانی SOCKS5 محلی یا راه دور بدون نصب نرم‌افزار اضافی تبدیل می‌کند.

اگر پشت یک شبکه محدودکننده هستید، یک ارائه‌دهنده پروکسی را آزمایش می‌کنید، یا صرفاً مسیریابی به‌تفکیک برنامه را ترجیح می‌دهید، پشتیبانی داخلی فایرفاکس اغلب سریع‌ترین راه برای شروع است. سراسری نیست — فقط ترافیک فایرفاکس از آن استفاده می‌کند — و این دقیقاً همان چیزی است که وقتی نمی‌خواهید سایر برنامه‌ها را مختل کنید می‌خواهید.

پیکربندی SOCKS5 در تنظیمات فایرفاکس (رابط گرافیکی)

  1. تنظیمات فایرفاکس را باز کنید (یا به about:preferences بروید).
  2. به بخش تنظیمات شبکه بروید و روی تنظیمات… کلیک کنید.
  3. پیکربندی دستی پروکسی را انتخاب کنید.
  4. در فیلد میزبان SOCKS، نشانی IP پروکسی را وارد کنید (مثلاً 127.0.0.1 برای یک تونل محلی).
  5. پورت را وارد کنید (مثلاً 1080).
  6. SOCKS v5 را انتخاب کنید.
  7. مطمئن شوید Proxy DNS when using SOCKS v5 (DNS از راه دور) تیک خورده است.
  8. روی OK کلیک کنید.

فیلد No proxy for فهرستی جداشده با کاما از میزبان‌هایی را می‌پذیرد که باید پروکسی را دور بزنند — معمولاً localhost, 127.0.0.1 تا از حلقه با سرویس‌های محلی جلوگیری شود.

ترجیحات about:config پشت رابط گرافیکی

هر چیزی که رابط گرافیکی تنظیم می‌کند در about:config ذخیره می‌شود. این‌ها ترجیحاتی هستند که برای SOCKS5 اهمیت دارند:

ترجیح هدف مقدار معمول
network.proxy.type 1 = پیکربندی دستی پروکسی 1
network.proxy.socks نشانی میزبان SOCKS 127.0.0.1
network.proxy.socks_port پورت SOCKS 1080
network.proxy.socks_version 5 برای SOCKS5 5
network.proxy.socks_remote_dns حل DNS در پروکسی به‌جای محلی true
network.proxy.no_proxies_on فهرست عبور (bypass) localhost, 127.0.0.1

همچنین می‌توانید این‌ها را از طریق یک فایل user.js در پوشه پروفایل فایرفاکس تنظیم کنید، که برای آماده‌سازی یک پروفایل یا خودکارسازی یک راه‌اندازی آزمایشی مفید است:

// user.js — Firefox SOCKS5 configuration
user_pref("network.proxy.type", 1);
user_pref("network.proxy.socks", "127.0.0.1");
user_pref("network.proxy.socks_port", 1080);
user_pref("network.proxy.socks_version", 5);
user_pref("network.proxy.socks_remote_dns", true);
user_pref("network.proxy.no_proxies_on", "localhost, 127.0.0.1");

DNS راه دور: تنظیمی که از نشت جلوگیری می‌کند

وقتی از یک پروکسی SOCKS5 استفاده می‌کنید، حل DNS می‌تواند در دو جا انجام شود: به‌صورت محلی روی دستگاه شما، یا از راه دور در پروکسی. تمایز socks5 در برابر socks5h در ابزارهای خط فرمان دقیقاً به همین دلیل وجود دارد. در فایرفاکس، چک‌باکس Proxy DNS when using SOCKS v5 مقدار network.proxy.socks_remote_dns را کنترل می‌کند.

اگر DNS راه دور غیرفعال باشد، فایرفاکس نام‌های دامنه را با استفاده از resolver محلی شما قبل از فرستادن اتصال به پروکسی حل می‌کند. این می‌تواند سایت‌هایی که بازدید می‌کنید را به ISP یا شبکه محلی شما نشت دهد. DNS راه دور را فعال کنید تا پروکسی نام‌های میزبان را به‌جای شما حل کند. می‌توانید با بازدید از یک سایت تست نشت DNS بررسی کنید که آیا IP resolver متعلق به پروکسی شماست یا ISP شما.

مسیریابی به‌تفکیک سایت با FoxyProxy

تنظیمات پروکسی داخلی فایرفاکس روی همه ترافیک اعمال می‌شود. اگر لازم است فقط سایت‌های خاصی از پروکسی عبور کنند — و بقیه مستقیم بمانند — FoxyProxy Standard راه‌حل معمول است.

  1. افزونه FoxyProxy Standard را نصب کنید.
  2. گزینه‌های آن را باز کنید و یک پروکسی جدید اضافه کنید: SOCKS5 را انتخاب کنید، میزبان و پورت را وارد کنید.
  3. اگر پروکسی احراز هویت لازم دارد، نام کاربری و رمز عبور را وارد کنید. FoxyProxy این‌ها را ذخیره می‌کند، برخلاف اعلان داخلی فایرفاکس که هر جلسه می‌پرسد.
  4. یک الگو بسازید که با سایت‌هایی که می‌خواهید پروکسی شوند مطابقت داشته باشد. الگوها می‌توانند wildcard باشند (مثلاً *.example.com/*) یا عبارت باقاعده.
  5. حالت را روی استفاده از پروکسی‌ها بر اساس الگوها و اولویت‌های از پیش تعریف‌شده‌شان بگذارید.
  6. با بازدید از سایتی که IP شما را نشان می‌دهد آزمایش کنید — باید برای الگوهای مطابق نشانی پروکسی و برای بقیه نشانی واقعی شما را نشان دهد.

FoxyProxy به‌ویژه برای تونل‌زدن تقسیم‌شده (split-tunnelling) مفید است: یک اپلیکیشن وب خاص را از یک پروکسی محدودشده جغرافیایی عبور دهید در حالی که مرور عادی دست‌نخورده می‌ماند.

پروکسی‌های هر کانتینر و پروفایل‌های مجزا

Multi-Account Containers فایرفاکس کوکی‌ها و حافظه را جدا می‌کند، اما به‌صورت بومی از تنظیمات پروکسی متفاوت برای هر کانتینر پشتیبانی نمی‌کند. برای اختصاص پروکسی به هر کانتینر، می‌توانید از یک افزونه شخص ثالث مانند Container Proxy استفاده کنید که کانتینرها را به پیکربندی‌های پروکسی نگاشت می‌کند. این یک راه‌اندازی پیشرفته است و افزونه توسط Mozilla نگهداری نمی‌شود، پس با احتیاط آزمایش کنید.

یک جایگزین ساده‌تر و قوی‌تر اجرای پروفایل‌های جداگانه فایرفاکس است. هر پروفایل about:config، افزونه‌ها و تنظیمات پروکسی خودش را دارد. می‌توانید یک پروفایل خاص را از خط فرمان اجرا کنید:

firefox -P "Work" -no-remote

«Work» را با نام پروفایل خود جایگزین کنید. پرچم -no-remote به نمونه جدید اجازه می‌دهد در کنار یک فرایند فایرفاکس موجود اجرا شود. می‌توانید پروفایل‌ها را از طریق Firefox Profile Manager (firefox -ProfileManager) بسازید و سپس در هر کدام یک پروکسی SOCKS5 متفاوت تنظیم کنید.

SOCKS5 محلی از طریق تونل SSH (بدون نیاز به ارائه‌دهنده)

اگر یک VPS یا هر دسترسی SSH دارید، می‌توانید بدون سرویس پروکسی تجاری یک پروکسی SOCKS5 محلی بسازید. قابلیت انتقال دینامیک SSH (-D) اتصال SSH شما را به یک پروکسی SOCKS5 روی یک پورت محلی تبدیل می‌کند:

ssh -D 1080 -N -C [email protected]
  • -D 1080 به SSH می‌گوید روی پورت محلی 1080 به‌عنوان یک پروکسی SOCKS5 گوش دهد.
  • -N از اجرای یک فرمان راه دور جلوگیری می‌کند — شما فقط تونل را می‌خواهید.
  • -C فشرده‌سازی را فعال می‌کند، که می‌تواند در اتصال‌های کند کمک کند.

سپس فایرفاکس را به 127.0.0.1:1080 با SOCKS v5 و DNS راه دور فعال اشاره دهید. ترافیک شما از IP سرور خارج می‌شود، و لایه SSH اتصال بین شما و سرور را رمزنگاری می‌کند. این یک الگوی رایج برای آزمایش یا دسترسی موقت به محتوای محدودشده جغرافیایی است.

تأیید کارکرد پروکسی (و عدم نشت)

پس از پیکربندی فایرفاکس، فرض نکنید همه‌چیز درست است. این بررسی‌ها را انجام دهید:

  • بررسی IP: از سرویسی که IP عمومی شما را بازمی‌گرداند بازدید کنید (مثلاً ifconfig.me). IP نمایش‌داده‌شده باید با نشانی خروجی پروکسی مطابقت داشته باشد، نه نشانی واقعی شما.
  • تست نشت DNS: از یک سایت تست نشت DNS استفاده کنید. resolver باید resolver پروکسی یا یک سرویس DNS عمومی باشد، نه سرور ISP شما. اگر resolver ISP خود را دیدید، احتمالاً DNS راه دور غیرفعال است.
  • بررسی WebRTC: برخی سایت‌ها می‌توانند حتی وقتی پروکسی فعال است IP محلی شما را از طریق WebRTC کشف کنند. می‌توانید WebRTC را در about:config با تنظیم media.peerconnection.enabled روی false غیرفعال کنید، اما این کنفرانس ویدیویی و برخی اپلیکیشن‌های وب را خراب می‌کند. فقط اگر نیاز به پنهان‌کردن IPهای محلی دارید از آن استفاده کنید.
  • تست خط فرمان: از یک ترمینال، پروکسی را مستقیماً با curl آزمایش کنید:
curl --socks5-hostname 127.0.0.1:1080 https://ifconfig.me

پرچم --socks5-hostname curl را مجبور می‌کند DNS را از راه دور از طریق پروکسی حل کند، مطابق با رفتار DNS راه دور فایرفاکس. اگر curl کار می‌کند اما فایرفاکس نه، مشکل احتمالاً در پیکربندی فایرفاکس یا یک افزونه مزاحم است.

مشکلات رایج و راه‌حل‌ها

  • اعلان‌های احراز هویت پروکسی: تنظیمات پروکسی داخلی فایرفاکس اعتبارنامه‌ها را ذخیره نمی‌کند، بنابراین در هر جلسه جدید می‌پرسد. از FoxyProxy یا افزونه‌ای مشابه برای ذخیره آن‌ها استفاده کنید.
  • پروکسی اصلاً کار نمی‌کند: میزبان و پورت را بررسی کنید، مطمئن شوید پروکسی قابل دسترسی است (اول با curl تست کنید)، و بررسی کنید که فایروالی پورت را مسدود نمی‌کند.
  • نشت‌های DNS: تأیید کنید network.proxy.socks_remote_dns روی true است. این رایج‌ترین نوع نشت است.
  • نشت‌های WebRTC: اگر نیاز دارید از افشای IP محلی جلوگیری کنید، media.peerconnection.enabled را غیرفعال کنید.
  • مشکلات فهرست عبور: مطمئن شوید localhost و 127.0.0.1 در network.proxy.no_proxies_on هستند تا از حلقه با سرویس‌های محلی جلوگیری شود.

وقتی پروکسی مرورگر کافی نیست

فایرفاکس فقط ترافیک خودش را پروکسی می‌کند. اگر به مسیریابی سراسری سیستم، کنترل به‌تفکیک برنامه، یا استفاده ابزارهای خط فرمان از پروکسی نیاز دارید، به لایه دیگری نیاز خواهید داشت. برای مسیریابی به‌تفکیک برنامه در Windows و macOS، راهنمای ما درباره Proxifier + SOCKS5 را ببینید. برای Linux، proxychains و redsocks رویکردهای رایج هستند. اگر به پروکسی‌های چرخشی برای اسکرپینگ نیاز دارید، پیکربندی مرورگر لایه درستی نیست — به‌جایش از یک کتابخانه Python یا یک دروازه چرخشی استفاده کنید.

نتیجه

پشتیبانی داخلی SOCKS5 فایرفاکس یکی از تمیزترین راه‌ها برای عبور دادن یک مرورگر از پروکسی بدون تغییرات سراسری سیستم است. آن را در تنظیمات یا about:config تنظیم کنید، همیشه DNS راه دور را فعال کنید، و وقتی به کنترل به‌تفکیک سایت یا کانتینر نیاز دارید به FoxyProxy یا پروفایل‌های جداگانه روی آورید. قبل از اعتماد به آن با ترافیک حساس، با بررسی IP، تست نشت DNS، و یک فرمان curl تأیید کنید.