Skip to content

Instantly share code, notes, and snippets.

@armamini
Last active June 8, 2026 21:16
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 تهیه شده است.

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

@mobtaker61

Copy link
Copy Markdown

خسته نباشید.. پنل cloudflare اخیرا اپدیت شده و کمی از مسیرهای تنظیمات تغییر کرده...
اما در هر حال راه اندازی شد...
فقط در کد هم حدود ۱۵ خطا نشون میده.. اما اجرا میشه.. ولی عمل نمیکنه .. نکته خاصی ممکنه داشته باشه

@armamini

Copy link
Copy Markdown
Author

@mobtaker61
ارادتمندم
امکانش هست در مرحله ۵، variable name رو با حرف کوچک ست کنید و مجدد نتیجه رو اعلام کنید؟ ( u )
ممنونم

@mobtaker61

Copy link
Copy Markdown

ست کردم.. , و جواب داد..

image -- image

@mahsamcse

mahsamcse commented Dec 13, 2025

Copy link
Copy Markdown

ضمن تشکر از شما
در پنل
ینی این قسمت https://your-worker-name.workers.dev/YOUR-UUID-CODE
وقتی گزینه فعال‌سازی پروتکل Trojan رو فعال میکنم و یا وقتی از کنترل TLS (dkby): تی ال اس رو انتخاب میکنم با زدن گزینه ذخیره پیغام خطا میده
保存配置失败: Q["put"] is not a function
میشه راهنمایی کنید
میخوام فقط TLS دارها فعال باشن

@AbbasKashi69

Copy link
Copy Markdown

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

@MortezaHeydari97

Copy link
Copy Markdown

راه اندازی میشه ولی در نهایت کار نمیکنه !
توی وضعیت سیستم هم میزنه : در حال بررسی ...
ممنون میشم اگ کمک کنی دیباگ کنم (چون کوچیک و بزرگ بودن کاراکتر ها رو چک کردم و درست زدم).

@AbbasKashi69

Copy link
Copy Markdown

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

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

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

@sajjadn98

sajjadn98 commented Dec 23, 2025

Copy link
Copy Markdown

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

@rkamyar64

Copy link
Copy Markdown

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

@armamini

Copy link
Copy Markdown
Author

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

@armamini

Copy link
Copy Markdown
Author

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

@armamini

Copy link
Copy Markdown
Author

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

@armamini

Copy link
Copy Markdown
Author

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

@MortezaHeydari97

Copy link
Copy Markdown

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

@armamini

Copy link
Copy Markdown
Author

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

@aliinreallife

Copy link
Copy Markdown

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

@armamini

Copy link
Copy Markdown
Author

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

@MortezaHeydari97

Copy link
Copy Markdown

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

@dota2master88-png

Copy link
Copy Markdown

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

@aliinreallife

aliinreallife commented Feb 7, 2026

Copy link
Copy Markdown

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

@armamini

armamini commented Feb 9, 2026

Copy link
Copy Markdown
Author

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

@aliinreallife

Copy link
Copy Markdown

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

@armamini

armamini commented Feb 9, 2026

Copy link
Copy Markdown
Author

@aliinreallife
Appreciate you!

@armamini

armamini commented Feb 9, 2026

Copy link
Copy Markdown
Author

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

@babakj360

Copy link
Copy Markdown

سلام من توی ادیت کد وقتی میخوام کد رو کپی کنم ارور میده نمیزاره، چیکار کنم؟

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