نحوه راه‌اندازی پروکسی در macOS

تاریخ انتشار: 19 ژوئیه 2026 · 5 دقیقه مطالعه

خلاصه: پروکسی روی Mac فقط مخصوص مرورگر نیست. روی تراشه‌های Apple silicon، Shadowrocket را از App Store نصب کنید تا یک تونل سراسری به سبک VPN داشته باشید. بدون نرم‌افزار اضافی، از تنظیمات سیستم → شبکه → پروکسی‌ها → پروکسی SOCKS (gw.roamproxy.com پورت 41080) استفاده کنید - اما ابزارهای خط فرمان آن را نادیده می‌گیرند، پس ALL_PROXY را جداگانه تنظیم کنید. برای پوشش کامل سیستم یا مسیریابی مبتنی بر قانون، از یک کلاینت خانواده Clash در حالت TUN استفاده کنید.

کدام روش را باید استفاده کنید؟

پرتکرارترین سوالی که درباره macOS می‌شنویم نسخه‌ای از این است: “آیا پروکسی فقط در مرورگرم کار می‌کند؟ چطور آن را روی همه‌چیز اعمال کنم؟” قطعاً می‌تواند روی همه‌چیز اعمال شود - سه روش برای این کار وجود دارد، و روش درست به سخت‌افزار شما و میزان کنترل مسیریابی که می‌خواهید بستگی دارد.

روشکار می‌کند رویپوشش می‌دهدمیزان تنظیم
Shadowrocketفقط Apple siliconهمه برنامه‌ها (VPN سیستمی)کمترین
تنظیمات پروکسی سیستمیهر Macمرورگرها و برنامه‌های آگاه از پروکسیکم، بدون نصب
کلاینت خانواده Clash، حالت TUNهر Macهمه برنامه‌ها به‌علاوه قوانین مسیریابیبیشترین

روش 1: Shadowrocket (توصیه‌شده روی Apple silicon)

مک‌های سری M می‌توانند نسخه iOS برنامه Shadowrocket را مستقیماً اجرا کنند، و پیکربندی آن دقیقاً مانند iPhone است. این کم‌دردسرترین مسیر است.

  1. فروشگاه Mac App Store را باز کنید، Shadowrocket را جست‌وجو کنید و به تب iPhone & iPad Apps بروید. توسعه‌دهندگان می‌توانند هر زمان اجازه نصب برنامه iOS خود روی macOS را پس بگیرند، پس اگر آنجا ظاهر نشد، یعنی همین الان در دسترس نیست - به‌جای دنبال کردن راه‌حل جایگزین، به روش 2 یا 3 بروید.
  2. برای مراحل پیکربندی، راهنمای راه‌اندازی Shadowrocket ما را دنبال کنید - سرور gw.roamproxy.com، پورت 41080، SOCKS5 با نام‌کاربری و رمزعبور گیت‌وی خود.
  3. پس از فعال‌سازی، به‌صورت یک VPN در سطح سیستم اجرا می‌شود، پس ترافیک همه برنامه‌ها از پروکسی عبور می‌کند، نه فقط مرورگر.

مک‌های Intel اصلاً نمی‌توانند برنامه‌های iOS نصب کنند. به روش 2 یا 3 بروید.

روش 2: تنظیمات پروکسی سیستمی macOS (بدون نیاز به نرم‌افزار)

به تنظیمات سیستم → شبکه → اتصال فعال خود (Wi-Fi یا Ethernet) را انتخاب کنید → جزئیات → پروکسی‌ها بروید:

  1. پروکسی SOCKS را فعال کنید.
  2. سرور را روی gw.roamproxy.com و پورت را روی 41080 تنظیم کنید.
  3. گزینه پروکسی نیاز به رمزعبور دارد را علامت بزنید و نام‌کاربری و رمزعبور گیت‌وی خود را وارد کنید.
  4. روی OK و سپس اعمال کلیک کنید.

این روش چه چیزی را پوشش نمی‌دهد

فقط برنامه‌هایی که عمداً پیکربندی پروکسی سیستمی را می‌خوانند از آن استفاده می‌کنند. Safari و Chrome این کار را می‌کنند. بسیاری از ابزارهای خط فرمان - curl، git، SDKهای زبان‌های برنامه‌نویسی - به‌طور پیش‌فرض آن را نمی‌خوانند و همچنان از IP واقعی شما استفاده می‌کنند. این ناهماهنگی رایج‌ترین منشأ گزارش‌های «مرورگر IP پروکسی را نشان می‌دهد اما اسکریپت من نه» است.

پنل پروکسی سیستمی همچنین هیچ مفهومی از زنجیره‌کردن ندارد، پس اگر شبکه شما نتواند مستقیماً به گیت‌وی ما دسترسی پیدا کند - یک شبکه محدود، یک فایروال سازمانی که پورت خروجی 41080 را مسدود می‌کند - این روش کار نخواهد کرد. به‌جای آن از روش 1 یا روش 3 استفاده کنید.

پیکربندی جداگانه خط فرمان

export ALL_PROXY=socks5h://username:password@gw.roamproxy.com:41080

به‌جای socks5 از socks5h استفاده کنید تا حل DNS نیز روی پروکسی انجام شود. با socks5 ساده، Mac شما نام میزبان‌ها را به‌صورت محلی حل می‌کند، که DNS را افشا می‌کند و اغلب باعث شکست در جست‌وجو می‌شود.

نویسه‌های خاص در رمزعبور خود را percent-encode کنید. مقدار ALL_PROXY یک URL است، پس #، @، / و : درون رمزعبور تجزیه را خراب می‌کنند. یک # به‌تنهایی باعث می‌شود curl بلافاصله با خطای Unsupported proxy syntax شکست بخورد. پیش از جای‌گذاری مقدار، نویسه‌ها را جایگزین کنید.

نویسهبنویسیدش به‌صورت
#%23
@%40
/%2F
:%3A

برای یک دستور تکی می‌توانید کدگذاری را کاملاً کنار بگذارید و اطلاعات ورود را جداگانه با -U ارسال کنید:

curl -x socks5h://gw.roamproxy.com:41080 -U 'username:password' https://ip.sb

روش 3: کلاینت خانواده Clash (مک‌های Intel، یا وقتی به قوانین مسیریابی نیاز دارید)

کلاینت‌هایی مانند ClashX و Clash Verge از حالت پیشرفته / حالت TUN پشتیبانی می‌کنند که تمام ترافیک سیستم را در لایه شبکه ضبط می‌کند، و همچنین می‌توانند خروجی ما را از میان پروکسی دیگری که از قبل اجرا می‌کنید زنجیره کنند.

Roam را به‌عنوان یک پروکسی در پیکربندی خود اضافه کنید:

proxies:
  - name: RoamProxy
    type: socks5
    server: gw.roamproxy.com
    port: 41080
    username: your-username
    password: your-password
    udp: true

زنجیره‌کردن Roam پشت یک پروکسی موجود

اگر شبکه شما نمی‌تواند مستقیماً به gw.roamproxy.com:41080 دسترسی پیدا کند - یک شبکه محدود، یک فایروال سازمانی، یا دستگاهی که فقط از یک مسیر خروجی تأییدشده اجازه خروج دارد - dialer-proxy را به ورودی RoamProxy اضافه کنید و آن را به پروکسی بالادستی که از قبل کار می‌کند اشاره دهید:

    dialer-proxy: your-upstream-proxy-name

در این حالت Clash گیت‌وی ما را از طریق آن پروکسی بالادستی فراخوانی می‌کند، و ترافیک همچنان از یک IP رزیدنشیال Roam خارج می‌شود.

در نهایت، حالت پیشرفته / حالت TUN را روشن کنید تا پیکربندی در سطح کل سیستم اعمال شود.

بررسی عملکرد

در Terminal اجرا کنید:

curl https://ip.sb

اگر IP خروجی Roam شما را برگرداند، کارتان تمام است. اگر مرورگر IP پروکسی را نشان می‌دهد اما curl IP واقعی شما را نشان می‌دهد، فقط پروکسی سیستمی فعال است و خط فرمان از آن عبور نمی‌کند - به مرحله ALL_PROXY در روش 2 برگردید.

اگر اصلاً چیزی بارگذاری نشد، به پروکسی وصل است اما کار نمی‌کند مراجعه کنید.

سوالات متداول

آیا پروکسی روی Mac فقط داخل مرورگر کار می‌کند؟

نه - این فقط رایج‌ترین روشی است که افراد آن را تنظیم می‌کنند. تنظیم پروکسی سیستمی macOS فقط روی برنامه‌هایی اثر می‌گذارد که خودشان تصمیم می‌گیرند آن را بخوانند، و مرورگرها همیشه این کار را می‌کنند. Shadowrocket و حالت TUN در Clash در عوض در لایه شبکه عمل می‌کنند، پس همه برنامه‌های روی دستگاه را پوشش می‌دهند. اگر فقط به مرورگر نیاز دارید، تنظیم پروکسی سیستمی کافی است؛ اگر می‌خواهید Terminal، Node، Python یا یک برنامه بومی از پروکسی عبور کند، از Shadowrocket، حالت TUN یا تنظیم ALL_PROXY در شل خود استفاده کنید.

چرا وقتی مرورگرم درست کار می‌کند، curl با خطای "Unsupported proxy syntax" مواجه می‌شود؟

تقریباً مطمئناً رمزعبور پروکسی شما یک نویسه خاص دارد. ALL_PROXY به‌صورت یک URL تجزیه می‌شود، پس #، @، / یا : در رمزعبور تجزیه را خراب می‌کند - به‌خصوص # باعث می‌شود curl بلافاصله رشته را رد کند. رمزعبور را percent-encode کنید (# به %23 و @ به %40 تبدیل می‌شود) یا برای یک دستور یک‌باره، اطلاعات ورود را جداگانه با -U وارد کنید تا نیازی به کدگذاری نباشد.

باید از socks5 استفاده کنم یا socks5h؟

از socks5h استفاده کنید. با socks5 ساده، Mac شما نام میزبان‌ها را به‌صورت محلی حل می‌کند و فقط اتصال TCP از پروکسی عبور می‌کند، که این کار پرس‌وجوهای DNS شما را افشا می‌کند و اغلب باعث شکست در حل نام برای سایت‌هایی می‌شود که ریزالورِ محلی شما به آن‌ها دسترسی ندارد. socks5h نام میزبان را به پروکسی می‌دهد و اجازه می‌دهد نود خروجی آن را حل کند، که همان چیزی است که برای نتایج دقیق از نظر جغرافیایی می‌خواهید.

من یک Mac با پردازنده Intel دارم و نمی‌توانم Shadowrocket نصب کنم. چه گزینه‌هایی دارم؟

مک‌های Intel نمی‌توانند برنامه‌های iOS را اجرا کنند، پس Shadowrocket در دسترس نیست. اگر فقط به ترافیک مرورگر و برنامه‌های آگاه از پروکسی سیستمی نیاز دارید از تنظیمات داخلی پروکسی سیستمی استفاده کنید، یا یک کلاینت خانواده Clash (ClashX، Clash Verge) نصب کنید و حالت TUN را برای پوشش واقعی کل سیستم فعال کنید. Clash همچنین تنها گزینه از این سه است که از زنجیره‌کردن پروکسی‌ها و قوانین مسیریابی بر اساس دامنه پشتیبانی می‌کند.

Roam دسترسی SOCKS5 و HTTP به IPهای رزیدنشیال چرخشی را با $2/GB و IPهای رزیدنشیال ثابت اختصاصی را با $4/IP در ماه ارائه می‌دهد، روی یک گیت‌وی که با هر روش این صفحه کار می‌کند. یک حساب بسازید و 300 مگابایت ترافیک آزمایشی رایگان بگیرید تا راه‌اندازی Mac خود را از ابتدا تا انتها تست کنید.