Skip to content

ScienceWalnuts/LatestReleaseMirror

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

راهنمای استفاده از LatestReleaseMirror

در صورت عدم دسترسی به ساب‌دامین release-assets.githubusercontent.com برای دریافت فایل از بخش ریلیز‌های هر مخزن گیت‌هاب، این پروژه آخرین نسخه منتشر شده (latest release) مخازن مختلف مدنظر کاربر را بر اساس فیلتر تعریف شده از گیت‌هاب آن مخازن دریافت کرده و در یک ساختار پوشه‌ای مرتب در ریپوی کاربر ذخیره می‌کند. به این ترتیب امکان دسترسی به آن‌ها از طریق ساب‌دامین raw.githubusercontent.com فراهم می‌شود. این روش تا زمان در دسترس بودن این ساب‌دامین، قابل استفاده خواهد بود. البته محدودیت‌هایی در استفاده وجود دارد که در ادامه توضیح داده خواهد شد.

🚀 شروع سریع

۰. پیش‌نیاز

  • دسترسی به گیت‌هاب
  • داشتن حساب کاربری در گیت‌هاب و لاگین کردن به آن

۱. فورک (Fork) کردن مخزن

  • روی دکمه‌ی Fork در بالای این صفحه کلیک کنید. (یا مستقیما می‌توانید روی این لینک کلیک کنید)
  • در صفحه بعد روی گزینه Create Fork کلیک کنید.
  • مخزن فورک شده در اکانت گیت‌هاب شما با موفقیت ساخته می‌شود.

۲. ویرایش فایل repos.txt

در مخزن فورک شده در حساب کاربری خودتان، فایل repos.txt را باز کنید و ریپو‌های مدنظر خود را مطابق فایل نمونه (repos.txt.example‍‍) که در زیر توضیح داده شده است، ویرایش و ذخیره کنید:

# repos.txt.example – copy to repos.txt and edit

# Format: owner/repo|filter1|filter2|...
# Filters are case‑insensitive regular expressions (grep -E).

# 1. No filter – keep all assets from the release
therealaleph/MasterHttpRelayVPN-RUST

# 2. Match keywords (e.g., linux-amd64, darwin-amd64)
NullLatency/FlowDriver|linux-amd64|darwin-amd64

# 3. Mix of keywords and file extensions (note escaping of dots)
SagerNet/sing-box|windows-amd64|darwin-amd64.tar.gz|darwin-arm64|arm64-v8a.apk

# 4. Only specific file extensions (use .dmg and .exe – backslashes for literal dot)
KaringX/karing|\.dmg|\.exe

# 5. Disable a line by commenting it with #
# masterking32/MasterDnsVPN|Client_MacOS_AMD64.zip|Client_Windows_AMD64.zip

توضیح خطوط

  • هر خط به صورت ...|فیلتر 2|فیلتر 1|owner/repo نوشته می‌شود.
  • فیلترها حساس به حروف بزرگ و کوچک نیستند (case‑insensitive).
  • اگر فیلتری ننویسید (فقط owner/repo) همهٔ فایل‌های آن ریلیز دانلود می‌شوند.
  • فیلتر‌ها را می‌توانید اضافه، ویرایش یا حذف کنید.
  • در صورتی که بخواهید یک ریپو را از لیست حذف کنید می‌توانید خط مربوط به آن را حذف کرده و یا با قرار دادن کاراکتر # در ابتدای خط، آن را کامنت کنید.

۳. اجرای workflow

پس از تکمیل فایل repos.txt و ذخیره کردن و commit کردن آن، می‌توانید workflow را اجرا نمایید.

** جهت اجرا بصورت دستی:

  • به برگه (تب) Actions در مخزن فورک شده در پروفایل خودتان بروید.
  • در سمت چپ، روی Sync latest releases & update README کلیک کنید.
  • دکمه‌ی Run workflow (سمت راست) را بزنید، سپس Run workflow را تأیید کنید.
  • پس از تکمیل فرآیند و موفق بودن آن، لینک‌های دانلود در README قابل مشاهده است.

** اجرا بصورت خودکار بر اساس زمان‌بندی تعریف‌شده توسط کاربر:

  • در صورتی که می‌خواهید فرآیند بررسی ریپو‌های ذخیره شده در فایل repos.txt بر اساس یک برنامه‌ی زمانی بصورت خودکار و متناوب انجام شود، می‌توانید خطوط ۴و۵ فایل .github/workflows/sync-multiple-repos.yml را از حالت کامنت خارج کنید و مطابق زمان‌بندی مدنظر خود ویرایش کنید.
  • پیشنهاد می‌شود فاصله‌ی زمانی بین بررسی‌ها خیلی کوتاه نباشد. روزی یک یا دو بار اجرا بصورت خودکار (برای مثال هر ۱۲ یا ۱۸ یا ۲۴ ساعت یک‌بار) مناسب است و تعداد اجرای خودکار بیشتر از آن توصیه نمی‌شود.
  • برای تغییر زمان‌بندی، خط cron را ویرایش کنید و در صورتی که پس از فعالسازی اجرای خودکار بخواهید آن را لغو کنید، می‌توانید این دو خط را مجددا کامنت کرده و یا از فایل حذف کنید.
  schedule:
    - cron: '0 */12 * * *'

۴. نحوه‌ی مشاهده و دانلود فایل‌ها

پس از اتمام workflow، فایل‌های دانلود شده در پوشه‌ی releases/owner/repo/ در ریپو خودتان ذخیره می‌شوند. همچنین می‌توانید لینک‌های دانلود را از طریق جدول ایجاد شده در انتهای فایل README.md نیز مشاهده کنید و با کلیک روی ⬇️ Download آن‌ها را دانلود کنید.

۵. حذف یک مخزن یا تغییر فیلترها

اگر یک خط را از repos.txt حذف یا کامنت (#) کنید، در اجرای بعدی workflow، کل پوشه‌ی آن مخزن از releases/ حذف می‌شود و فایل README.md نیز بصورت خودکار اصلاح می‌شود.

اگر فیلترها را تغییر دهید (مثلاً فیلتر جدید اضافه یا فیلتر‌های قدیمی را حذف کنید)، فایل‌هایی که دیگر با فیلتر جدید همخوانی ندارند نیز حذف خواهند شد و در ریلیز بعدی، فقط فایل‌های جدید منطبق با فیلتر اعمال شده دانلود می‌شوند.

۶. نکات مهم و محدودیت‌ها

  • به علت محدودیت گیت‌هاب این روش مناسب دانلود فایل‌های بزرگتر از ۱۰۰ مگابایت نمی‌باشد.
  • تمام لینک‌های دانلود به صورت خودکار به مخزن فورک شده شما اشاره می‌کنند (نیازی به ویرایش دستی نیست).
  • استفاده از GitHub Actions محدودیت‌هایی در تعداد ریکوئست، مدت زمان اجرا دارد که می‌توانید آن‌ها را از طریق مستندات گیت‌هاب بررسی فرمایید. همچنین محدودیت‌هایی در دانلود و آپلود و پهنای باند مورد استفاده از طریق گیتهاب وجود دارد که بهتر است قبل از استفاده، آن‌ها را بررسی نمایید.
  • برای روبرو نشدن با محدودیت‌ها بهتر است تعداد ریپو‌های کمی را در فایل repos.txt قرار دهید و با قرار دادن فیلتر مناسب، فقط فایل‌های مد نظر خود را با استفاده از این روش دریافت نمایید.
  • پس از چند بار اجرای workflow و دانلود و آپلود نسخه‌های مختلف ریلیز‌ها، حجم ریپوی شما ممکن است تا چند گیگ نیز افزایش یابد و clone کردن آن سخت باشد یا محدودیت‌هایی از سمت گیت‌هاب اعمال شود. از طریق اجرای Clear releases history (در تب اکشن) می‌توانید تاریخچه commit‌های پوشه releases خود را حذف نمایید تا حجم ریپوی شما بصورت چشم‌گیری کاهش یابد. اجرای این action تاریخچه گیت را برای پوشه releases بازنویسی می‌کند و در مخازن عمومی که دیگران فورک کرده‌اند ممکن است باعث ایجاد مشکل شود. فقط زمانی از آن استفاده کنید که به تنهایی روی مخزن کار می‌کنید.
  • برای جلوگیری از مشکلات و رفع محدودیت‌ها هر نفر می‌تواند برای استفاده‌ی شخصی خود پروژه را فورک کرده و بر حسب نیاز خود فایل repos.txt را با تعداد کمی از ریپو‌های مدنظرش تکمیل کرده و استفاده کند. مسئولیت استفاده بر عهده کاربران است.

🔒 بررسی صحت فایل‌ها (SHA256)

⚠️ پیش از اجرا یا نصب فایل‌های دانلود شده از این ریپو (و بصورت کلی هر جایی به جز منبع اصلی)، یک‌بار Checksum فایل دانلود شده را با مقدار اصلی (که در صفحه Release هر پروژه در بخش Assets و در کنار هر فایل برای تمام ورژن‌ها بصورت sha256:abcdef01234567890ab... قابل مشاهده‌است) مقایسه کنید. برای حاصل شدن اطمینان از اینکه فایل‌ها دستکاری نشده‌اند و دقیقا همان نسخه منتشر شده در سورس اصلی می‌باشند، باید مقدار هش‌ sha256 یک نسخه از یک فایل خاص با مقدار هشی که برای همان نسخه و فایل در سورس اصلی قابل مشاهده‌است، کاملا یکسان باشد. در صورت مغایرت، از نصب آن خود‌داری کنید.

در اینجا یک راهنمای کوتاه برای بررسی فایل‌های دانلود شده از منبعی به جز سورس اصلی، با استفاده از SHA256 در سیستم‌عامل‌های مختلف آورده شده است.

🍎 macOS / 🐧 Linux (ترمینال)

sha256sum FILE_NAME

(در macOS قدیمی‌تر ممکن است به جای آن از shasum -a 256 FILE_NAME استفاده کنید)

🪟 Windows (PowerShell)

Get-FileHash -Algorithm SHA256 FILE_NAME

📱 Android (با ترمینال یا Termux)

sha256sum FILE_NAME

(اگر دستور در دسترس نبود، ابتدا pkg install coreutils را در Termux اجرا کنید)

⚠️ رفع مسئولیت (Disclaimer)

استفاده از این ابزار و سرویس‌های گیت‌هاب (GitHub Actions، GitHub API، فضای ذخیره‌سازی مخزن، پهنای باند و …) تحت مسئولیت کامل کاربر نهایی است. کاربر موظف است هنگام استفاده از این ریپوزیتوری، همه‌ی محدودیت‌های اعلام شده توسط گیت‌هاب از جمله محدودیت نرخ درخواست API، حداکثر حجم فایل در هر commit (۱۰۰ مگابایت)، مدت زمان اجرای workflow، تعداد دفعات اجرا، حجم مخزن و پهنای باند را رعایت کند. تخلف از محدودیت‌های گیت‌هاب ممکن است منجر به مسدود شدن حساب کاربری یا مسدود شدن مخزن شما شود. بنابراین توصیه می‌شود:

  • تعداد مخازن تحت نظر را محدود نگه دارید.
  • فاصله زمانی اجرای خودکار workflow را خیلی کوتاه انتخاب نکنید (مثلاً کمتر از هر ۱۲ ساعت نباشد).
  • از فیلترهای مناسب برای کاهش تعداد فایل‌های دانلودی استفاده کنید.
  • در صورت افزایش حجم فایل‌ها و تاریخچه‌ی گیت، از قابلیت Clear releases history با آگاهی از عواقب آن (بازنویسی تاریخچه گیت) استفاده کنید.

ایجاد این ریپوزیتوری هیچ تعهدی مبنی بر در دسترس بودن مستمر سرویس‌های گیت‌هاب یا صحت عملکرد آن‌ها ایجاد نمی‌کند. هرگونه مشکل احتمالی ناشی از تغییر قوانین یا محدودیت‌های گیت‌هاب بر عهده کاربر خواهد بود.

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

📦 مشاهده و دانلود آخرین ریلیز‌ها

پس از اجرای موفق workflow، جداول مربوط به ریپو‌های درخواستی کاربر در این بخش قابل مشاهده است:

KaringX--karing

🔗 sourcev1.2.18.2102

File Size Download
karing_1.2.18.2102_windows_x64.zip 62.0 MB ⬇️ Download

bootmortis--iran-hosted-domains

🔗 source202605040122

File Size Download
domains.txt 1.7 MB ⬇️ Download
domains.txt.sha256 0 KB ⬇️ Download

therealaleph--MasterHttpRelayVPN-RUST

🔗 sourcev1.9.10

File Size Download
mhrv-rs-windows-amd64.zip 6.9 MB ⬇️ Download

About

A GitHub Actions pipeline that mirrors only the latest release of multiple source repos, filters assets by file pattern, skips oversized files (>100 MB), and organizes everything in releases/owner/repo/ with version metadata.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors