چگونه از پروکسی SOCKS5 در Chrome استفاده کنیم: افزونهها، تنظیمات سیستم، و تانلهای SSH
Chrome هیچ تنظیمات SOCKS5 داخلی ندارد. در اینجا روشهای عملی برای هدایت Chrome از طریق پروکسی SOCKS5 — تنظیمات سیستم، فلگهای خط فرمان، افزونهها، و تانلهای SSH — بهعلاوه نحوه تأیید آن و جلوگیری از نشت DNS و WebRTC آورده شده است.
اگر تا به حال تنظیمات Chrome را باز کرده و به دنبال گزینه پروکسی SOCKS5 گشتهاید، نتیجه را میدانید: وجود ندارد. برخلاف Firefox که یک فیلد میزبان SOCKS5 اختصاصی در تنظیمات اتصال خود دارد، Chrome عمداً رابط کاربری پیکربندی پروکسی در سطح مرورگر را حذف کرده است. این به معنای آن نیست که نمیتوانید از SOCKS5 با Chrome استفاده کنید — فقط یعنی باید یکی از چند مسیر غیرمستقیم را انتخاب کنید. این راهنما هر روش عملی، مزایا و معایب، و بررسیهای نشت را که واقعاً مهم هستند پوشش میدهد.
چرا Chrome تنظیمات بومی SOCKS5 ندارد
Chrome در Windows و macOS پیکربندی پروکسی را به سیستمعامل واگذار میکند. در Linux، به متغیرهای محیطی و فلگهای خط فرمان احترام میگذارد. دلیلش ساده است: تنظیم پروکسی در سطح مرورگر با سیاستهای سیستمی سازمانی و سایر برنامهها تضاد پیدا میکند. اما عارضه جانبی آن این است که SOCKS5، که در دیالوگ پروکسی سیستمی Windows پشتیبانی نمیشود، در آن پلتفرم دشوار میشود.
Chrome زمانی SOCKS5 را میفهمد که از طریق فلگ خط فرمان یا یک افزونه پروکسی به آن بگویید. تمایز مهم این است که Chrome چه چیزی را تجزیه میکند: وقتی Chrome را به یک پروکسی socks5:// اشاره میدهید، نام میزبان را برای تجزیه DNS از راه دور به پروکسی میفرستد (معادل طرح socks5h در ابزارهایی مانند curl). این همان چیزی است که برای رفع مسدودیت جغرافیایی و جلوگیری از نشت DNS میخواهید.
روش ۱: پروکسی SOCKS5 در سطح سیستم (فقط macOS و Linux)
در macOS و Linux، میتوانید یک پروکسی SOCKS5 در سطح سیستم تنظیم کنید و Chrome از آن پیروی میکند. در Windows، این روش کار نمیکند زیرا تنظیمات پروکسی Windows فقط HTTP و HTTPS را میپذیرد.
macOS
- System Settings را باز کنید (یا System Preferences در macOSهای قدیمیتر).
- به Network بروید → اتصال فعال خود را انتخاب کنید → Details → Proxies.
- SOCKS Proxy را فعال کنید و میزبان و پورت را وارد کنید (مثلاً
127.0.0.1:1080). - روی OK و Apply کلیک کنید.
Chrome اکنون تمام ترافیک را از طریق پروکسی SOCKS5 هدایت میکند. توجه داشته باشید که این روی هر برنامهای که به تنظیمات پروکسی سیستم احترام میگذارد تأثیر میگذارد، نه فقط Chrome.
Linux
Chrome در Linux متغیر محیطی all_proxy را میخواند. قبل از اجرای Chrome آن را تنظیم کنید:
export all_proxy="socks5://127.0.0.1:1080"
google-chrome
اگر این برای همه ترافیک کار نکرد، میتوانید بهجای آن از فلگ --proxy-server استفاده کنید (روش ۲ را ببینید).
روش ۲: فلگهای خط فرمان Chrome (همه سیستمعاملها)
قابلاعتمادترین راه برای وادار کردن Chrome به استفاده از پروکسی SOCKS5، مستقل از سیستمعامل، اجرای آن با فلگ پروکسی سرور است. ابتدا همه نمونههای Chrome را ببندید، سپس اجرا کنید:
# macOS
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --proxy-server="socks5://127.0.0.1:1080"
# Linux
google-chrome --proxy-server="socks5://127.0.0.1:1080"
# Windows (Command Prompt)
"C:\Program Files\Google\Chrome\Application\chrome.exe" --proxy-server="socks5://127.0.0.1:1080"
این فلگ باعث میشود Chrome از پروکسی SOCKS5 برای همه درخواستها استفاده کند و تجزیه DNS از راه دور را انجام دهد. برای تأیید، به chrome://net-internals/#proxy بروید و تنظیمات پروکسی مؤثر را ببینید.
یک هشدار: این فقط برای نمونهای از Chrome اعمال میشود که با فلگ اجرا شده است. اگر پنجره جدیدی از یک فرایند Chrome موجود باز کنید، ممکن است تنظیمات را به ارث نبرد. اگر به جداسازی نیاز دارید، از یک user-data-dir جداگانه استفاده کنید.
روش ۳: افزونههای پروکسی برای SOCKS5
افزونههای مرورگر رایجترین راه برای افزودن SOCKS5 به Chrome بدون دست زدن به تنظیمات سیستم هستند. افزونههایی مانند SwitchyOmega (و مدیران پروکسی مشابه) به شما امکان میدهند یک پروفایل SOCKS5 تعریف کنید و بین اتصال مستقیم و پروکسی، بهازای هر تب یا هر دامنه، جابهجا شوید.
نحوه راهاندازی یک افزونه معمولی:
- افزونه را از Chrome Web Store نصب کنید.
- یک پروفایل جدید ایجاد کنید، SOCKS5 را بهعنوان پروتکل انتخاب کنید.
- میزبان و پورت پروکسی را وارد کنید (مثلاً
127.0.0.1:1080). - اگر پروکسی شما به احراز هویت نیاز ندارد، آن را خالی بگذارید.
- پروفایل را اعمال کنید.
افزونهها فقط روی ترافیک Chrome تأثیر میگذارند و میتوانند برای آزمایش راحت باشند. با این حال، از نشت WebRTC جلوگیری نمیکنند و ممکن است در همه موارد جستجوهای DNS داخلی Chrome را پوشش ندهند. همیشه با یک تست نشت تأیید کنید.
روش ۴: هدایت داینامیک پورت SSH (تانل محلی SOCKS5)
اگر به یک سرور راه دور دسترسی SSH دارید، میتوانید با یک فرمان، یک پروکسی SOCKS5 محلی ایجاد کنید:
ssh -D 1080 -N -f [email protected]
این یک پروکسی SOCKS5 روی localhost:1080 باز میکند که ترافیک را از طریق سرور شما تونل میزند. سپس Chrome را با استفاده از فلگ خط فرمان یا یک افزونه پروکسی به آن اشاره دهید. این روش محبوب است زیرا ترافیک بین شما و سرور را رمزنگاری میکند و به هیچ سرویس پروکسی شخص ثالثی نیاز ندارد.
برای بستن تانل، فرایند SSH را پیدا کرده و آن را بکشید، یا از ssh -D 1080 -N [email protected] در یک ترمینال استفاده کنید و پس از اتمام Ctrl+C را فشار دهید.
تأیید کارکرد پروکسی SOCKS5 (و عدم نشت اطلاعات)
پس از پیکربندی هر روش، موارد زیر را بررسی کنید:
- IP عمومی: به یک وبسایت بررسی IP بروید و تأیید کنید که IP پروکسی را نشان میدهد، نه IP واقعی شما را.
- نشت DNS: از یک سایت تست نشت DNS استفاده کنید. چون
socks5://در Chrome تجزیه DNS از راه دور را انجام میدهد، باید سرورهای DNS متعلق به پروکسی را ببینید، نه ISP خود را. - نشت WebRTC: Chrome میتواند IP محلی و عمومی شما را از طریق WebRTC حتی وقتی پروکسی فعال است افشا کند. با یک تست نشت WebRTC آزمایش کنید. برای کاهش، WebRTC را کاملاً غیرفعال کنید یا از افزونهای استفاده کنید که آن را مسدود میکند.
- نمای داخلی Chrome: به
chrome://net-internals/#proxyبروید تا پیکربندی فعلی پروکسی را ببینید، وchrome://net-internals/#dnsبرای دیدن رفتار تجزیه DNS.
دامهای رایج: SOCKS5h، احراز هویت، و سیاستهای Chrome
- SOCKS5 vs SOCKS5h: در Chrome،
socks5://از قبل تجزیه DNS از راه دور را انجام میدهد. طرح جداگانهای به نامsocks5hوجود ندارد. اگر بهsocks5h://در curl عادت دارید، در Chrome فقط ازsocks5://استفاده کنید. - احراز هویت: Chrome احراز هویت نام کاربری/گذرواژه SOCKS5 را از طریق فلگ
--proxy-serverبا قالبsocks5://user:pass@host:portپشتیبانی میکند. برخی افزونهها نیز از آن پشتیبانی میکنند. - سیاستهای سازمانی: اگر Chrome شما توسط یک سازمان مدیریت میشود، ممکن است تنظیمات پروکسی از طریق سیاست اعمال شود.
chrome://policyرا بررسی کنید تا ببینید آیا پیکربندی پروکسی قفل شده است.
نکته کلیدی
Chrome یک چکباکس SOCKS5 به شما نمیدهد، اما چهار مسیر مطمئن دارید: تنظیمات سیستم در macOS/Linux، فلگهای خط فرمان در هر سیستمعامل، یک افزونه پروکسی، یا یک تانل SSH. برای بیشتر کاربران، یک افزونه پروکسی سریعترین راه برای آزمایش پروکسی SOCKS5 در Chrome است، در حالی که فلگ خط فرمان برای استفاده مداوم قابلاعتمادترین است. هر کدام را انتخاب کنید، همیشه وضعیت IP، DNS و WebRTC خود را تأیید کنید — پروکسیای که نشت میکند از نبود پروکسی بدتر است.