نحوه تنظیم و استفاده از ورکرز - Xen-neX/Hiddify-Manager GitHub Wiki

🇺🇸 English          

نحوه تنظیم و استفاده از ورکرز

ورکرز چیست؟

ورکرز یکی از سرویس های CDN معروف Cloudflare است که در واقع یک سرویس بدون سرور یا Serverless می باشد و از طریق آن می‌توان کدهای برنامه نویسی را اجرا نمود بدون آنکه نیاز به پیکربندی سرور و یا زیرساخت باشد. در حقیقت این سرویس یک نوع رایانش ابری مبتی بر SaaS می باشد.

به عبارت دیگه روش کار ورکرز بدین صورت است که به جای اینکه بخواهید مستقیما وبسایت خود (در اینجا پنل هیدیفای) را باز نمایید؛ درخواست ها را به ورکرز می فرستید و سپس ورکرز درخواست ها را مجددا به سمت دامنه و سرور شما ارسال می کند.

در اینجا هدف از این کار مخفی کردن دامنه پشت ورکرز است.

چگونه از ورکرز استفاده کنید؟

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

ثبت دامنه و زیر دامنه روی کلادفلر

در اینجا به یک دامنه خریداری شده نیاز دارید و نیاز دارید که آن را در کلادفلر ثبت نمایید. اگر در خصوص دامنه و نحوه ثبت آن ابهامی دارید؛ این مطلب را مطالعه کنید.

طبق توضیحات مربوط به نحوه ثبت دامنه وارد اکانت خود در کلادفلر شوید.

221572305-50e819ea-0fa4-4548-8851-aab91b797f57

وارد دامنه ثبت شده شوید و در قسمت DNS یک زیردامنه جدید ثبت نمایید.

الزامی وجود ندارد که پروکسی روشن باشد. ورکرز با هر دو حالت پروکسی روشن و خاموش کار می کند.

پس از ثبت ساب دامنه باید تنظیمات سرتیفیکت را انجام دهید..

تنظیم سرتیفیکت دامنه

در تنظیمات سرتیفیکت دامنه در سایت کلادفلر بروید و سرتیفیکت را روی Full بگذارید.

ساخت سرویس ورکرز

به بخش ورکرز در صفحه داشبورد خود در کلادفلر بروید.

سپس گزینه Create a Service را انتخاب نمایید.

Screenshot_20230312_211625

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

گزینه Starter نیز روی HTTP handler باشد. در آخر با انتخاب Create service سرویس ورکرز شما ایجاد می گردد.

بعد از آن باید روی دکمه Quick edit کلیک کنید تا بتوانید کد دلخواه خود را در ورکرز قرار دهید.

در صفحه ادیت ورکرز قسمت سمت چپ کدهای دیفالت را پاک کنید.

سپس کد زیر را به جای آن قرار دهید.

addEventListener(
   "fetch", event => {
       
       const ip = event.request.headers.get('cf-connecting-ip') || event.request.headers.get('x-forwarded-for') || (event.request.socket && event.request.socket.remoteAddress);
       let url = new URL(event.request.url);
       const worker_domain=url.hostname;
       url.hostname = "sub.domain.com";                        
       url.protocol = event.request.headers.get('x-forwarded-proto') || "https";
       let request = new Request(url, event.request);
       if (ip)
        request.headers.set('cf-connecting-ip', ip);
        request.headers.set('Host', worker_domain);
       event.respondWith(
           fetch(request)
       )
   }
)

دقت شود:

  • در خط ششم باید دامنه ثبت شده در مرحله اول را برای مقدار url.hostname قرار دهید. یعنی مثلا ساب دامین sub.domain.com را در کلادفلر طبق توضیحات مرحله اول ثبت کرده‌اید؛ در اینجا نیاز دارید آن دامنه را برای مقدار url.hostname قرار دهید.

final_status

دکمه Save and deploy را کلیک کنید.

نکته خیلی مهم: اگر در مرحله ذخیره کد در قسمتی که نتیجه اجرای کد را نمایش می دهد (که در تصویر بالا سمت راست تصویر مشخص شده) خطایی نمایش داد نگران نباشید. کد را ذخیره کنید.

در صفحه ورکرز آدرس ورکرز خود را بدون https کپی کنید. مثلا اینطوری:

این مرحله با موفقیت به اتمام رسید. حالا باید آدرس سرویس ورکرز خود را در پنل هیدیفای ثبت کنید.

ثبت ورکرز در هیدیفای

به منوی دامنه ها بروید و روی ایجاد کلیک کنید.

تنظیمات را مطابق با عکس بالا انجام دهید و ذخیره نمایید.

توجه: از هر دو حالت CDN و AutoCDN می‌توانید برای ورکرز استفاده کنید.

کار تمام شد. یک دامنه CDN با مشخصات ورکرز شما به دامین های قبلی شما اضافه شد و می توانید از کانکشن های آن استفاده نمایید.

نکته پایانی و مهم:

  • ورکرز در پلن رایگان به صورت روزانه فقط ۱۰۰ هزار درخواست را پردازش می کند بنابراین این سرویس به درد کسانی میخورد که ترافیک بالایی روی سرور خود ندارند.

اضافه کردن کانفیگ‌های ورکرز به دامین مربوط به لینک‌های سابسکریپشن

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

خب فرض کنید دامنه لینک‌های سابسکریپشن ما که قبلا ثبت نموده اید، t1.hiddify.com باشد. به تنظیمات مربوط به این دامنه بروید و در فیلد نمایش کانفیگ‌های دامنه، دامنه جدیدی که در مرحله قبل برای ورکرز اضافه نموده بودید را مثل شکل زیر تیک بزنید.

در نهایت اگر به صفحه کاربران بروید و مثل شکل زیر روی لینک کاربر کلیک کنید،

خواهید دید که کانفیگ‌های جدید مربوط به ورکرز به کانفیگ‌های قبلی اضافه شده‌اند.

Screen Shot 1402-02-29 at 10 46 16

⚠️ **GitHub.com Fallback** ⚠️