پرش به محتوای اصلی
Chen Dahuang
همهٔ مقاله‌ها
مطالعهٔ 4 دقیقه‌ای اصلی

تجمیع اشتراک پروکسی‌ام را به Cloudflare منتقل کردم

چند سرویس پروکسی به‌علاوهٔ نودهای شخصی خودت را در یک اشتراک واحد ترکیب کن، با قوانین مسیریابی پیکربندی‌شده در سمت سرور — کلاینت‌ها فقط مشترک می‌شوند.

Chen Dahuang

Chen Dahuang

توسعه‌دهندهٔ مستقل

تجمیع اشتراک پروکسی‌ام را به Cloudflare منتقل کردم

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

بعد فکر کردم: هیچ دلیلی ندارد اشتراک‌ها را جداگانه داخل کلاینت‌ها مدیریت کنیم. همه را در یک لینک جمع کن، قوانین را سمت سرور تعریف کن و بگذار کلاینت فقط مشترک شود — تمیز. قبلاً از روش Sub-Store استفاده کرده بودم، اما روی سرور خودت اجرا می‌شد و نگهداری‌اش را دردسر می‌دانستم. پس این بار نسخه‌ای نوشتم که روی Cloudflare اجرا می‌شود، به اسم sub-store-cloudflare، و متن‌بازش کردم روی GitHub.

واقعاً فقط یک کار می‌کند

چند منبع اشتراک را در یک اشتراک ترکیب می‌کند.

مشخص‌تر بگویم، می‌توانی چند چیز داخلش بندازی:

  • لینک‌های اشتراک از چند سرویس پروکسی
  • متن نودهای VPS خودت (vless، trojan، ss، vmess — همه اوکی‌اند)
  • حتی یک تکه نودِ موقتی را paste کن

وقتی داخل آمد، Worker آن‌ها را می‌گیرد و حذف تکراری (de-duplicate) می‌کند، طبق قوانینی که داده‌ای فیلتر می‌کند، بعد در صورت نیاز تغییر نام می‌دهد، پرچم اضافه می‌کند و دامنه رزولوشن می‌کند. همه‌چیز خروجی در یک اشتراک ترکیبی می‌آید — کلاینت به همان یک لینک مشترک می‌شود و تمام.

قوانین سمت سرور زندگی می‌کنند. چند قالب رایج Mihomo به‌همراه دارد — acl4ssr، لیست سفید/سیاه Loyalsoldier، ai-streaming و امثال آن — با گروه‌های مسیریابی و مجموعه‌قوانین، همگی در کلود پیکربندی شده‌اند. اشتراک را داخل کلاینت‌هایی مثل mihomo/clash، surge، sing-box، shadowrocket بنداز و چیزی که دانلود می‌شود، اشتراکی تمام‌وکمال است که قوانین مسیریابی داخلش ساخته شده — بدون اینکه آن طرف دستی قوانین بنویسی یا URL مجموعه‌قوانین نگهداری کنی.

چرا مخصوصاً Cloudflare

دلایل عملگرایانه:

  • بدون سرور. Workers + D1، و سهمیهٔ رایگان برای استفادهٔ شخصی کافی است — هم پول سرور صرفه‌جویی می‌شود هم نگهداری.
  • دامنهٔ workers.dev خودش بیرون از دیوار است. اتصال کلاینت‌ات برای گرفتن اشتراک بدون دردسر کار می‌کند — خبری از مزخرفات عروسکِ تو در توِ «سرور خارج از کشور است اما نود برای کشیدنِ اشتراکِ خودش هنوز فیلترشکن می‌خواهد» نیست.
  • بعد از دیپلوی، یک پنل ادمینِ وب است به‌علاوهٔ یک endpoint دانلود. کلاینت گوشی‌ات را عوض کنی، باز هم می‌توانی با باز کردن یک صفحهٔ وب، تنظیمات را تغییر دهی.

عمداً استک را کوچک نگه داشتم: Worker + Static Assets + D1 + Worker Secrets. KV، R2، Durable Objects، Queue، Cron همگی از مسیر اصلی خارج‌اند — هرچه کمتر، بهتر.

دو مسیر دیپلوی، از روی عمد

اولی برای کسانی است که فقط می‌خواهند استفاده کنند: دکمهٔ Deploy to Cloudflare داخل مخزن را بزن. Cloudflare مخزن را می‌کشد، Worker و D1 می‌سازد، دو تا توکن ازت می‌پرسد و وقتی تمام شد یک لینک مدیریتی با توکن دستت می‌دهد. قدم‌به‌قدم، بدون دست زدن به خط فرمان.

دومی برای من است و برای کسانی که عاشق دست‌کاری (tinkering) هستند: نصب یک‌کلیکی با یک عامل هوش مصنوعی.

مخزن یک پروتکل عامل (AGENTS.md + یک SKILL داخل عامل) با خودش دارد. منابع اشتراک، اشتراک‌های ترکیبی که می‌خواهی و قالب‌های قوانین را داخل یک فایل پیکربندی محلی می‌نویسی، pnpm run install:cloudflare را اجرا می‌کنی، و عامل لاگین Cloudflareات را چک می‌کند، دیتابیس می‌سازد، سکرت‌ها را می‌نویسد، مهاجرت (migration) می‌کند، دیپلوی می‌کند، پیکربندی ایمپورت می‌کند، لینک‌ها را تأیید می‌کند و در نهایت لینک مدیریت و لینک دانلود را تحویل دستت می‌دهد.

من خودم دقیقاً با همین راه لینکم را دیپلوی کردم، پس این مسیر را توصیه می‌کنم — دردسرش کمتر است. وقتی با Codex / Claude Code استفاده می‌کنی، فقط پرامپت را از agent/install.prompt.md داخل مخزن کپی کن.

برای چه کسی است

راستش را بگویم: اگر بیشتر از یک سرویس پروکسی به‌علاوهٔ چند نود self-hosted داری و می‌خواهی در یک اشتراک واحد برای استفادهٔ خودت ترکیب‌شان کنی — این پروژهٔ توست. اگر با یک سرویس به‌خوبی و خوشی کارت می‌گذرد، واقعاً به این نیاز نداری.

کد کاملاً متن‌باز است، AGPL. تعامل فرانت‌اند ادای احترامی به Sub-Store اصلی است؛ نسخهٔ اصلی در کانتینر اجرا می‌شود و اکوسیستم کلاینتِ وسیع‌تری را پوشش می‌دهد. نسخهٔ من فرمِ باریک‌ترِ Cloudflare-native است — راحت‌تر تغییرش می‌دهم و مستقیم دیپلوی می‌شود، نه یک کلونِ خط‌به‌خط.

علاقه‌مندان می‌توانند مخزن را بگردند — README نسبتاً کامل است، فقط مراحل دیپلوی را دنبال کنید.

اگر این مطلب به دردتان خورد، خوشحال می‌شویم آن را با دیگران به اشتراک بگذارید.
اشتراک‌گذاری در X

مطالب مرتبط