ساخت لینک ساب با قابلیت افزودن خودکار آیپی تمیز کلادفلر و پارامترهای ثابت و متغیر برای کانفیگهای VLESS در جهت بهبود وضعیت دسترسی به اینترنت آزاد
Warning
متن ارائه شده به عنوان دستورالعمل پیکربندی CloudFlare Workers—Pages ارائه میشود.
فرض بر این است که مخاطب از دانش فنی لازم برخوردار است.
از هر کد وورکر که تمایل دارید برای ساخت یک کانفیگ Vless استفاده کنید. برای ما دو عنصر کلیدی در این پروسه فقط UUID و hostname کانفیگ هستند.
اگر کانفیگ ندارید و تاکنون وورکر نساختهاید، توضیحات پیرامون ساخت کانفیگ را بخوانید. در غیر این صورت، این قسمت را نادیده گرفته و آموزش را ادامه دهید.
توضیحات پیرامون ساخت کانفیگ
من برای مثال از کد وورکر zizifn نسخه بازنویسیشده با rust برای ساخت کانفیگ VLESS استفاده کردم، اطلاعات مورد نیاز برای نحوه کلونکرده و دپلوی پروژه در همان مخزن به طور کامل توضیح داده شده.
همچنین برای ساخت یک کانفیگ Vless میشه از کد فوقالعادهی BPB استفاده کرد، دستورالعمل فارسی و انگلیسی رو از مخزن خودشون مطالعه کنید.
یک فورک دیگه از zizfn معروف از دوست چینیمون برای ساخت کانفیگ Vless-ws-tls، کدهای این دوستمون معروفن به سگجونی و نمیر بودن. بد نیست امتحان کنید، فقط تنها مشکل چینی بودن توضیحات داخل مخزن هست که گوگل ترنسلیت دستتون رو میبوسه.
با هرکدوم از روشهای فوق که کانفیگ vless ساختید (یا از قبل کانفیگ داشتید)، از پاخل کانفیگ مقدار UUID و Hostname رو کپی کنید و بیاید با کن ادامه بدیم.
ابتدا اسکریپت هارمونی را کپی یا دانلود کنید. 1
worker.js
این اسکریپت را میتوان توسط 2 Notepad++ در ویندوز یا ابزارهای مدیریت فایل مانند 3 MT Manager در اندروید و یا در داخل ویرایشگر گیتهاب و ... ویرایش کرد. در صورت دسترسی نداشتن به هیچکدام، ابتدا وورکر جدید کلودفلر ایجاد کرده و این کد را داخل آن جایگذاری و سپس اقدام به ویرایش کنید.
در ابتدای کد در تابع User_Settings در بخش groups در هر سه گروه "UUID" کانفیگ های خود را قرار دهید. به عبارتی در لاین 83 و 100 و 117.
در این مرحله از ویرایش کد، باید آدرس هاست کانفیگ خود را با hostname پیشفرض کد در سه بخش مختلف جایگزین کنید.
دستهی اول کانفیگهای TLS
دسته دوم کانفیگهای TCP
دسته سوم کانفیگهای اضطراری
نکته: در کانفیگهایی که با وورکر یا پیج به میزبانی کلادفلر ساخته میشوند پارامتر SNI همان Hostname میباشد.
در نهایت کد ویرایش شده را ذخیره کنید.
- وارد داشبورد حساب Cloudflare شوید.
- در نوار ابزار بالای سایت روی آیکون "Add" (در موبایل آیکون "+") کلیک کرده سپس "Workers" را انتخاب کنید. لینک مستقیم ورود به بخش وورکرها
- روی گزینه Get Start در مقابل "Start with Hello World!" کلیک کرده و سپس یک نام دلخواه برای ورکر خود انتخاب کنید. سپس Deploy را بزنید.
- پس از اتمام ساخت وورکر روی Edit code کلیک کنید.
- قبل از هرکاری؛ کد پیشفرض
hello worldداخل وورکر رو کامل حذف کنید، سپس برای انجام عمل جایگذاری کد در pc میتونید از کلیدهای ترکیبیctrl+vروی کیبورد استفاده کنید، و در موبایل برای جلوگیری از بهم ریختگی کد باید حتما فایل وورکر رو دانلود کرده سپس در محیط ویرایشگر کلودفلر آپلود کنید. کافیه اول روی آیکون Explorer سمت چپ کلیک کنید تا منو باز بشه سپس توی یک فضای خالی چند لحظه دستتون رو نگهدارید تا گزینهها بالا بیان تا بتونید آپلود رو انتخاب کنید.
- نکته: این یادتون نره که همیشه همیشه فایلی که میخوایم باهاش وورکر بسازیم باید اسمش
worker.jsباشه بدون چیز اضافهای، ولی وقتی میخوایم pages بسازیم باید اسم فایل حتما
_worker.js
باشه.
- اعمال تغییرات بعد از جایگذاری کد در داخل وورکر؛ به منظور اعمال تغییرات از گوشه سمت راست روی گزینه آبی رنگ
Deployکلیک کنید.
پس از deploy شدن worker، در همان محیط ویرایشگر با کلیک بر روی گزینه Visit یک تب جدید باز شده و کانفیگهای خود را در فرمت base64 مشاهده خواهید کرد.
از بخش آدرس بار مرورگر لینک آدرس را کپی کرده و از آن به عنوان لینک ساب در کلاینت دلخواه خود استفاده کنید. در تمام کلاینتهای با هسته سینگباکس و Xray میتوان آنرا وارد کرد.
این URL به عنوان لینک اشتراک شما عمل خواهد کرد.
به صورت خودکار از طریق User-agent موجود داخل درخواست، نوع کلاینت را شناسایی کرده و کانفیگهای متناسب با آن کلاینت را ارائه خواهد کرد.
بر روی دکمه بهروزرسانی اشتراک - Update Subscriptions داخل کلاینت کلیک کنید.
با هربار انجام این عمل، 30 عدد کانفیگ جدید با IP های تمیز به کلاینت شما اضافه خواهد شد.
📦 برای شخصیسازی بیشتر لطفا توضیحات غیرضروری را در ادامه بخوانید
قبلتر گفتم واسهی اینکه بتونیم شخصا از این اسکریپت استفاده کنیم، باید UUID و Hostname خودمونرو در لاینهای ذکر شده در ابتدای کد جایگذاری کنیم. حالا هدف اینه که برحسب نیازمون یکم بیشتر شخصیسازی کنیم.
ما سه تا مخزن آیپی داریم که از هر کدوم ده تا آیپی fetch میکنه و برامون داخل کانفیگها قرار میده، جمعاً سی تا کانفیگ در خروجی داریم.
که داخل کد در لاین 137 با اسم dinamic1 نوشته شده درواقع آیپیتمیزهای کلادفلری هستن که اسکنر آیپی داخل گیتهاب 4 خودمون هر سه چهارساعت یکبار اسکن و لیست میکنه، هارمونیهم میاد از همونجا یه مشت IPv4/IPv6 برمیداره داخل کانفیگها قرار میده هروقت که شما توی کلاینت روی گزینه آپدیت کلیک میکنید.
مخزن دوم زیر مخزن اول یعنی در لاین 141 نوشته شده با اسم dinamic2 که اینهم باز دوباره واسه خودمونه، یه Api ساده 5 برای فچ کردن آیپی کلودفلر از چندجای مختلف هستش.
در واقع آیپیهایی هستن که در انتهای کد hardcode شدن، با اسم staticIPs و نقش fallback رو دارن واسه مواقعی که اینترنتمون اونقدرا خوب نیست که بتونه از مخزن اول و دوم آیپی بگیره، از لاین 366 شروع میشن تا لاین 982 آیپی ورژن 6 هستن.
از ابتدای لاین 984 یه سری دامنههای پشت کلادفلر رو قرار دادم اونایی که عموما واسه همه خوب کار میکردن و پشت سر اوناهم تعدادی آیپی ورژن 4 عادی نوشتم تااااا آخربن سطر کد یعنی لاین 1423.
تمام آیپی و دامنههای این مخزن و دوتای قبلی رو میتونید به دلخواه خودتون عوض کنید ولی پیشنهاد نمیکنم که مخزن یک و دو رو تغییر بدید، چون قطعا بهتر از اینا پیدا نخواهید کرد هیچکجا.
کانفیگها ده تا ده تا نامگذاری میشن، از لاین 82 میتونید نام کانفیگهایی که با آیپیهای dinamic1 ساخته شدن رو تعیین کنید، پیشفرض Harmonyᵀᴸˢ هستن، و از لاین 99 کانفیگهای ساخته شده با آیپیهای dinamic2 با اسم Harmonyᵀᶜᴾ قرار دارن (اینارو دیگه مثل دسته قبلی tls نکردیم که بشه از پورتهای بدون tls هم استفاد کرد)، و از لاین 116 دستهی آخر یعنی Harmonyᴱᴹˢ ها شروع میشن که ایناهم tls هستن و با آیپیهای استاتیک هاردکد ساخته شدن، به دلخواه میتونید Remark کنید همهرو.
از لاینهای 92 و 109 و 126 میشه نوع alpn رو تغییر داد برای هر دسته. من پیشفرض همه رو http/1.1 قرار دادم چون ما از کانفیگهای نوع vless-ws-tls داخل هارمونی اسنفاده میکنیم و از اونجایی که وبسوکت تنها همینو ساپورت میکنه، استفاده کردن از h2 و h3 عملا بیفایدهاست چون تهش فالبک میشه رو همین http/1.1، ولی اکه کانفیگاتون روی وورکر و پیج ساخته نشدن میتونید راحت تغییر بدید.
از لاین 86 و 103 و 120 مقدار path قابل تغییره، هر اسمی، هر کلمهای، جملهای که خواستی بدون فاصله با حروف بزرگ و کوچیک میتونید قرار بدید، از یک الی 64 کاراکتر ممکنه. من پیشفرض تعیین کردم کاراکترهای رندوم ایجاد بشه.
لاین 64 و 65 از کد Max Early Data headers & Name توضیحش یکم سخته فقط اینو بگم که بذارید همین 2560 بمونه، میتونید به هر عددی نزدیک به ابن هم تغییرش بدید ولی بهتره که نکنید. قبلا اینجا یکم توضیح دادم دربارش.
لاینهای 93 و 110 و 127 مربوط به fingerprints هستن، تا چند وقت پیش فقط و فقط با chrome روی کانفیگهای وورکری کار میکردن ولی الان ظاهرا بجز randomized با بقیه اوکی هستن، ولی اگر این لاینهارو نگاه کنید من مقدارشون رو برابر با unsafe قرار دادم چون تو اپدیت اخیر پارامترهای پترنیها یعنی final mask و cypher suites رو اضافه کردیم و اینا فقط با unsafe کار میکنن برای همین یه شرط گذاشتم که اگه کلاینت v2rayNG یا PattNG بود خب قطعا فینگرپرینت رو unsafe قرار بده و اگه کلاینت غیر از این دوتا بود رندوم یکی از لیست موجود در لاین 67 انتخاب کن. میتونید به دلخواه مقادیر داخل لیست رو کم و زیاد کنید.
fallbackFp: ["chrome", "firefox", "safari", "edge", "ios", "android", "360", "qq"],لاینهای 91 و 108 و 125 از کد، پورتهای پیشفرض کلادفلر رو مشخص میکنن، شما میتونید هرکدوم از پورتهای دیگه رو تعیین کنید نسبت به نوع کانفیگ خودتون، اگه کانفیگتون ساخته شده با pages باشه فقط میشه از پورتهای HTTPS یا همون TLS استفاده کنید ولی اگه کانفیگتون ساخته شده با workers باشه میتونید هم از پورتهای TLS و هم TCP استفاده کنید.
[!TIP]
TLS: ports: ["443", "8443", "2053", "2083", "2087", "2096"],TCP: ports: ["80", "8080", "8880", "2052", "2082", "2086", "2095"],
سه تا مخزن آیپی داشتیم که از هرکدوم ده تا کانفیگ میساخت و بهمون تحویل میداد در مجموع سی تا کانفیگ، کی تعیین کرد سی تارو؟ خودمون :)
از لاین 61 تعداد کانفیگهای ساخته شده در هر دسته رو میشه تعیین کرد.
و آخرین نکته، گفتم که سه تا دسته 10 تایی کانفیگ داریم تو خروجی این کد، میتونید واسه هر دسته یه کانفیگ متفاوت قرار بدید، مثلا واسه دسته اول host و sni و uuid و ... از کانفیگی که با کد BPB ساختید واسه دسته دوم host و sni و uuid کانفیگی که با کد فرضا Edgetunnel ساختید رو قرار بدید و واسه دسته سوم هر هاستنیم و sni و غیره کانفیگ دیگهای رو.
اخیراً پترنیها برای رفع اختلالها و قطع و وصلیهای پیاپی (بهخاطر وضعیت کصشعر اینترنت ایران) و همچنین رفع مشکل پایین بودن سرعت آپلود تو کانفیگهای ساختهشده با وورکر کلودفلر، پیشنهاد دادن که دو پارامتر به کانفیگها اضافه کنیم:
- Final Mask
- Cipher suites
برای اینکه عملکرد کانفیگها هرچه بهتر بشه، یه فورک از v2rayNG با اسم PattNG هم رو گیتهاب خودشون منتشر کردن. برای همین ماهم برای کانفیگها این پارامترهارو اضافه کردیم، که اکه کلاینت pattng یا v2rayNG شناسایی شد کاتفیگها شامل این پارامترها باشن، اگه exclave و nekobox و غیره بود فقط کانفیگهای معمولی اضافه میشن، مقادیر این پارمترها رو میتونید از ابتدای کد در لاین 40 برای final mask و در لاین 53 برای cypher suites رو تغییر بدید، همچنین میتونید از داخل هر سه گروه با تغییر مقدار fm و cs به false اونهارو کلا حذف کنید.
پیشنهاد میشه برای استفاده روتین بهجای کلاینت v2rayNG از کلاینت PattNG استفاده کنید، میتونید فایلهای نصبی رو از مخزن گیتهاب خودشون دانلود کنید، لینک گیتهاب PattNG
توضیحات بیشتر برای علاقهمندان، خیلی بیشتر 🤪
کنجکاو باشید 🩶🪐

