Skip to content

iphoenixon/youtube-sandbox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

📥 دانلود ویدیو از یوتیوب با GitHub Actions

این مخزن با استفاده از GitHub Actions بهت اجازه می‌ده که فقط با ارسال لینک یوتیوب توی پیام کامیت، ویدیو به‌صورت خودکار دانلود بشه و توی مخزن ذخیره بشه.

ایده اصلی این بود که بدون نیاز به فیلترشکن و کانفیگ‌های گرون، بتونیم ویدیوهای مورد علاقه‌مون رو ذخیره کنیم. فقط کافیه لینک ویدیو رو کپی کنی و با این اکشن دانلودش کنی.

Tip

برای دیدن لیست ویدیوها احتمالاً نیاز به فیلترشکن داری، ولی پیشنهاد من اینه که از پروژه MITM-DomainFronting استفاده کنی تا بدون فیلترشکن هم بتونی به یوتیوب دسترسی داشته باشی.



🚀 تنظیمات اولیه (یک بار انجام بده)

۱. این ریپو رو فورک کن

۲. برو به Settings → Actions → General

۳. در بخش Workflow permissions گزینه Read and write permissions رو انتخاب کن و Save رو بزن.

۴. ساخت Secret برای کوکی‌ها (خیلی مهم!)

یوتیوب ربات‌ها رو تشخیص می‌ده، برای همین باید خودمون رو مثل یه کاربر واقعی نشون بدیم.

مراحل:

  1. توی مرورگر (ترجیحاً حالت ناشناس) با حسابت وارد یوتیوب شو.
  2. افزونه Get cookies.txt LOCALLY رو نصب کن.
  3. روی آیکون افزونه کلیک کن و Export رو بزن تا فایل cookies.txt دانلود بشه.
  4. برو به Settings → Secrets and variables → Actions
  5. روی New repository secret کلیک کن.
  6. اسم Secret رو بذار: YOUTUBE_COOKIES
  7. محتوای کامل فایل cookies.txt رو توی بخش Secret پیست کن و ذخیره کن.

نکته: کوکی‌ها معمولا ۲-۳ ماه بعد expire میشن! پس اگه یه زمانی دیدید که ویدیوهاتون دانلود نشدن، احتمالا بخاطر کوکی باشه و نیاز دارید که مراحل بالا رو یکبار از نو انجام بدید و محتوای YOUTUBE_COOKIES رو آپدیت کنید


⚠️ هشدارها و ریسک‌ها

  • استفاده زیاد ممکنه باعث مسدود شدن موقت حساب گوگلت بشه. حتماً از یک حساب ثانویه استفاده کن.
  • این روش ممکنه با قوانین GitHub تداخل داشته باشه. پیشنهاد می‌کنم با یک حساب جداگانه کار کنی.
  • گیتهاب محدودیت حجم مخزن داره (حدود ۵ گیگ). بعد از دانلود، ویدیوها رو دانلود کن و بعدش از ریپو پاکشون کن.
  • فقط برای استفاده شخصی استفاده کن. دانلود ویدیوهای کپی‌رایت ممکنه مشکل‌ساز بشه.

🎯 نحوه استفاده

کافیه یه فایل رو (هر فایلی جز فایل‌های پوشه .github) رو ویرایش کنی و توی Commit message لینک ویدیو رو به این شکل بنویسی:

yt-dlp: https://www.youtube.com/watch?v=6qFeURAfItU

مراحل سریع:

  1. یه فایل رو باز کن (مثلاً README.md) و با زدن دکمه ادیت (✏️) برو به حالت ویرایش
  2. یه تغییر کوچیک بده (مثلاً یه نقطه به آخر فایل اضافه کن)
  3. روی Commit changes... کلیک کن
  4. تو پیام کامیت لینک رو با yt-dlp: بنویس
  5. Commit changes بزن

بعد از دانلود، ویدیو توی پوشه downloads قرار می‌گیره.

مثال‌های پیام کامیت

نوع دانلود پیام کامیت
بهترین کیفیت yt-dlp: https://youtu.be/6qFeURAfItU
کیفیت خاص yt-dlp: https://youtu.be/6qFeURAfItU quality: 1080
فقط صدا (MP3) yt-dlp: https://youtu.be/6qFeURAfItU audio-only: true
دانلود پلی‌لیست yt-dlp: https://youtube.com/playlist?list=... playlist: true
ترکیب گزینه‌ها yt-dlp: https://youtu.be/EXAMPLE quality: 720 subtitles: true sponsorblock: false

⚙️ گزینه‌های قابل استفاده

گزینه توضیح مقادیر ممکن
quality کیفیت ویدیو 1080, 720, 480, best
playlist دانلود کامل پلی‌لیست true
audio-only فقط صدا (تبدیل به mp3) true
subtitles دانلود زیرنویس true
sponsorblock حذف بخش‌های اسپانسر و مقدمه false

📁 ساختار فایل‌ها بعد از دانلود

  • فایل‌های کمتر از ۹۰ مگابایت: مستقیم توی پوشه downloads ذخیره می‌شن.
  • فایل‌های بزرگ‌تر از ۹۰ مگابایت: به صورت خودکار به قطعات ۹۰ مگابایتی تقسیم می‌شن.

مثال:

downloads/
├── video-small.mp4
└── video-large/
    ├── video-large.zip
    ├── video-large.z01
    └── video-large.z02

برای استخراج فایل‌های بزرگ، همه قسمت‌ها رو توی یک پوشه بگذار و روی فایل .zip راست‌کلیک کن و Extract رو بزن.


💡 نکات اضافی

  • اگر ویدی دانلود شد ولی چیزی کامیت نشد، یعنی ویدیو قبلاً دانلود شده.
  • برای جلوگیری از لوپ، [skip ci] به صورت خودکار اضافه می‌شه.
  • اکشن فقط اولین لینک موجود در پیام کامیت رو پردازش می‌کنه.
  • برای دیدن جزئیات دانلود ویدیو، و اینکه اصلا توی چه مرحله‌ای هست (داره انجام میشه؟ تموم شده؟ یا به ارور خورده؟) میتونید وارد بخش actions توی ریپوی خودتون بشید




❤️ تشکر و قدردانی

ایده اولیه رو از ریپوی عالی github-sandbox گرفتم. ممنون از ایده خلاقانه‌شون!

و همین‌طور از Patterniha بابت پروژه MITM-DomainFronting.

🎁 حمایت مالی

توی این شرایط، هدف همه‌مون باید کمک به همدیگه باشه و منم این ریپو رو بخاطر کمک کردن به شما عزیزان ایجاد کردم. کمک بزرگ شما به من و به بقیه مردم میتونه این باشه که روزی که فرصتش رسید، دست به دست همدیگه بدید تا با کمک همدیگه از این کثافت مطلق عبور بکنیم و به آزادی برسیم 🕊️

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors