Skip to content
NiREvilPublic

About

vless to sub - Built a subscription link with the ability to automatically add CF clean IPs to VLESS configurations

Topics

Resources

Stars

53 stars

Watchers

3 watching

Forks

Latest commit

 

History

115 Commits

Folders and files

Repository files navigation

Harmony

ساخت لینک ساب با قابلیت افزودن خودکار آی‌پی تمیز کلادفلر و پارامترهای ثابت و متغیر برای کانفیگ‌های VLESS در جهت بهبود وضعیت دسترسی به اینترنت آزاد

Warning

متن ارائه شده به عنوان دستورالعمل پیکربندی CloudFlare Workers—Pages ارائه می‌شود.
فرض بر این است که مخاطب از دانش فنی لازم برخوردار است.



دستورالعمل پیکربندی

از هر کد وورکر که تمایل دارید برای ساخت یک کانفیگ Vless استفاده کنید. برای ما دو عنصر کلیدی در این پروسه فقط UUID و hostname کانفیگ هستند.

اگر کانفیگ ندارید و تاکنون وورکر نساخته‌اید، توضیحات پیرامون ساخت کانفیگ را بخوانید. در غیر این صورت، این قسمت را نادیده گرفته و آموزش را ادامه دهید.


‏ توضیحات پیرامون ساخت کانفیگ

1. ایجاد کانفیگ Vless

من برای مثال از کد وورکر zizifn نسخه بازنویسی‌شده با rust برای ساخت کانفیگ VLESS استفاده کردم، اطلاعات مورد نیاز برای نحوه کلون‌کرده و دپلوی پروژه در همان مخزن به طور کامل توضیح داده شده.


هم‌چنین برای ساخت یک کانفیگ Vless میشه از کد فوق‌العاده‌ی BPB استفاده کرد، دستورالعمل فارسی و انگلیسی رو از مخزن خودشون مطالعه کنید.


یک فورک دیگه از zizfn معروف از دوست چینیمون برای ساخت کانفیگ Vless-ws-tls، کدهای این دوستمون معروفن به سگ‌جونی و نمیر بودن. بد نیست امتحان کنید، فقط تنها مشکل چینی بودن توضیحات داخل مخزن هست که گوگل ترنسلیت دستتون رو می‌بوسه.

با هرکدوم از روش‌های فوق که کانفیگ vless ساختید (یا از قبل کانفیگ داشتید)، از پاخل کانفیگ مقدار UUID و Hostname رو کپی کنید و بیاید با کن ادامه بدیم.



2. شخصی‌سازی اسکریپت

دانلود اسکریپت

ابتدا اسکریپت هارمونی را کپی یا دانلود کنید. 1
worker.js

این اسکریپت را می‌توان توسط 2 Notepad++ در ویندوز یا ابزارهای مدیریت فایل مانند 3 MT Manager در اندروید و یا در داخل ویرایش‌گر گیت‌هاب و ... ویرایش کرد. در صورت دسترسی نداشتن به هیچ‌کدام، ابتدا وورکر جدید کلودفلر ایجاد کرده و این کد را داخل آن جای‌گذاری و سپس اقدام به ویرایش کنید.

ویرایش UUID

در ابتدای کد در تابع User_Settings در بخش groups در هر سه گروه "UUID" کانفیگ های خود را قرار دهید. به عبارتی در لاین 83 و 100 و 117.

ویرایش HostName

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

دسته‌ی اول کانفیگ‌های TLS

  • Host: line 84
  • SNI: line 85

دسته دوم کانفیگ‌های TCP

  • Host: line 101
  • SNI: line 102

دسته سوم کانفیگ‌های اضطراری

  • Host: line 118
  • SNI: line 119

نکته: در کانفیگ‌هایی که با وورکر یا پیج به میزبانی کلادفلر ساخته می‌شوند پارامتر SNI همان Hostname می‌باشد.


ذخیره کد

در نهایت کد ویرایش شده را ذخیره کنید.

3. ساخت Worker

  1. وارد داشبورد حساب Cloudflare شوید.
  2. در نوار ابزار بالای سایت روی آیکون "Add" (در موبایل آیکون "+") کلیک کرده سپس "Workers" را انتخاب کنید. لینک مستقیم ورود به بخش وورکر‌ها
  3. روی گزینه Get Start در مقابل "Start with Hello World!" کلیک کرده و سپس یک نام دلخواه برای ورکر خود انتخاب کنید. سپس Deploy را بزنید.
  4. پس از اتمام ساخت وورکر روی Edit code کلیک کنید.
  5. قبل از هرکاری؛ کد پیش‌فرض hello world داخل وورکر رو کامل حذف کنید، سپس برای انجام عمل جایگذاری کد در pc می‌تونید از کلید‌های ترکیبیctrl+v روی کی‌بورد استفاده کنید، و در موبایل برای جلوگیری از بهم ریختگی کد باید حتما فایل وورکر رو دانلود کرده سپس در محیط ویرایش‌گر کلودفلر آپلود کنید. کافیه اول روی آیکون Explorer سمت چپ کلیک کنید تا منو باز بشه سپس توی یک فضای خالی چند لحظه دستتون رو نگه‌دارید تا گزینه‌ها بالا بیان تا بتونید آپلود رو انتخاب کنید.
  • نکته: این یادتون نره که همیشه همیشه فایلی که می‌خوایم باهاش وورکر بسازیم باید اسمش worker.js باشه بدون چیز اضافه‌ای، ولی وقتی می‌خوایم pages بسازیم باید اسم فایل حتما
    _worker.js
    باشه.

Note


🩻 مشاهده اسکرین‌شات

upload-1

upload-2


  1. اعمال تغییرات بعد از جایگذاری کد در داخل وورکر؛ به منظور اعمال تغییرات از گوشه سمت راست روی گزینه آبی رنگ Deploy کلیک کنید.



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

پس از deploy شدن worker، در همان محیط ویرایشگر با کلیک بر روی گزینه Visit یک تب جدید باز شده و کانفیگ‌های خود را در فرمت base64 مشاهده خواهید کرد.

از بخش آدرس بار مرورگر لینک آدرس را کپی کرده و از آن به عنوان لینک ساب در کلاینت دلخواه خود استفاده کنید. در تمام کلاینت‌های با هسته سینگ‌باکس و Xray می‌توان آنرا وارد کرد.

این URL به عنوان لینک اشتراک شما عمل خواهد کرد. به صورت خودکار از طریق User-agent موجود داخل درخواست، نوع کلاینت را شناسایی کرده و کانفیگ‌های متناسب با آن کلاینت‌ را ارائه خواهد کرد.


6. به‌روزرسانی لینک اشتراک

بر روی دکمه به‌روزرسانی اشتراک - Update Subscriptions داخل کلاینت کلیک کنید.

با هربار انجام این عمل، 30 عدد کانفیگ جدید با IP های تمیز به کلاینت شما اضافه خواهد شد.



📦 برای شخصی‌سازی بیشتر لطفا توضیحات غیرضروری را در ادامه بخوانید

قبل‌تر گفتم واسه‌ی اینکه بتونیم شخصا از این اسکریپت استفاده کنیم، باید UUID و Hostname خودمون‌رو در لاین‌های ذکر شده در ابتدای کد جای‌گذاری کنیم. حالا هدف اینه که برحسب نیازمون یکم بیشتر شخصی‌سازی کنیم.


1. مخازن IP تمیز

ما سه تا مخزن آی‌پی داریم که از هر کدوم ده تا آی‌پی fetch می‌کنه و برامون داخل کانفیگ‌ها قرار می‌ده، جمعاً سی تا کانفیگ در خروجی داریم.


مخزن اول

که داخل کد در لاین 137 با اسم dinamic1 نوشته شده درواقع آی‌پی‌تمیزهای کلادفلری هستن که اسکنر آی‌پی داخل گیت‌هاب 4 خودمون هر سه چهارساعت یک‌بار اسکن و لیست می‌کنه، هارمونی‌هم میاد از همونجا یه مشت IPv4/IPv6 برمی‌داره داخل کانفیگ‌ها قرار میده هروقت که شما توی کلاینت روی گزینه آپدیت کلیک می‌کنید.


مخزن دوم

مخزن دوم زیر مخزن اول یعنی در لاین 141 نوشته شده با اسم dinamic2 که این‌هم باز دوباره واسه خودمونه، یه Api ساده 5 برای فچ کردن آی‌پی کلودفلر از چند‌جای مختلف هستش.


مخزن سوم

در واقع آی‌پی‌هایی هستن که در انتهای کد hardcode شدن، با اسم staticIPs و نقش fallback رو دارن واسه مواقعی که اینترنتمون اونقدرا خوب نیست که بتونه از مخزن اول و دوم آی‌پی بگیره، از لاین 366 شروع میشن تا لاین 982 آی‌پی ورژن 6 هستن.

از ابتدای لاین 984 یه سری دامنه‌های پشت کلادفلر رو قرار دادم اونایی که عموما واسه همه خوب کار می‌کردن و پشت سر اوناهم تعدادی آی‌پی ورژن 4 عادی نوشتم تااااا آخربن سطر کد یعنی لاین 1423.
تمام آی‌پی‌ و دامنه‌های این مخزن و دوتای قبلی رو می‌تونید به دلخواه خودتون عوض کنید ولی پیشنهاد نمی‌کنم که مخزن یک و دو رو تغییر بدید، چون قطعا بهتر از اینا پیدا نخواهید کرد هیچ‌کجا.


2. Remark

کانفیگ‌ها ده تا ده تا نام‌گذاری میشن، از لاین 82 می‌تونید نام کانفیگ‌هایی که با آی‌پی‌های dinamic1 ساخته شدن رو تعیین کنید، پیش‌فرض Harmonyᵀᴸˢ هستن، و از لاین 99 کانفیگ‌های ساخته شده با آی‌پی‌های dinamic2 با اسم Harmonyᵀᶜᴾ قرار دارن (اینارو دیگه مثل دسته قبلی tls نکردیم که بشه از پورت‌های بدون tls هم استفاد کرد)، و از لاین 116 دسته‌ی آخر یعنی Harmonyᴱᴹˢ ها شروع میشن که ایناهم tls هستن و با آی‌پی‌های استاتیک هاردکد ساخته شدن، به دلخواه می‌تونید Remark کنید همه‌رو.


3. alpn type

از لاین‌های 92 و 109 و 126 میشه نوع alpn رو تغییر داد برای هر دسته. من پیش‌فرض همه رو http/1.1 قرار دادم چون ما از کانفیگ‌های نوع vless-ws-tls داخل هارمونی اسنفاده می‌کنیم و از اون‌جایی که وب‌سوکت تنها همینو ساپورت می‌کنه، استفاده کردن از h2 و h3 عملا بی‌فایده‌است چون تهش فالبک میشه رو همین http/1.1، ولی اکه کانفیگاتون روی وورکر و پیج ساخته نشدن می‌تونید راحت تغییر بدید.


4. Path & Max early data

از لاین 86 و 103 و 120 مقدار path قابل تغییره، هر اسمی، هر کلمه‌ای، جمله‌ای که خواستی بدون فاصله با حروف بزرگ و کوچیک می‌تونید قرار بدید، از یک الی 64 کاراکتر ممکنه. من پیشفرض تعیین کردم کاراکترهای رندوم ایجاد بشه.

لاین 64 و 65 از کد Max Early Data headers & Name توضیحش یکم سخته فقط اینو بگم که بذارید همین 2560 بمونه، می‌تونید به هر عددی نزدیک به ابن هم تغییرش بدید ولی بهتره که نکنید. قبلا اینجا یکم توضیح دادم دربارش.


5. Fingerprints

لاین‌های 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"],

6. Ports

لاین‌های 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"],

7. uniqueIPs.size >= 10

سه تا مخزن آی‌پی داشتیم که از هرکدوم ده تا کانفیگ می‌ساخت و بهمون تحویل می‌داد در مجموع سی تا کانفیگ، کی تعیین کرد سی تارو؟ خودمون :)
از لاین 61 تعداد کانفیگ‌های ساخته شده در هر دسته رو میشه تعیین کرد.


8. Merging

و آخرین نکته، گفتم که سه تا دسته 10 تایی کانفیگ داریم تو خروجی این کد، می‌تونید واسه هر دسته یه کانفیگ متفاوت قرار بدید، مثلا واسه دسته اول host و sni و uuid و ... از کانفیگی که با کد BPB ساختید واسه دسته دوم host و sni و uuid کانفیگی که با کد فرضا Edgetunnel ساختید رو قرار بدید و واسه دسته سوم هر هاست‌نیم و sni و غیره کانفیگ دیگه‌ای رو.

9. Final Mask & Cypher suites

اخیراً پترنی‌ها برای رفع اختلال‌ها و قطع و وصلی‌های پیاپی (به‌خاطر وضعیت کصشعر اینترنت ایران) و همچنین رفع مشکل پایین بودن سرعت آپلود تو کانفیگ‌های ساخته‌شده با وورکر کلودفلر، پیشنهاد دادن که دو پارامتر به کانفیگ‌ها اضافه کنیم:

  • Final Mask
  • Cipher suites

برای اینکه عملکرد کانفیگ‌ها هرچه بهتر بشه، یه فورک از v2rayNG با اسم PattNG هم رو گیت‌هاب خودشون منتشر کردن. برای همین ماهم برای کانفیگ‌ها این پارامتر‌هارو اضافه کردیم، که اکه کلاینت pattng یا v2rayNG شناسایی شد کاتفیگ‌ها شامل این پارامترها باشن، اگه exclave و nekobox و غیره بود فقط کانفیگ‌های معمولی اضافه میشن، مقادیر این پارمترها رو می‌تونید از ابتدای کد در لاین 40 برای final mask و در لاین 53 برای cypher suites رو تغییر بدید، همچنین می‌تونید از داخل هر سه گروه با تغییر مقدار fm و cs به false اون‌هارو کلا حذف کنید.

پیشنهاد میشه برای استفاده روتین به‌جای کلاینت v2rayNG از کلاینت PattNG استفاده کنید، می‌تونید فایل‌های نصبی رو از مخزن گیت‌هاب خودشون دانلود کنید، لینک گیت‌هاب PattNG


توضیحات بیشتر برای علاقه‌مندان، خیلی بیشتر 🤪

کنجکاو باشید 🩶🪐


Footnotes

  1. Worker.js ↩

  2. Get Notepad++ ↩

  3. Get MT Manager ↩

  4. REvil cleanIPs ↩

  5. Strawberry API ↩

About

vless to sub - Built a subscription link with the ability to automatically add CF clean IPs to VLESS configurations

Topics

Resources

Stars

53 stars

Watchers

3 watching

Forks

Used by

Contributors

Languages