الملفات
Chat-about-knowledge/archives/Google account/YouTube/.md

329 أسطر
22 KiB
Markdown
خام اللوم التاريخ

هذا الملف يحتوي على أحرف Unicode غير مرئية

هذا الملف يحتوي على أحرف Unicode غير مرئية لا يمكن التمييز بينها بعين الإنسان ولكن قد تتم معالجتها بشكل مختلف بواسطة الحاسوب. إذا كنت تعتقد أن هذا مقصود، يمكنك تجاهل هذا التحذير بأمان. استخدم زر الهروب للكشف عنها.

هذا الملف يحتوي على أحرف Unicode قد تُخلط مع أحرف أخرى. إذا كنت تعتقد أن هذا مقصود، يمكنك تجاهل هذا التحذير بأمان. استخدم زر الهروب للكشف عنها.

## 🔎 ملخّص الطلب
1. **أداة (أو مجموعة أدوات) لأرشفة فيديوهات YouTube من روابط**
2. **إمكانية تصنيف الفيديوهات/القنوات تحت عنوان أو فئة مخصّصة** أي أنك تريد متابعة محتوى **قنوات محددة فقط** وليس كل القنوات التي تتابعها.
3. **إضافات Chrome لتقليل الإعلانات المستهدفة ومنع المواقع من طلب موقعك الجغرافي**.
سأقدّم لك حلًّا عمليًا يجمع بين **أدوات مجانية/مفتوحة المصدر**، مع **خطوات إعداد مفصّلة** وروابط تحميل مباشرة، بالإضافة إلى **نصائح أمان**.
---
## 1⃣ أرشفة الفيديوهات من روابط (مع تصنيف تلقائي)
### 1.1. الخيار الأكثر مرونة **ytdlp + ملف تصنيف (JSON/CSV)**
| العنصر | ما يفعله | لماذا هو مفيد |
|--------|----------|--------------|
| **ytdlp** (fork محسّن من youtubedl) | تنزيل الفيديو بأعلى جودة، حفظ الوصف، الترجمات، صورة المصغرة، وإنشاء ملف `archive.txt` لتجنب تنزيل نفس الفيديو مرتين. | سطر أوامر بسيط، يدعم جميع الأنظمة (WindowsmacOSLinux). |
| **ملف `links.txt`** | كل سطر يحتوي على رابط فيديو أو رابط RSS لقناة. | يتيح لك تجميع الروابط من أي مصدر (موقع، ملف OPML، أو سكريبت). |
| **ملف `categories.json`** (اختياري) | يربط كل معرف قناة (`channelId`) بفئة/عنوان مخصص (مثلاً “تقنية”، “طبخ”). | يتيح فرز الفيديوهات إلى مجلدات حسب الفئة تلقائيًا. |
| **سكريبت Python** (قليل الأسطر) | يقرأ `links.txt` + `categories.json` → يستدعي ytdlp مع خيارات التسمية. | كل شيء يتم بنقرة واحدة؛ لا تحتاج لتدخل يدوي بعد الإعداد. |
#### 1.1.1. تثبيت ytdlp
| النظام | طريقة التثبيت |
|-------|---------------|
| **Windows** | 1. حمل `yt-dlp.exe` من <https://github.com/yt-dlp/yt-dlp/releases/latest> <br>2. أنشئ مجلدًا (مثلاً `C:\yt-dlp\`) وانسخ الملف إليه. |
| **macOS** | ```bash<br>brew install yt-dlp<br>``` (إذا كان لديك Homebrew) |
| **Linux** | ```bash<br>sudo apt-get install python3-pip # إذا لم يكن مثبتًا<br>python3 -m pip install -U yt-dlp<br>``` أو تحميل الملف التنفيذي مباشرةً من GitHub. |
#### 1.1.2. هيكلة الملفات
```
/archiveproject/
│─ ytdlp.exe (أو ملف تنفيذي للمنصة)
│─ links.txt ← كل سطر = رابط فيديو
│─ categories.json ← (اختياري) تصنيف القنوات
│─ downloadarchive.txt ← يُنشأ تلقائيًا
│─ runarchive.bat (Windows) أو runarchive.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` إلى ytdlp
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 "غير‑مصنّف"
# أمر ytdlp مع المتغيّر `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 | - تنزيل فيديو/صوت <br> - حفظ الفيديو في مجلد مخصص <br> - لا يطلب حساب Google ولا يتبع خوارزمية YouTube | <https://f-droid.org/packages/org.schabi.newpipe/> |
| **FreeTube** | Windows / macOS / Linux | - مشاهدة بدون إعلانات (يستخدم Invidious) <br> - إمكانية تنزيل الفيديو (مدمج ytdlp) <br> - تنظيم القنوات في “Playlists” مخصصة | <https://freetubeapp.io/> |
| **4K Video Downloader** (نسخة مجانية) | Windows / macOS / Linux | - واجهة رسومية بسيطة <br> - دعم قوائم تشغيل كاملة <br> - حفظ الفيديو مع اسم القناة وتاريخ الرفع | <https://www.4kdownload.com/products/product-videodownloader> |
| **JDownloader2** | Windows / macOS / Linux | - مدير تنزيل عام يدعم ملفات نصية بالروابط <br> - يمكن ربطه بـ `ytdlp` كـ “plugin” لتصنيف تلقائي | <https://jdownloader.org/jdownloader2> |
> **نصيحة**: إذا كنت تريد **حفظ الفيديوهات على هاتف Android** مع تصنيف يدوي، فإن NewPipe هو الخيار الأسرع؛ إذا كنت تعمل على **كمبيوتر** وتحتاج لتصنيف آلي، استخدم الـytdlp مع السكريبت أعلاه.
---
## 2⃣ تصنيف القنوات ومتابعة الاشتراكات فقط (دون خوارزمية YouTube)
### 2.1. ملحقات Chrome لتصنيف القنوات داخل YouTube
| الملحق | ما يقدّمه | رابط التحميل |
|--------|-----------|--------------|
| **PocketTube YouTube Channel Manager** | • إنشاء “Groups” (مجموعات) وتسمية كل مجموعة <br>• سحب القنوات إلى المجموعة المطلوبة <br>• إخفاء الخلاصات من القنوات غير المختارة <br>• يظل يعمل داخل موقع YouTube الأصلي (لا يلزم تطبيق خارجي) | <https://chrome.google.com/webstore/detail/pockettubeyoutubechannelmanager/ijbgfdnacpdjmhkjhdhcncjjegjfkmdn> |
| **Channel Manager for YouTube** | • إضافة “Labels” (وسوم) لكل قناة <br>• عرض القنوات بحسب الوسم في صفحة “Subscriptions” | <https://chrome.google.com/webstore/detail/channelmanagerforyoutube/pmkpjlegmclgkjmhjicjgnjfhbpjkjco> |
| **Unhook Remove YouTube Recommended Videos** | • إلغاء جميع مقاطع “Recommended” و “Up Next” لتظهر فقط مقاطع القنوات التي تشترك فيها. | <https://chrome.google.com/webstore/detail/unhookremoveyoutubereco/ejjhhjphdbjcljhplbcbjhnnfocjpioj> |
#### كيفية إنشاء مجموعة وتصنيف القنوات باستخدام PocketTube
1. **ثبت الملحق** من الرابط أعلاه.
2. افتح YouTube (ستظهر أيقونة PocketTube على شريط الأدوات).
3. اضغط على الأيقونة → **“Create Group”**. أعطِ المجموعة اسمًا (مثلاً “تقنية”).
4. في صفحة **Subscriptions** اسحب القنوات التي تريدها إلى المجموعة.
5. لتقليل الضوضاء، **اختر “Hide videos from other groups”** داخل إعدادات PocketTube. الآن الخلاصات ستظهر فقط للفيديوهات داخل المجموعة المختارة.
### 2.2. حلول سطح المكتب (بدون المتصفح)
| التطبيق | نظام | طريقة التصنيف |
|--------|------|----------------|
| **FreeTube** | Windows / macOS / Linux | • يدعم إنشاء “Playlists” مخصصة (كل قائمة تمثل فئة). <br>• لا يستخدم خوارزمية توصية؛ يعرض فقط القنوات التي تضيفها يدوياً. |
| **Invidious (خادم خاص أو عام)** | أي (متصفح) | • يمكنك تشغيل القنوات عبر واجهة Invidious (مثلاً `https://yewtu.be`). <br>• لا يجمع بياناتك ولا يعرض إعلانات. <br>• يمكن حفظ القنوات في ملف `subscriptions.json` وتعديله يدوياً لتصنيفها. |
| **Memento YouTube Subscriptions Manager** (Android) | Android | • يتيح إضافة وسوم (Tags) لكل قناة وتصديرها كملف OPML. |
### 2.3. طريقة متقدمة: استخراج الاشتراكات إلى ملف OPML + تصنيف في **Feedly** أو **Inoreader**
1. **استخراج الاشتراكات** (تحتاج حساب Google)
- انتقل إلى <https://takeout.google.com/> → **“YouTube and YouTube Music”** → **تصدير** → ستحصل على ملف `subscriptions.xml` (OPML).
2. **استيراد OPML إلى Feedly**
- سجّل الدخول إلى <https://feedly.com/> → **“Add Content → OPML”** → استورد الملف.
3. **إنشاء “Collections” (مجموعات)** داخل Feedly لكل فئة (مثلاً “تقنية”، “طبخ”). اسحب القنوات إلى المجموعة المناسبة.
4. **توليد روابط الفيديو اليومية**:
- في Feedly يمكنك اختيار “Export → OPML” مرةً أخرى أو استخدام **Zapier / IFTTT** لتصدير كل عنصر جديد إلى ملف نصي `links.txt`.
5. **تشغيل ytdlp** مع `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 أو إيقافه بالكامل. |
| **HTTPSEverywhere** (من EFF) | يفرض تحميل المواقع عبر HTTPS، يقلل من التجسس عبر HTTP غير المشفر. | الآن مدمج في معظم المتصفحات الحديثة، لكن الإضافة لا تزال مفيدة. |
| **Decentraleyes** | يبدّل مكتبات CDN (مثل Google Hosted Libraries) ببدائل محلية لتقليل طلبات الطرف الثالث. | يقلل من “thirdparty requests”. |
#### كيفية تثبيت الإضافات (خطوات سريعة)
1. **افتح Chrome** → انتقل إلى **Chrome Web Store** (https://chrome.google.com/webstore).
2. ابحث عن الاسم (مثلاً “uBlock Origin”).
3. اضغط **Add to Chrome** → **Add extension**.
4. بعد التثبيت، اضغط على أيقونة الإضافة في شريط الأدوات لضبط الإعدادات (مثلاً: **تفعيل “Block all thirdparty cookies”** في uBlock).
#### إعدادات مبدئية لتقليل الإعلانات المستهدفة
- **uBlock Origin → Dashboard → “My filters”** → أضف السطر التالي لمنع جميع طلبات إعلانات Google:
```
||googleadservices.com^
||googlesyndication.com^
```
- **Location Guard → Settings** → اختر **“Never share location”** أو **“Reduce precision to 5km”** إذا احتجت موقعًا تقريبيًا فقط.
- **Privacy Badger**: اتركها على الوضع الافتراضي؛ ستتذكر المواقع التي تحاول تتبعك وتُحظرها تلقائيًا.
> **ملحوظة أمان**: لا تقم بتمكين أي ملحق يطلب “إدارة جميع البيانات على جميع المواقع” إلا إذا كنت تثق به تمامًا (كل الإضافات المذكورة أعلاه موثوقة ومفتوحة المصدر).
---
## 4⃣ خطوات تنفيذية شاملة (من البداية إلى النهاية)
### الخطوة1 إعداد أداة الأرشفة
1. **ثبت ytdlp** (أو استخدم NewPipe إذا كنت على Android).
2. أنشئ مجلد مشروع (مثلاً `C:\YTArchive`).
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 thirdparty cookies”**.
### الخطوة5 صيانة دورية
| الفترة | الإجراء |
|--------|----------|
| **يوميًا** | تشغيل السكريبت لتحديث `links.txt` وتنزيل الفيديوهات الجديدة. |
| **أسبوعيًا** | مراجعة `categories.json` وإضافة/إزالة قنوات حسب الحاجة. |
| **شهريًا** | تحديث ytdlp (`yt-dlp -U`) لضمان توافقه مع تغييرات YouTube. |
| **كل 3 أشهر** | مراجعة إضافات Chrome وتحديثها من المتجر. |
---
## 5⃣ روابط التحميل المباشرة (محدثة حتى يوليو2026)
| الأداة | رابط التحميل | ملاحظات |
|--------|--------------|----------|
| **ytdlp** (الملف التنفيذي) | <https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp.exe> (Windows) <br> أو <https://github.com/yt-dlp/yt-dlp/releases/latest> للأنظمة الأخرى | دائمًا استخرج من GitHub الرسمي. |
| **NewPipe** | <https://f-droid.org/packages/org.schabi.newpipe/> | غير متوفر في GooglePlay؛ استخدم FDroid أو APK من الموقع الرسمي. |
| **FreeTube** | <https://freetubeapp.io/> | يتضمن نسخة للـmacOS (DMG) و Windows (EXE). |
| **PocketTube (Chrome)** | <https://chrome.google.com/webstore/detail/pockettubeyoutubechannelmanager/ijbgfdnacpdjmhkjhdhcncjjegjfkmdn> | مجاني، يدعم إنشاء مجموعات غير محدودة. |
| **uBlock Origin** | <https://chrome.google.com/webstore/detail/ublockorigin/cjpalhdlnbpafiamejdnhcphjbkeiagm> | افتح الإعدادات → “My filters” لإضافة الفلاتر المخصصة. |
| **Privacy Badger** | <https://chrome.google.com/webstore/detail/privacybadger/pkehgijcmpdhfbdbbnkijodcdgclbona> | لا تحتاج إعدادات إضافية. |
| **Location Guard** | <https://chrome.google.com/webstore/detail/locationguard/jmpmfcjnflbcoidlgapblgpkcofhcohn> | اضبط “Never share location”. |
| **Feedly** | <https://feedly.com/> | سجل حسابًا مجانيًا؛ يدعم استيراد OPML. |
| **Zapier (Free plan)** | <https://zapier.com/> | يمكن إنشاء “Zap” بسيط لتصدير روابط YouTube إلى Google Sheet. |
---
## 6⃣ نصائح أمان إضافية
1. **احفظ مفاتيح API في ملفات غير متاحة للإنترنت** (مثل `client_secret.json` إذا استخدمت YouTube Data API).
2. **استخدم VPN** عند تنزيل محتوى من دول قد تكون فيها قيود جغرافية أو حيث تريد إخفاء عنوان IP.
3. **تحقق من توقيع ملفات الـAPK** (NewPipe) عبر “SHA256” الموجود على صفحة GitHub.
4. **تجنّب تشغيل سكريبتات غير موثوقة** على `links.txt`؛ تأكد من أن الروابط تأتي من مصادر موثوقة (قنواتك فقط).
5. **احذف ملفات `download-archive.txt`** إذا كان يحتوي على روابط لا ترغب في حفظها في السحابة أو مشاركتها.
---
## 🎉 خلاصة سريعة (قائمة “فعل الآن”)
| ✅ | الإجراء | أين؟ |
|----|----------|------|
| ☐ **ثبت ytdlp** | GitHub (الملف التنفيذي) |
| ☐ **أنشئ مجلد مشروع** (`C:\YTArchive`) |
| ☐ **أضف `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 thirdparty cookies”** في إعدادات Chrome | Chrome → Settings → Privacy |
| ☐ **استخدم VPN** إذا رغبت في إخفاء موقعك | أي خدمة موثوقة (NordVPN, ProtonVPN…) |
بهذا تكون لديك **نظام أرشفة كامل** يدعم **تصنيف القنوات** ويُحافظ على **خصوصيتك من الإعلانات والتتبع**. إذا احتجت مساعدة في أي خطوة (مثلاً إعداد سكريبت Python على macOS أو ربط Zapier بـ Feedly)، أخبرني وسأرسل لك التعليمات التفصيلية أو ملفات القالب المطلوبة. 🚀