Skip to content

Instantly share code, notes, and snippets.

@armamini
Last active February 15, 2026 20:49
Show Gist options
  • Select an option

  • Save armamini/7fe50fa3092323da7bc3fef514dacbe4 to your computer and use it in GitHub Desktop.

Select an option

Save armamini/7fe50fa3092323da7bc3fef514dacbe4 to your computer and use it in GitHub Desktop.
Implement a reliable connection over Websocket via Cloudflare Workers

ساخت با Cloudflare Workers

این راهنما به شما کمک می‌کند تا بدون هزینه و سرور مجازی، یک کانفیگ شخصی با سرعت بالا و پینگ مناسب روی زیرساخت کلادفلر بسازید. (V2Ray over Websocket)


📋 پیش‌نیازها

  1. اکانت Cloudflare: نیاز به یک ایمیل موقت دارید.
  2. کد اسکریپت: کدی که باید در ورکر قرار دهید (موجود در فایل‌های این مخزن).
  3. UUID: یک کد یکتا که به عنوان رمز عبور عمل می‌کند.

🚀 مراحل نصب و راه‌اندازی

۱. ثبت‌نام در کلادفلر

  1. وارد سایت https://dash.cloudflare.com/sign-up با ایمیل خود ثبت‌نام کنید و یا ایمیل موقتی که از میتونین از ارائه دهنده های ایمیل موقت (مثل https://temp-mail.org/en) بسازید استفاده کنید.
  2. ایمیل تاییدیه را که برایتان ارسال می‌شود، تایید (Verify) کنید.
  3. در این مرحله برای اکانت های جدید پرسنامه اختیاری ای میاره که میتونین skip کنین.

۲. ساخت ورکر (Worker)

  1. در پنل کاربری، از منوی سمت چپ در زیرشاخه Compute & AI وارد بخش Workers & Pages شوید.
  2. دکمه آبی رنگ Create application را بزنید.
  3. قالب Hello World را انتخاب کنید.
  4. یک نام دلخواه انتخاب کنید و دکمه Deploy را بزنید.

۳. ساخت فضای ذخیره‌سازی (KV)

  1. از منوی سمت چپ، به مسیر Storage & Databases > # Workers KV بروید.
  2. روی Create Instance کلیک کنید.
  3. یک نام دلخواه (مثلاً vpn-data) وارد کرده و دکمه Add را بزنید.

۴. اتصال KV به ورکر (Binding)

  1. به صفحه Workers & Pages برید و همان ورکری که در مرحله ۲ ساختید برگردید رو باز کنید.
  2. وارد تب Bindings شوید.
  3. روی Add Binding کلیک کنید و KV Namespace را انتخاب کنید و در مرحله بعد روی Add Binding کلیک کنید .
  4. تنظیمات را دقیقاً به صورت زیر انجام دهید:
    • Variable name: فقط حرف بزرگ C را وارد کنید (بسیار مهم).
    • KV Namespace: نام فضایی که در مرحله ۳ ساختید را انتخاب کنید.
  5. دکمه Add Binding را بزنید.

۵. تنظیم رمز عبور (UUID)

  1. در تب settings، به بخش Variables and Secrets بروید.
  2. روی Add کلیک کنید.
  3. تنظیمات را به صورت زیر انجام دهید:
    • Type: Text را انتخاب کنید
    • Variable name: حرف کوچک u را وارد کنید.
    • Value: در این بخش باید یک کد UUID وارد کنید.
  4. گزینه Deploy را بزنید.

🛠 نحوه دریافت کد UUID:

برای ساخت این کد می‌توانید از یکی از روش‌های زیر استفاده کنید:

  • روش آنلاین: وارد وب‌سایت uuidgenerator.net شوید و کدی که نمایش داده می‌شود را کپی کنید.
  • سیستم‌عامل macOS یا Linux: ترمینال را باز کنید و دستور زیر را تایپ کنید:
    uuidgen
  1. کد کپی شده را در بخش Value قرار دهید و تغییرات را ذخیره کنید (Save and Deploy).

۶. قرار دادن کد اسکریپت

  1. در بالای صفحه ورکر، روی دکمه Edit Code کلیک کنید.
  2. تمام کدهای موجود در فایل worker.js را پاک کنید.
  3. کد اسکریپت موجود CODE را کپی کرده و در ادیتور پیست کنید.
  4. دکمه Deploy را بزنید.

📱 نحوه استفاده

دریافت لینک اشتراک

  1. آدرس URL ورکر خود را باز کنید (فرمت: https://name.workers.dev).
  2. در انتهای آدرس، کد UUID خود را اضافه کنید: https://your-worker-name.workers.dev/YOUR-UUID-CODE
  3. در پنل باز شده، لینک سابسکریپشن یا کانفیگ‌های تکی را کپی کنید.
  4. لینک سابسکریپشن شما به صورت پیشفرض https://your-worker-name.workers.dev/YOUR-UUID-CODE/sub میباشد.

اتصال

  • لینک را در نرم‌افزارهایی مثل Hiddify یا Happ ایمپورت کنید و متصل شوید.

⚠️ نکات پایانی

  • ترید ممنوع: IP این سرویس ثابت نیست و با هر بار اتصال ممکن است تغییر کند.
  • هزینه: این روش از پلن رایگان Cloudflare استفاده می‌کند و هزینه‌ای ندارد.

⚖️ سلب مسئولیت (Disclaimer)

این آموزش و محتوای ارائه شده در این مخزن، صرفاً جنبه آموزشی و تحقیقاتی داشته و با هدف آشنایی کاربران با نحوه عملکرد سرویس‌های CDN و قابلیت‌های Cloudflare Workers تهیه شده است.

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

@AbbasKashi69
Copy link

دمت گرم عالی بود من تونستم راه بندازم

لینکی که تهش /sub داره رو توی subscription برای v2rayng میزنم کار نمیکنه. توی HAPP هم تست کردم میگه failed to parse server شما میتونی کمک کنی راش بندازم؟

بله عزیزم یه ایمیلم بده
abbaskashi69@gmail.com

@sajjadn98
Copy link

sajjadn98 commented Dec 23, 2025

خیلی ممنون، چند روزه استفاده میکنم و سرعت خوبی داره.

@rkamyar64
Copy link

سلام ممنون چجوری میشه سرور ها رو آپدیت کرد ؟

@armamini
Copy link
Author

@rkamyar64
سلام ارادت
بطور کلی فکر نکنم نیازی به آپدیت باشه.
در حال حاضر کار میده.
ولی درصورت نیاز میتونید subsription update بزنید یا آخرین نسخه کد رو روی ورکر قرار بدین.

@armamini
Copy link
Author

@sajjadn98
ارادت
خیلی خوشحالم که نتیجه بهتون داد!

@armamini
Copy link
Author

@AbbasKashi69
آقا مخلصم
ممنون، خوشحالم نتیجه خوبی گرفتین!

@armamini
Copy link
Author

@mahsamcse
ارادت دارم
پوزش بابت تاخیر در پاسخ!
من به این مسئله برنخوردم ولی فکر کنم اگر مشکل از سمت کد باشه تا الان آپدیت و رفع باگ شده.
ممنون

@MortezaHeydari97
Copy link

هیچکدوم از کانفیگ هاش کار نمیکنه و وصل نمیشه. توی صفحه مرکز اشتراک هم که زده در حال بررسی ...
مشکل از چیه ؟
@armamini

@armamini
Copy link
Author

@MortezaHeydari97
ارادت
مراحل رو به درستی پیش بردین؟
با ISP های مختلف امتحان کنید شاید اوکی بشه، قبل اینکه نیاز بشه از اول مراحل رو دوباره انجام بدین

@aliinreallife
Copy link

@armamini
مرسی خیلی ممنون من ست کردم و برام با سرعت خیلی خوبی کار داره میکنه

@armamini
Copy link
Author

@aliinreallife
قربونت عزیزی
مرسی که نظرتو گفتی!

@MortezaHeydari97
Copy link

اره من با 3 تا ISP های سیم کارت تست کردم جواب نداد. حتی دو سه بار هم از اول مراحل رو رفتم جلو. نمیدونم واقعا مشکل چیه ؟!!!
حتی از یه کانفیگی که کار میکنه استفاده میکنم، بازم میگه [در حال بررسی ...]
@armamini

@dota2master88-png
Copy link

سلام برای من ارور 1101 می ده
Error 1101
اشکال از چیه راهنمایی کنید لطفا

@aliinreallife
Copy link

aliinreallife commented Feb 7, 2026

با توجه به تغیرات پنل cloudflare راهنمایی رو برای استفاده راحت تر آپدیت کردم.

@armamini
Copy link
Author

armamini commented Feb 9, 2026

@aliinreallife
ممنونم علی جان واسه آپدیت داکیومنت!
اگر موافق باشی کامنت شمارو حذف و جایگزاری کنم با اصلی..

@aliinreallife
Copy link

@armamini
اره چرا که نه!

@armamini
Copy link
Author

armamini commented Feb 9, 2026

@aliinreallife
Appreciate you!

@armamini
Copy link
Author

armamini commented Feb 9, 2026

@MortezaHeydari97
@dota2master88-png
We have updated the document!
It would be better to test another time with the new changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment