Shadowsocks گوشهٔ عجیبی از تاریخ اینترنت را اشغال کرده: پروکسی‌ای که یک توسعه‌دهندهٔ تنها در چین در سال ۲۰۱۲ نوشت، به‌صورت متن‌باز منتشر کرد، و میلیون‌ها نفر بی‌سروصدا آن را به‌عنوان اسب‌بارکشِ دورزدنِ دیوار آتش پذیرفتند. مدام با VPN‌ها مقایسه می‌شود، معمولاً با پرسش غلط — «کدام بهتر است؟» — حال آنکه این دو واقعاً در پی انجام یک کار نیستند.

پاسخ کوتاه: Shadowsocks یک پروکسی رمزشده است که طراحی شده تا ترافیک را از میان دیوارهای آتش ملی عبور دهد بدون آنکه شناخته شود. یک VPN یک تونل رمزشده برای کل دستگاه شماست که برای حریم خصوصی در برابر شبکه‌ای که در آن هستید طراحی شده. هم‌پوشانی دارند، اما به تهدیدهای متفاوتی پاسخ می‌دهند — و انتخاب درست به این بستگی دارد که کدام تهدید واقعاً تهدیدِ شماست.

نکات کلیدی

  • Shadowsocks یک پروکسی SOCKS5 رمزشده است که برای عبور از سانسور ساخته شده؛ هرگز به‌عنوان یک محصول حریم خصوصی طراحی نشده بود.
  • ترفندش شبیه‌هیچ‌چیز‌بودن است: بدون امضای دست‌دادن، بدون نشانِ پروتکل، فقط بایت‌های رمزشدهٔ بی‌شکل.
  • یک VPN هر برنامهٔ روی دستگاه را می‌پوشاند، با رفتار استانداردشده پیرامون نشت‌ها و اتصال‌های قطع‌شده؛ پیکربندی‌های پروکسی بسیار متفاوت‌اند.
  • دیوارهای آتش مدرن یاد گرفته‌اند ترافیکِ «شبیه‌هیچ‌چیز» را علامت بزنند، پس Shadowsocksِ کلاسیک دیگر یک عبور رایگان نیست.
  • بر اساس مدل تهدید انتخاب کنید: مقاومت در برابر سانسور، حریم خصوصیِ کلِ دستگاه، یا — که روزبه‌روز رایج‌تر می‌شود — هر دو در یک اپ.

Shadowsocks واقعاً چیست

در سال ۲۰۱۲، توسعه‌دهنده‌ای که با نام clowwindy می‌نوشت ابزار کوچکی برای عبوردادن ترافیک شخصی از دیوار آتش ملی چین منتشر کرد. در سال ۲۰۱۵، پس از فشار مقامات، کد را حذف کرد و کنار کشید. پروژه به‌صورت پیاده‌سازی‌های نگهداری‌شده توسط جامعه دوام آورد و از آن زمان فعالانه توسعه یافته است — پایهٔ ابزارهایی مانند Outline هم هست. آن داستانِ پیدایش، طراحی را کاملاً توضیح می‌دهد: Shadowsocks را کسی ساخت که مشکلش دیوار آتش بود، نه آگهی‌دهنده.

از نظر سازوکار، Shadowsocks یک جفت است: یک کلاینت روی دستگاه شما و یک سرور جایی بیرون از شبکهٔ فیلترشده. کلاینت ترافیک برنامه‌ها را از طریق SOCKS5 — رابط استاندارد پروکسی — می‌گیرد، آن را با رمزهای احرازهویت‌شدهٔ مدرن رمزگذاری می‌کند، و از طریق سرور پیش می‌فرستد، که آن را به مقصد واقعی می‌رساند.

بخش هوشمندانه همان چیزی است که غایب است. یک اتصال رمزشدهٔ معمولی خودش را اعلام می‌کند: TLS با یک سلامِ قابل‌تشخیص باز می‌شود، و یک پروتکل VPN با یک دست‌دادنِ قابل‌تشخیص باز می‌شود. یک اتصال پروکسی Shadowsocks با هیچ‌چیز باز می‌شود. از نخستین بایت، جریان یک متنِ‌رمزِ پرآنتروپی است بدون هدر، بدون نشان، و بدون اندازهٔ بستهٔ ثابت. امضایی برای مطابقت‌دادن نیست چون ساختاری برای دیدن نیست.

این چه تفاوتی با VPN دارد

تفاوت از لایه‌ای که هر کدام روی آن کار می‌کنند آغاز می‌شود، و از همان‌جا گسترش می‌یابد.

پوشش. یک VPN در سطح سیستم‌عامل یک رابط شبکه می‌سازد و کل دستگاه را از میان آن مسیریابی می‌کند — هر برنامه، از جمله آن‌هایی که اصلاً تنظیمات پروکسی ندارند. Shadowsocks یک پروکسی است: به‌طور کلاسیک، برنامه‌هایی را که به‌سویش نشانه گرفته شده‌اند حمل می‌کند. کلاینت‌های موبایل این را محو می‌کنند با مسیریابی کل سیستم از میان یک رابط تونل محلی، اما این ویژگیِ کلاینتی است که نصب می‌کنید، نه تضمینِ پروتکل.

رفتار هنگام خطا. اپ‌های پختهٔ VPN پاسخ‌های استانداردی به پرسش‌های ناخوشایند دارند: همان لحظه که تونل می‌افتد چه بر سر ترافیک می‌آید، درخواست‌های DNS کجا می‌روند، آیا چیزی از کناره‌ها لیز می‌خورد. با Shadowsocks، پاسخ‌ها کاملاً به این بستگی دارند که کدام کلاینت را انتخاب کرده‌اید و چطور پیکربندی شده — هیچ‌کدامش را پروتکل تضمین نمی‌کند.

اعتماد. یک ارائه‌دهندهٔ VPN شرکتی است که می‌توانید آن را با سیاست ثبت لاگ و سابقه‌اش بسنجید — همان چیزهایی که در معنای واقعی سیاست no-logs بررسی می‌کنیم. سرورهای Shadowsocks معمولاً خودمیزبان‌اند یا از فروشندگان کوچک و اغلب ناشناس خریده می‌شوند. در هر صورت، کسی سرِ دیگر را اداره می‌کند و می‌تواند ببیند ترافیک شما به کجا می‌رود. پروکسی نیاز به اعتماد به نقطهٔ پایانی را برنمی‌دارد؛ تغییر می‌دهد که به چه کسی اعتماد می‌کنید، و با یک فروشنده معمولاً هیچ‌چیز دربارهٔ او نمی‌دانید.

اگر نسخهٔ کلیِ این مقایسه را می‌خواهید — پروکسی‌ها در برابر VPN‌ها، فراتر از سانسور — آن در VPN در برابر پروکسی است.

چرا یک دهه کار کرد

بازرسی عمیق بسته در هستهٔ خود مطابقت امضاست: پروتکل را بشناس، سپس سیاست را تصمیم بگیر. Shadowsocks چیزی برای شناختن به آن نمی‌داد. این کار سانسورگرها را با دو گزینهٔ ناخوشایند تنها می‌گذاشت — مسدودکردن نشانی‌های مقصد یکی‌یکی، یک بازی موش‌و‌گربه در برابر سرورهای اجاره‌ایِ ارزان، یا مسدودکردن هرچه نمی‌توانند طبقه‌بندی کنند و پذیرفتن آسیب جانبی به ترافیک رمزشدهٔ معمولی.

سال‌ها، آن آسیب جانبی نمی‌ارزید، و Shadowsocks از میان شکاف لیز می‌خورد. آن شکاف رو به بسته‌شدن بوده است.

چرا «هنوز کار می‌کند؟» حالا یک پرسش واقعی است

دو ضدِاقدام تصویر را عوض کردند. اولی کاوش فعال (active probing) است: وقتی سامانه‌های سانسور یک اتصال مشکوک را می‌بینند، خودشان به همان سرور وصل می‌شوند و آزمایش می‌کنند چطور پاسخ می‌دهد و به‌دنبال رفتار پروکسی می‌گردند. دومی صریح‌تر است. پژوهشگران در USENIX Security 2023 مستند کردند که از اواخر ۲۰۲۱، دیوار آتش چین گاه به‌سادگی اتصال‌هایی را می‌اندازد که نخستین بسته‌هایشان شبیه دادهٔ پرآنتروپیِ بی‌شکل به‌نظر می‌رسند — دقیقاً همان نبودِ ساختاری که Shadowsocks را نامرئی می‌کرد. وقتی سانسورگر تصمیم می‌گیرد که ترافیکِ شبیه‌هیچ‌چیز خودش همان نشانه است، شبیه‌هیچ‌چیز‌بودن دیگر یک لباس مبدل نیست.

جامعه در دو جهت پاسخ داد. یک: Shadowsocks را درون لایه‌های انتقالِ واقعاً معمولی‌به‌نظر بپیچیم — نشست‌های واقعی TLS، اتصال‌های WebSocket. دو: پروتکل‌های واقعی را آشکارا تقلید کنیم — ابزارهای جانشین در خانوادهٔ trojan و REALITY حتی هنگام کاوش‌شدن خود را به شکل HTTPSِ معمولی نشان می‌دهند. مشخصات جدیدتر Shadowsocks هم پروتکل را در برابر ترفندهای کاوش که نسخه‌های قدیمی‌تر را گرفتند مقاوم‌تر کردند. بازی موش‌و‌گربه ادامه دارد؛ دوران یک ابزار سادهٔ واحد که بی‌سروصدا همه‌جا کار کند به سر آمده است.

چرخش به‌سوی QUIC

جدیدترین فصل از میان QUIC می‌گذرد، همان لایهٔ انتقالِ رمزشدهٔ UDP که زیر HTTP/3 است. سهم بزرگی از ترافیک وب معمولی اکنون QUIC است، که آن را به پوششی عالی بدل می‌کند: تونلی که خود را به شکل HTTP/3 نشان می‌دهد شبیه مرور روزمره به‌نظر می‌رسد نه نوفه. این همان چیزی است که جست‌وجوها برای یک «QUIC VPN» واقعاً دربارهٔ آن‌اند — ابزارهای دورزدنِ جدیدتر مانند Hysteria2 و TUIC برای پوشش و برای کارایی روی مسیرهای طولانی و پُرافت سوار QUIC می‌شوند، و کارِ MASQUE در IETF در حال استانداردسازیِ پروکسی روی HTTP/3 است. اپل iCloud Private Relay را از همان خانوادهٔ ایده‌ها ساخت — iCloud Private Relay در برابر VPN به این می‌پردازد که چطور مقایسه می‌شود.

QUIC هم نقطهٔ پایان نیست. سانسورگرها می‌توانند و در دوره‌های حساس UDP را یکجا کند یا مسدود می‌کنند، که ترافیک را دوباره به‌سوی لباس‌های مبدلِ TCP و TLS می‌رانَد. هیچ لایهٔ انتقالی همه‌جا برنده نیست — به همین دلیل است که ابزارهای دورزدن پیوسته متنوع‌تر می‌شوند، و پرسش پایدار «کدام پروتکل» نیست بلکه این است که آیا ابزار شما می‌تواند لباس عوض کند.

به کدام نیاز دارید؟

بر اساس مشکلی که واقعاً پیش روی شماست مرتبش کنید:

  • شبکه نمی‌گذارد بیرون بروید. جایی که پروتکل‌های VPN شناسایی و انداخته می‌شوند، مبهم‌سازی عامل تعیین‌کننده است، و یک پروتکل استاندارد VPN با تنظیمات پیش‌فرض ممکن است صرفاً وصل نشود. این زمین خانگیِ Shadowsocks است — و همین نیاز شاخه‌های مبهم‌شدهٔ WireGuard را پدید آورد، که در AmneziaWG در برابر WireGuard پوشش می‌دهیم.
  • حریم خصوصی در برابر شبکه و ISP‌تان را می‌خواهید. پوششِ کلِ دستگاه، مدیریت قابل‌پیش‌بینیِ DNS، و رفتار معقول هنگام افتادن تونل بیش از لایه‌های انتقالِ نامتعارف اهمیت دارند. این ستون VPN است، و بیشتر کاربردِ روزمره را تشکیل می‌دهد: وای‌فای هتل، پروفایل‌گیری ISP، شبکه‌های نامطمئن. مقالهٔ چطور VPN سانسور را دور می‌زند مرز این دو دنیا را با جزئیات بیشتری می‌کشد.
  • هر دو. کسانی که روی شبکه‌های به‌شدت فیلترشده‌اند معمولاً هر دو را همزمان لازم دارند: پوشش VPN، با ترافیکی که خودش را اعلام نمی‌کند. تاریخاً این یعنی خودتان یک پیکربندی را از اجزای جداگانه سرِ هم کنید. روزبه‌روز بیشتر، یعنی یک VPN که اتصالش از پایه مبهم‌شده است.

Snap VPN این را از سمت VPN دنبال می‌کند: WireGuard در زیر، با تکنیک‌های مبهم‌سازی خودمان که روی اتصال اعمال می‌شوند تا امضای کتابیِ یک VPN را به دست سامانه‌های بازرسی ندهد. ما جزئیات سطح‌سیم را منتشر نمی‌کنیم — لباس‌های مبدل وقتی مستند شوند زود کهنه می‌شوند — اما هدف همان است که کل این مقایسه به آن اشاره می‌کند: حریم خصوصیِ کلِ دستگاه که هنوز روی شبکه‌هایی که ترافیک VPN در آن‌ها شکار می‌شود وصل می‌شود.

پرسش‌های پرتکرار

آیا Shadowsocks یک VPN است؟ نه. یک پروکسی رمزشده است. کلاینت‌های موبایل می‌توانند کل دستگاه را از میان آن مسیریابی کنند، که حسش را شبیه VPN می‌کند، اما تضمین‌هایی که یک اپ VPN استاندارد می‌کند — مسیریابیِ کلِ دستگاه، مدیریت نشت، رفتار هنگام افتادن تونل — بخشی از خودِ پروتکل Shadowsocks نیستند.

آیا Shadowsocks هنوز کار می‌کند؟ در بسیاری جاها، بیشتر اوقات، بله — اما Shadowsocksِ کلاسیک دیگر عبور رایگان نمی‌گیرد. سامانه‌های سانسور مدرن ترافیک کاملاً رمزشدهٔ «بی‌ساختار» را علامت می‌زنند و سرورهای مشکوک را فعالانه کاوش می‌کنند، پس پیکربندی‌های امروزی به مشخصات مقاوم‌شده، پیچیدن در TLS، یا پروتکل‌های جانشین تکیه می‌کنند.

چه چیزی از Shadowsocks بهتر است؟ بستگی دارد که «بهتر» قرار است چه معنایی بدهد. برای پرهیز از شناسایی در این روزها، جانشین‌هایی که HTTPSِ واقعی را تقلید می‌کنند یا سوار QUIC می‌شوند دست بالا را دارند. برای حریم خصوصیِ روزمره روی شبکه‌های معمولی، یک VPNِ no-logs ابزار ساده‌تر و کامل‌تری است.

آیا Shadowsocks امن است؟ رمزگذاری سالم است — رمزهای احرازهویت‌شدهٔ مدرن، با مشخصات باز. خطرهای عملی جای دیگری‌اند: هرکس سرور شما را اداره می‌کند می‌تواند ببیند ترافیک شما به کجا می‌رود، و کلاینت‌های دانلودشده از منابع تصادفی ممکن است دستکاری شده باشند. خودمیزبانی اولی را حل می‌کند؛ نصبِ فقط بیلدهای رسمی دومی را.

جمع‌بندی

  • Shadowsocks یک پروکسیِ گریز از سانسور است که با نداشتن هیچ شکلِ قابل‌تشخیصی کار می‌کند. یک VPN یک تونل حریم خصوصیِ کلِ دستگاه است.
  • به تهدیدهای متفاوتی پاسخ می‌دهند، و «بهتر» فقط نسبت به تهدید شما معنا دارد.
  • سانسورگرها به «شبیه‌هیچ‌چیز» رسیدند، پس میدان به‌سوی شبیه‌چیزی‌واقعی‌بودن حرکت کرد — TLS، WebSocket، QUIC.
  • برای بیشتر مردم، بیشتر اوقات، پاسخ عملی یک VPN است — ترجیحاً یکی که خودش را به سخت‌افزار بازرسی اعلام نمی‌کند.

اگر روی iPhone هستید و یک VPN می‌خواهید که WireGuard اجرا کند، اتصال خودش را مبهم کند، و نپرسد شما که هستید — بدون ایمیل، بدون حساب، بدون لاگ ترافیک — Snap VPN روی App Store است.