From e9fba2aef4919cddbd9a7a864f823716df132bee Mon Sep 17 00:00:00 2001 From: Mohamed-Abdelhalim2 Date: Thu, 30 Jul 2026 16:06:14 +0000 Subject: [PATCH] =?UTF-8?q?=D8=A5=D8=B6=D8=A7=D9=81=D8=A9=20archives/Googl?= =?UTF-8?q?e=20account/YouTube/.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mohamed-Abdelhalim2 --- archives/Google account/YouTube/.md | 329 ++++++++++++++++++++++++++++ 1 file changed, 329 insertions(+) create mode 100644 archives/Google account/YouTube/.md diff --git a/archives/Google account/YouTube/.md b/archives/Google account/YouTube/.md new file mode 100644 index 0000000..cd0e997 --- /dev/null +++ b/archives/Google account/YouTube/.md @@ -0,0 +1,329 @@ +## 🔎 ملخّص الطلب +1. **أداة (أو مجموعة أدوات) لأرشفة فيديوهات YouTube من روابط** +2. **إمكانية تصنيف الفيديوهات/القنوات تحت عنوان أو فئة مخصّصة** – أي أنك تريد متابعة محتوى **قنوات محددة فقط** وليس كل القنوات التي تتابعها. +3. **إضافات Chrome لتقليل الإعلانات المستهدفة ومنع المواقع من طلب موقعك الجغرافي**. + +سأقدّم لك حلًّا عمليًا يجمع بين **أدوات مجانية/مفتوحة المصدر**، مع **خطوات إعداد مفصّلة** وروابط تحميل مباشرة، بالإضافة إلى **نصائح أمان**. + +--- + +## 1️⃣ أرشفة الفيديوهات من روابط (مع تصنيف تلقائي) + +### 1.1. الخيار الأكثر مرونة – **yt‑dlp + ملف تصنيف (JSON/CSV)** + +| العنصر | ما يفعله | لماذا هو مفيد | +|--------|----------|--------------| +| **yt‑dlp** (fork محسّن من youtube‑dl) | تنزيل الفيديو بأعلى جودة، حفظ الوصف، الترجمات، صورة المصغرة، وإنشاء ملف `archive.txt` لتجنب تنزيل نفس الفيديو مرتين. | سطر أوامر بسيط، يدعم جميع الأنظمة (Windows‑macOS‑Linux). | +| **ملف `links.txt`** | كل سطر يحتوي على رابط فيديو أو رابط RSS لقناة. | يتيح لك تجميع الروابط من أي مصدر (موقع، ملف OPML، أو سكريبت). | +| **ملف `categories.json`** (اختياري) | يربط كل معرف قناة (`channelId`) بفئة/عنوان مخصص (مثلاً “تقنية”، “طبخ”). | يتيح فرز الفيديوهات إلى مجلدات حسب الفئة تلقائيًا. | +| **سكريبت Python** (قليل الأسطر) | يقرأ `links.txt` + `categories.json` → يستدعي yt‑dlp مع خيارات التسمية. | كل شيء يتم بنقرة واحدة؛ لا تحتاج لتدخل يدوي بعد الإعداد. | + +#### 1.1.1. تثبيت yt‑dlp + +| النظام | طريقة التثبيت | +|-------|---------------| +| **Windows** | 1. حمل `yt-dlp.exe` من
2. أنشئ مجلدًا (مثلاً `C:\yt-dlp\`) وانسخ الملف إليه. | +| **macOS** | ```bash
brew install yt-dlp
``` (إذا كان لديك Homebrew) | +| **Linux** | ```bash
sudo apt-get install python3-pip # إذا لم يكن مثبتًا
python3 -m pip install -U yt-dlp
``` أو تحميل الملف التنفيذي مباشرةً من GitHub. | + +#### 1.1.2. هيكلة الملفات + +``` +/archive‑project/ +│─ yt‑dlp.exe (أو ملف تنفيذي للمنصة) +│─ links.txt ← كل سطر = رابط فيديو +│─ categories.json ← (اختياري) تصنيف القنوات +│─ download‑archive.txt ← يُنشأ تلقائيًا +│─ run‑archive.bat (Windows) أو run‑archive.sh (Linux/macOS) +│─ download.py (سكريبت Python) +``` + +**ملف `links.txt` (مثال):** + +``` +https://www.youtube.com/watch?v=abc123 +https://www.youtube.com/watch?v=def456 +https://www.youtube.com/feeds/videos.xml?channel_id=UC7XYZ789 # RSS قناة +``` + +**ملف `categories.json` (اختياري):** + +```json +{ + "UC7XYZ789": "تقنية", + "UClmnopqr": "طبخ", + "UCstuvwx": "رياضة" +} +``` + +#### 1.1.3. سكريبت Python لتصنيف أثناء التحميل + +> **ملف:** `download.py` + +```python +import json, os, subprocess, sys, pathlib + +# ---------- إعدادات ---------- +YT_DLP = "yt-dlp.exe" if os.name == "nt" else "yt-dlp" +LINKS_FILE = "links.txt" +ARCHIVE_FILE = "download-archive.txt" +CATS_FILE = "categories.json" +OUTPUT_TEMPLATE = "%(category)s/%(uploader)s/%(upload_date)s - %(title)s.%(ext)s" +# ------------------------------ + +# تحميل التصنيفات (إن وجدت) +categories = {} +if pathlib.Path(CATS_FILE).exists(): + with open(CATS_FILE, "r", encoding="utf-8") as f: + categories = json.load(f) + +def get_category(channel_id): + return categories.get(channel_id, "غير‑مصنّف") + +# بناء قائمة الروابط مع تمرير متغيّر `category` إلى yt‑dlp +with open(LINKS_FILE, "r", encoding="utf-8") as f: + for url in f: + url = url.strip() + if not url: + continue + + # استخراج معرف القناة (إذا كان URL لقناة أو RSS) + # الصيغة العامة: …/channel/CHANNEL_ID أو …?channel_id=CHANNEL_ID + channel_id = None + if "channel_id=" in url: + channel_id = url.split("channel_id=")[-1].split("&")[0] + elif "/channel/" in url: + channel_id = url.split("/channel/")[-1].split("/")[0] + + # إذا وجدنا معرف القناة → نحدد الفئة + category = get_category(channel_id) if channel_id else "غير‑مصنّف" + + # أمر yt‑dlp مع المتغيّر `category` في قالب الإخراج + cmd = [ + YT_DLP, + "--format", "bestvideo+bestaudio/best", + "--embed-subs", + "--write-info-json", + "--write-thumbnail", + "--download-archive", ARCHIVE_FILE, + "--output", OUTPUT_TEMPLATE.replace("%(category)s", category), + url + ] + + # تشغيل العملية وعرض السجل + print(f"🔽 تحميل: {url} → الفئة: {category}") + subprocess.run(cmd, check=False) +``` + +**ملف تشغيل (Batch/ Bash)** +- **Windows (`run-archive.bat`)** + +```bat +@echo off +python download.py +pause +``` + +- **Linux/macOS (`run-archive.sh`)** + +```bash +#!/usr/bin/env bash +python3 download.py +``` + +> **ما يحدث؟** +- كل فيديو يُحفظ داخل مجلد يُسمّى باسم الفئة (من `categories.json`). +- إذا لم يكن الفيديو من قناة مصنّفة، يُحفظ في مجلد `غير‑مصنّف`. +- ملف `download-archive.txt` يمنع إعادة تنزيل ملفات تم حفظها مسبقًا. + +#### 1.1.4. تشغيل الأرشفة + +```bash +# من داخل مجلد المشروع +./run-archive.sh # Linux/macOS +# أو +run-archive.bat # Windows +``` + +### 1.2. حلول بديلة (بدون سطر أوامر) + +| التطبيق | نظام التشغيل | مميزات رئيسية | رابط التحميل | +|---------|--------------|----------------|--------------| +| **NewPipe** | Android | - تنزيل فيديو/صوت
- حفظ الفيديو في مجلد مخصص
- لا يطلب حساب Google ولا يتبع خوارزمية YouTube | | +| **FreeTube** | Windows / macOS / Linux | - مشاهدة بدون إعلانات (يستخدم Invidious)
- إمكانية تنزيل الفيديو (مدمج yt‑dlp)
- تنظيم القنوات في “Playlists” مخصصة | | +| **4K Video Downloader** (نسخة مجانية) | Windows / macOS / Linux | - واجهة رسومية بسيطة
- دعم قوائم تشغيل كاملة
- حفظ الفيديو مع اسم القناة وتاريخ الرفع | | +| **JDownloader 2** | Windows / macOS / Linux | - مدير تنزيل عام يدعم ملفات نصية بالروابط
- يمكن ربطه بـ `yt‑dlp` كـ “plugin” لتصنيف تلقائي | | + +> **نصيحة**: إذا كنت تريد **حفظ الفيديوهات على هاتف Android** مع تصنيف يدوي، فإن NewPipe هو الخيار الأسرع؛ إذا كنت تعمل على **كمبيوتر** وتحتاج لتصنيف آلي، استخدم الـ yt‑dlp مع السكريبت أعلاه. + +--- + +## 2️⃣ تصنيف القنوات ومتابعة الاشتراكات فقط (دون خوارزمية YouTube) + +### 2.1. ملحقات Chrome لتصنيف القنوات داخل YouTube + +| الملحق | ما يقدّمه | رابط التحميل | +|--------|-----------|--------------| +| **PocketTube – YouTube Channel Manager** | • إنشاء “Groups” (مجموعات) وتسمية كل مجموعة
• سحب القنوات إلى المجموعة المطلوبة
• إخفاء الخلاصات من القنوات غير المختارة
• يظل يعمل داخل موقع YouTube الأصلي (لا يلزم تطبيق خارجي) | | +| **Channel Manager for YouTube** | • إضافة “Labels” (وسوم) لكل قناة
• عرض القنوات بحسب الوسم في صفحة “Subscriptions” | | +| **Unhook – Remove YouTube Recommended Videos** | • إلغاء جميع مقاطع “Recommended” و “Up Next” لتظهر فقط مقاطع القنوات التي تشترك فيها. | | + +#### كيفية إنشاء مجموعة وتصنيف القنوات باستخدام PocketTube + +1. **ثبت الملحق** من الرابط أعلاه. +2. افتح YouTube (ستظهر أيقونة PocketTube على شريط الأدوات). +3. اضغط على الأيقونة → **“Create Group”**. أعطِ المجموعة اسمًا (مثلاً “تقنية”). +4. في صفحة **Subscriptions** اسحب القنوات التي تريدها إلى المجموعة. +5. لتقليل الضوضاء، **اختر “Hide videos from other groups”** داخل إعدادات PocketTube. الآن الخلاصات ستظهر فقط للفيديوهات داخل المجموعة المختارة. + +### 2.2. حلول سطح المكتب (بدون المتصفح) + +| التطبيق | نظام | طريقة التصنيف | +|--------|------|----------------| +| **FreeTube** | Windows / macOS / Linux | • يدعم إنشاء “Playlists” مخصصة (كل قائمة تمثل فئة).
• لا يستخدم خوارزمية توصية؛ يعرض فقط القنوات التي تضيفها يدوياً. | +| **Invidious (خادم خاص أو عام)** | أي (متصفح) | • يمكنك تشغيل القنوات عبر واجهة Invidious (مثلاً `https://yewtu.be`).
• لا يجمع بياناتك ولا يعرض إعلانات.
• يمكن حفظ القنوات في ملف `subscriptions.json` وتعديله يدوياً لتصنيفها. | +| **Memento – YouTube Subscriptions Manager** (Android) | Android | • يتيح إضافة وسوم (Tags) لكل قناة وتصديرها كملف OPML. | + +### 2.3. طريقة متقدمة: استخراج الاشتراكات إلى ملف OPML + تصنيف في **Feedly** أو **Inoreader** + +1. **استخراج الاشتراكات** (تحتاج حساب Google) + - انتقل إلى → **“YouTube and YouTube Music”** → **تصدير** → ستحصل على ملف `subscriptions.xml` (OPML). + +2. **استيراد OPML إلى Feedly** + - سجّل الدخول إلى → **“Add Content → OPML”** → استورد الملف. + +3. **إنشاء “Collections” (مجموعات)** داخل Feedly لكل فئة (مثلاً “تقنية”، “طبخ”). اسحب القنوات إلى المجموعة المناسبة. + +4. **توليد روابط الفيديو اليومية**: + - في Feedly يمكنك اختيار “Export → OPML” مرةً أخرى أو استخدام **Zapier / IFTTT** لتصدير كل عنصر جديد إلى ملف نصي `links.txt`. + +5. **تشغيل yt‑dlp** مع `links.txt` → سيحفظ الفيديوهات في مجلدات الفئة التي حددتها في الخطوة 1. + +> **الميزة**: لا تحتاج إلى أي برمجة إذا استخدمت PocketTube + Feedly معًا؛ فقط استورد القنوات إلى Feedly لتصنيفها ثم استخدم أداة استخراج الروابط (Zapier) لتغذية `links.txt`. + +--- + +## 3️⃣ إضافات Chrome لتقليل الإعلانات المستهدفة ومنع طلب الموقع الجغرافي + +| الإضافة | ما تقوم به | مميزات أمان | +|---------|-----------|-------------| +| **uBlock Origin** | مانع إعلانات شامل، يمنع طلبات التتبع (tracking) وشبكات الإعلانات. | مفتوح المصدر، يستهلك موارد قليلة. | +| **Privacy Badger** (Electronic Frontier Foundation) | يحظر تلقائيًا المتعقّبين الذين يحاولون جمع بياناتك. | لا يحتاج إعداد يدوي، يحدّ من “fingerprinting”. | +| **Ghostery** | يحجب المتعقّبين، يقدم لوحة تحكم لتفعيل/إيقاف كل “مُعَرف” (tracker). | واجهة سهلة الاستخدام. | +| **Location Guard** | يخفّض دقة أو يحجب طلبات الموقع الجغرافي تمامًا. | يمكن تعيين إعدادات “تقريب” للـ GPS أو إيقافه بالكامل. | +| **HTTPS Everywhere** (من EFF) | يفرض تحميل المواقع عبر HTTPS، يقلل من التجسس عبر HTTP غير المشفر. | الآن مدمج في معظم المتصفحات الحديثة، لكن الإضافة لا تزال مفيدة. | +| **Decentraleyes** | يبدّل مكتبات CDN (مثل Google Hosted Libraries) ببدائل محلية لتقليل طلبات الطرف الثالث. | يقلل من “third‑party requests”. | + +#### كيفية تثبيت الإضافات (خطوات سريعة) + +1. **افتح Chrome** → انتقل إلى **Chrome Web Store** (https://chrome.google.com/webstore). +2. ابحث عن الاسم (مثلاً “uBlock Origin”). +3. اضغط **Add to Chrome** → **Add extension**. +4. بعد التثبيت، اضغط على أيقونة الإضافة في شريط الأدوات لضبط الإعدادات (مثلاً: **تفعيل “Block all third‑party cookies”** في uBlock). + +#### إعدادات مبدئية لتقليل الإعلانات المستهدفة + +- **uBlock Origin → Dashboard → “My filters”** → أضف السطر التالي لمنع جميع طلبات إعلانات Google: + + ``` + ||googleadservices.com^ + ||googlesyndication.com^ + ``` + +- **Location Guard → Settings** → اختر **“Never share location”** أو **“Reduce precision to 5 km”** إذا احتجت موقعًا تقريبيًا فقط. + +- **Privacy Badger**: اتركها على الوضع الافتراضي؛ ستتذكر المواقع التي تحاول تتبعك وتُحظرها تلقائيًا. + +> **ملحوظة أمان**: لا تقم بتمكين أي ملحق يطلب “إدارة جميع البيانات على جميع المواقع” إلا إذا كنت تثق به تمامًا (كل الإضافات المذكورة أعلاه موثوقة ومفتوحة المصدر). + +--- + +## 4️⃣ خطوات تنفيذية شاملة (من البداية إلى النهاية) + +### الخطوة 1 – إعداد أداة الأرشفة +1. **ثبت yt‑dlp** (أو استخدم NewPipe إذا كنت على Android). +2. أنشئ مجلد مشروع (مثلاً `C:\YT‑Archive`). +3. ضع داخل المجلد الملفات `links.txt`, `categories.json`, `download.py`. + +### الخطوة 2 – تجميع الروابط وتصنيف القنوات +- **طريقة سريعة (بدون برمجة):** + 1. سجّل الدخول إلى YouTube → **قائمة الاشتراكات**. + 2. استخدم **PocketTube** لإنشاء مجموعات (مثلاً “تقنية”، “رياضة”). + 3. داخل كل مجموعة، اضغط على أيقونة **القائمة الثلاثية → “Copy channel link”** لجميع القنوات التي تريد أرشفتها. + 4. الصق الروابط في ملف `links.txt`. + 5. أضف معرف القناة (بعد `/channel/`) إلى `categories.json` مع اسم الفئة. + +- **طريقة متقدمة (باستخدام Feedly + Zapier):** + 1. استورد ملف OPML إلى Feedly. + 2. أنشئ “Collections” بحسب الفئات. + 3. اربط Feedly بـ **Zapier** → “New article in Feedly” → “Append to Google Sheet”. + 4. احصل على عمود “URL” في Google Sheet → صَدِّر إلى ملف نصي `links.txt` يوميًا. + +### الخطوة 3 – تشغيل الأرشفة +```bash +# من سطر الأوامر داخل مجلد المشروع +python download.py # أو تشغيل run-archive.bat +``` +- ستجد الفيديوهات في مجلدات مثل: + ``` + /Archive/تقنية/ChannelName/2024-07-28 - اسم الفيديو.mp4 + /Archive/طبخ/ChannelName/2024-07-27 - وصفة … + ``` + +### الخطوة 4 – تقليل الإعلانات وحماية الخصوصية على Chrome +1. ثبت **uBlock Origin**, **Privacy Badger**, **Location Guard**. +2. قم بتفعيل الفلاتر الموصى بها أعلاه. +3. في إعدادات Chrome → **Privacy and security → Cookies and other site data** → فعل **“Block third‑party cookies”**. + +### الخطوة 5 – صيانة دورية +| الفترة | الإجراء | +|--------|----------| +| **يوميًا** | تشغيل السكريبت لتحديث `links.txt` وتنزيل الفيديوهات الجديدة. | +| **أسبوعيًا** | مراجعة `categories.json` وإضافة/إزالة قنوات حسب الحاجة. | +| **شهريًا** | تحديث yt‑dlp (`yt-dlp -U`) لضمان توافقه مع تغييرات YouTube. | +| **كل 3 أشهر** | مراجعة إضافات Chrome وتحديثها من المتجر. | + +--- + +## 5️⃣ روابط التحميل المباشرة (محدثة حتى يوليو 2026) + +| الأداة | رابط التحميل | ملاحظات | +|--------|--------------|----------| +| **yt‑dlp** (الملف التنفيذي) | (Windows)
أو للأنظمة الأخرى | دائمًا استخرج من GitHub الرسمي. | +| **NewPipe** | | غير متوفر في Google Play؛ استخدم F‑Droid أو APK من الموقع الرسمي. | +| **FreeTube** | | يتضمن نسخة للـ macOS (DMG) و Windows (EXE). | +| **PocketTube (Chrome)** | | مجاني، يدعم إنشاء مجموعات غير محدودة. | +| **uBlock Origin** | | افتح الإعدادات → “My filters” لإضافة الفلاتر المخصصة. | +| **Privacy Badger** | | لا تحتاج إعدادات إضافية. | +| **Location Guard** | | اضبط “Never share location”. | +| **Feedly** | | سجل حسابًا مجانيًا؛ يدعم استيراد OPML. | +| **Zapier (Free plan)** | | يمكن إنشاء “Zap” بسيط لتصدير روابط YouTube إلى Google Sheet. | + +--- + +## 6️⃣ نصائح أمان إضافية + +1. **احفظ مفاتيح API في ملفات غير متاحة للإنترنت** (مثل `client_secret.json` إذا استخدمت YouTube Data API). +2. **استخدم VPN** عند تنزيل محتوى من دول قد تكون فيها قيود جغرافية أو حيث تريد إخفاء عنوان IP. +3. **تحقق من توقيع ملفات الـ APK** (NewPipe) عبر “SHA‑256” الموجود على صفحة GitHub. +4. **تجنّب تشغيل سكريبتات غير موثوقة** على `links.txt`؛ تأكد من أن الروابط تأتي من مصادر موثوقة (قنواتك فقط). +5. **احذف ملفات `download-archive.txt`** إذا كان يحتوي على روابط لا ترغب في حفظها في السحابة أو مشاركتها. + +--- + +## 🎉 خلاصة سريعة (قائمة “فعل الآن”) + +| ✅ | الإجراء | أين؟ | +|----|----------|------| +| ☐ **ثبت yt‑dlp** | GitHub (الملف التنفيذي) | +| ☐ **أنشئ مجلد مشروع** (`C:\YT‑Archive`) | +| ☐ **أضف `links.txt` و `categories.json`** | محرّر نصوص | +| ☐ **انسخ سكريبت `download.py`** | محرّر نصوص | +| ☐ **ثبت PocketTube** (أو استخدم Feedly) لتصنيف القنوات | Chrome Web Store | +| ☐ **استخرج روابط القنوات إلى `links.txt`** | يدويًا أو عبر Feedly+Zapier | +| ☐ **شغّل `python download.py`** (أو `run-archive.bat`) | سطر الأوامر | +| ☐ **ثبت uBlock Origin + Privacy Badger + Location Guard** | Chrome Web Store | +| ☐ **فعّل “Block third‑party cookies”** في إعدادات Chrome | Chrome → Settings → Privacy | +| ☐ **استخدم VPN** إذا رغبت في إخفاء موقعك | أي خدمة موثوقة (NordVPN, ProtonVPN…) | + +بهذا تكون لديك **نظام أرشفة كامل** يدعم **تصنيف القنوات** ويُحافظ على **خصوصيتك من الإعلانات والتتبع**. إذا احتجت مساعدة في أي خطوة (مثلاً إعداد سكريبت Python على macOS أو ربط Zapier بـ Feedly)، أخبرني وسأرسل لك التعليمات التفصيلية أو ملفات القالب المطلوبة. 🚀 \ No newline at end of file