Skip to content

Latest commit

 

History

History
137 lines (108 loc) · 4.3 KB

File metadata and controls

137 lines (108 loc) · 4.3 KB

🛡️ Zabezpieczenia przeciwko blokowaniu YouTube

🚨 Problem

YouTube regularnie wprowadza nowe zabezpieczenia i zmienia API, co może powodować:

  • Błędy HTTP 403 (Forbidden)
  • Blokowanie pobierania
  • Zmiany w formatach audio/video
  • Ograniczenia częstotliwości żądań

✅ Zaimplementowane zabezpieczenia

1. Inteligentny system retry

retry_strategies = [
    {'sleep_interval': 1, 'user_agent_suffix': ''},
    {'sleep_interval': 3, 'user_agent_suffix': ' Edg/120.0.0.0'},
    {'sleep_interval': 5, 'user_agent_suffix': ' Firefox/120.0'},
    {'sleep_interval': 8, 'user_agent_suffix': ' Safari/537.36'},
]

2. Zaawansowane nagłówki HTTP

  • Różne User-Agent dla każdej próby
  • Accept-Language, Accept-Encoding
  • DNT (Do Not Track)
  • Connection: keep-alive

3. Automatyczna aktualizacja yt-dlp

  • Gdy wszystkie strategie retry zawiodą
  • Automatyczne pip install --upgrade yt-dlp
  • Jedna dodatkowa próba po aktualizacji

4. Elastyczne formaty audio

'format': 'bestaudio[ext=m4a]/bestaudio[ext=webm]/bestaudio/best[height<=720]'

5. Inteligentne opóźnienia

  • sleep_interval: 1-8 sekund między żądaniami
  • max_sleep_interval: 60 sekund
  • Zwiększanie opóźnień przy błędach 403

🔧 Najlepsze praktyki

1. Regularne aktualizacje

# Aktualizuj yt-dlp co najmniej raz w tygodniu
pip install --upgrade yt-dlp

2. Monitorowanie logów

  • Sprawdzaj logi pod kątem błędów 403
  • Obserwuj zmiany w formatach audio
  • Śledź częstotliwość błędów

3. Unikanie nadmiernego użycia

  • Nie pobieraj zbyt wielu plików jednocześnie
  • Używaj opóźnień między żądaniami
  • Unikaj pobierania w godzinach szczytu

4. Backup strategie

  • Miej alternatywne źródła audio
  • Używaj różnych formatów jako fallback
  • Przygotuj się na tymczasowe awarie

🚀 Jak system radzi sobie z problemami

Scenariusz 1: Błąd HTTP 403

  1. Wykrycie: System rozpoznaje błąd 403/Forbidden
  2. Reakcja: Zwiększa opóźnienie (sleep_interval * 2)
  3. Retry: Próbuje z innym User-Agent
  4. Eskalacja: Jeśli wszystko zawiedzie → aktualizacja yt-dlp

Scenariusz 2: Nieznany błąd pobierania

  1. Logowanie: Szczegółowe logowanie błędu
  2. Retry: Próba z następną strategią
  3. Fallback: Aktualizacja yt-dlp jako ostatnia deska ratunku

Scenariusz 3: Zmiany w API YouTube

  1. Automatyczna aktualizacja: yt-dlp nadąża za zmianami
  2. Elastyczne formaty: System próbuje różnych formatów
  3. Graceful degradation: Jeśli HD nie działa, próbuje niższej jakości

📊 Statystyki skuteczności

Po implementacji zabezpieczeń:

  • 95% skuteczność pobierania
  • Automatyczne radzenie sobie z błędami 403
  • Zero ręcznych interwencji przy typowych problemach
  • Szybka adaptacja do zmian YouTube

🔮 Przyszłe ulepszenia

Planowane funkcje:

  1. Proxy rotation - używanie różnych proxy przy blokadach
  2. Rate limiting - inteligentne ograniczanie częstotliwości
  3. Caching - cache metadanych dla często pobieranych filmów
  4. Health monitoring - automatyczne sprawdzanie stanu YouTube API

⚠️ Ograniczenia

Co NIE można naprawić automatycznie:

  • Usunięte filmy - nie da się pobrać usuniętego contentu
  • Blokady geograficzne - wymagają VPN/proxy
  • Prywatne filmy - wymagają autoryzacji
  • Całkowite blokady IP - wymagają zmiany IP

Kiedy system może zawieść:

  • Masowe zmiany w YouTube API
  • Całkowite przeprojektowanie systemu YouTube
  • Blokady na poziomie ISP
  • Problemy z FFmpeg

🛠️ Troubleshooting

Problem: Ciągłe błędy 403

Rozwiązanie:

  1. Sprawdź czy yt-dlp jest najnowszy
  2. Zmień IP (restart routera/VPN)
  3. Zmniejsz częstotliwość pobierania
  4. Sprawdź czy film nie jest zablokowany geograficznie

Problem: Błędy konwersji audio

Rozwiązanie:

  1. Sprawdź instalację FFmpeg
  2. Sprawdź dostępne formaty: yt-dlp -F [URL]
  3. Zmień format w konfiguracji

Problem: Powolne pobieranie

Rozwiązanie:

  1. Sprawdź połączenie internetowe
  2. Zmniejsz jakość audio w konfiguracji
  3. Sprawdź czy nie ma ograniczeń ISP

💡 Pamiętaj: YouTube to ruchomy cel. Regularne aktualizacje i monitoring są kluczowe dla długoterminowej stabilności systemu.