From 37d552f382ce9b002faa249e6641644b59abca8a Mon Sep 17 00:00:00 2001 From: ewgsta <159681870+ewgsta@users.noreply.github.com> Date: Tue, 17 Mar 2026 01:49:24 +0300 Subject: [PATCH] =?UTF-8?q?Bu=20yolculuk,=20insan=C4=B1n=20sonunda=20?= =?UTF-8?q?=C3=B6l=C3=BCm=C3=BC=20bile=20=C3=BC=C3=A7=20g=C3=BCn=20sonra?= =?UTF-8?q?=20duyulan=20birinin,=20ya=20da=20g=C3=B6ky=C3=BCz=C3=BCndeki?= =?UTF-8?q?=20tek=20bir=20y=C4=B1ld=C4=B1z=C4=B1n=20yaln=C4=B1zl=C4=B1?= =?UTF-8?q?=C4=9F=C4=B1=20kadar=20b=C3=BCy=C3=BCk=20bir=20=C4=B1ss=C4=B1zl?= =?UTF-8?q?=C4=B1=C4=9Fa=20iter=20ki=C5=9Fiyi.=20=C3=87=C3=BCnk=C3=BC=20eg?= =?UTF-8?q?o,=20ancak=20tam=20bir=20=C3=BCmitsizlik=20noktas=C4=B1na=20gel?= =?UTF-8?q?ince=20teslim=20olur.=20Bu=20teslimiyet=20ac=C4=B1=20vericidir;?= =?UTF-8?q?=20insan=20kendini=20yutacak=20dipsiz=20bir=20u=C3=A7urumun=20a?= =?UTF-8?q?=C4=9Fz=C4=B1nda=20hisseder.=20=C3=96l=C3=BCm=20gibi=20gelir=20?= =?UTF-8?q?bu=20his.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ancak bir taraftan ölümdür bu, diğer taraftan da bir diriliş... Doğmak için ölmektir aslında. Yolcu önce bilinçaltının karanlıklarına dalar. İç dünyamızın bu karanlığı; gerçek benliğimizin, Tanrı'nın o şekilsizliğinin göz kamaştırdığı bir yerdir. Benliğimiz, o karanlıkta gizlenmiş bir ışıktır aslında. --- README-DE.md | 261 ++++++++++++++++++++++++++++++ README-PL.md | 261 ++++++++++++++++++++++++++++++ README-TR.md | 16 +- README.md | 16 +- md/de/CONTRIBUTING.md | 58 +++++++ md/pl/CONTRIBUTING.md | 57 +++++++ weeb_landing/index.html | 344 ++++++++++++++++++++++++++++++++-------- 7 files changed, 940 insertions(+), 73 deletions(-) create mode 100644 README-DE.md create mode 100644 README-PL.md create mode 100644 md/de/CONTRIBUTING.md create mode 100644 md/pl/CONTRIBUTING.md diff --git a/README-DE.md b/README-DE.md new file mode 100644 index 0000000..f58d2b1 --- /dev/null +++ b/README-DE.md @@ -0,0 +1,261 @@ +

+ Weeb CLI Logo +

+ +

Weeb CLI

+ +

+ Kein Browser, keine Werbung, keine Ablenkungen. Nur du und ein unvergleichliches Anime-Streaming-Erlebnis. +

+ +

+ Release + License + Stars + Tests +

+ +

+ Installation • + Funktionen • + Nutzung • + Quellen • + English • + Türkçe • + Polski +

+ +--- + +## Funktionen + +### Mehrere Quellen +- **Türkisch**: Animecix, Turkanime, Anizle, Weeb +- **Englisch**: HiAnime, AllAnime +- **Deutsch**: AniWorld +- **Polnisch**: Docchi + +### Intelligentes Streaming +- Hochwertige HLS/MP4-Wiedergabe mit MPV +- Fortsetzen, wo du aufgehört hast (zeitstempelbasiert) +- Wiedergabeverlauf und Statistiken +- Markierungen für abgeschlossene (✓) und angefangene (●) Episoden + +### Leistungsstarkes Download-System +- **Aria2** für schnelle Downloads mit mehreren Verbindungen +- **yt-dlp** für komplexe Stream-Unterstützung +- Warteschlangensystem mit gleichzeitigen Downloads +- Unterbrochene Downloads fortsetzen +- Intelligente Dateibenennung (`Anime Name - S1E1.mp4`) + +### Nachverfolgung & Synchronisation +- **AniList** Integration mit OAuth +- **MyAnimeList** Integration mit OAuth +- **Kitsu** Integration mit E-Mail/Passwort +- Automatische Fortschrittssynchronisierung für Online- und Offline-Wiedergabe +- Offline-Warteschlange für ausstehende Updates +- Intelligenter Abgleich von Anime-Titeln anhand von Dateinamen + +### Lokale Bibliothek +- Heruntergeladene Animes automatisch scannen +- Unterstützung externer Laufwerke (USB, HDD) +- Offline-Anime-Indexierung mit automatischer Tracker-Synchronisation +- Suche über alle Quellen hinweg +- **Empfohlenes Format**: `Anime Name - S1E1.mp4` für beste Tracker-Kompatibilität + +### Zusätzliche Funktionen +- SQLite-Datenbank (schnell und zuverlässig) +- Systembenachrichtigungen bei Abschluss des Downloads +- Discord RPC-Integration (Zeige auf Discord, was du dir gerade anschaust) +- Suchverlauf +- Debug-Modus und Protokollierung +- Automatische Update-Prüfungen +- Nicht interaktive JSON-API für Skripte und KI-Agenten +- Torznab-Servermodus für Sonarr/*arr-Integration + +--- + +## Installation + +### PyPI (Universell) +```bash +pip install weeb-cli +``` + +### Arch Linux (AUR) +```bash +yay -S weeb-cli +``` + +### Portable +Lade die entsprechende Datei für deine Plattform unter [Releases](https://github.com/ewgsta/weeb-cli/releases) herunter. + +### Für Entwickler +```bash +git clone https://github.com/ewgsta/weeb-cli.git +cd weeb-cli +pip install -e . +``` + +--- + +## Nutzung + +```bash +weeb-cli +``` + +### API-Modus (Nicht interaktiv) + +Für Skripte, Automatisierung und KI-Agenten bietet weeb-cli JSON-API-Befehle, die ohne Datenbank oder TUI ausgeführt werden: + +```bash +# Verfügbare Anbieter auflisten +weeb-cli api providers + +# Nach Animes suchen (gibt IDs zurück) +weeb-cli api search "Angel Beats" +# Rückgabe: [{"id": "12345", "title": "Angel Beats!", ...}] + +# Episoden auflisten (ID aus der Suche verwenden) +weeb-cli api episodes 12345 --season 1 + +# Stream-URLs für eine Episode abrufen +weeb-cli api streams 12345 --season 1 --episode 1 + +# Anime-Details abrufen +weeb-cli api details 12345 + +# Eine Episode herunterladen +weeb-cli api download 12345 --season 1 --episode 1 --output ./downloads +``` + +Alle API-Befehle geben JSON über stdout aus. + +### Sonarr/*arr-Integration (Serve-Modus) + +weeb-cli kann als Torznab-kompatibler Server für Sonarr und andere *arr-Anwendungen betrieben werden: + +```bash +pip install weeb-cli[serve] + +weeb-cli serve --port 9876 \ + --watch-dir /downloads/watch \ + --completed-dir /downloads/completed \ + --sonarr-url http://sonarr:8989 \ + --sonarr-api-key DEIN_KEY \ + --providers animecix,anizle,turkanime +``` + +Dann `http://weeb-cli-host:9876` als Torznab-Indexer in Sonarr mit der Kategorie 5070 (TV/Anime) hinzufügen. Der Server enthält einen Blackhole-Download-Worker, der heruntergeladene Episoden automatisch verarbeitet. + +### Tastatursteuerung +| Taste | Aktion | +|-------|--------| +| `↑` `↓` | Im Menü navigieren | +| `Enter` | Auswählen | +| `s` | Anime suchen (Hauptmenü) | +| `d` | Downloads (Hauptmenü) | +| `w` | Watchlist (Hauptmenü) | +| `c` | Einstellungen (Hauptmenü) | +| `q` | Beenden (Hauptmenü) | +| `Ctrl+C` | Zurück / Beenden | + +**Hinweis:** Alle Tastenkombinationen können in "Einstellungen > Tastaturkurzbefehle" angepasst werden. + +--- + +## Quellen + +| Quelle | Sprache | +|--------|---------| +| Animecix | Türkisch | +| Turkanime | Türkisch | +| Anizle | Türkisch | +| Weeb | Türkisch | +| HiAnime | Englisch | +| AllAnime | Englisch | +| AniWorld | Deutsch | +| Docchi | Polnisch | + +--- + +## Konfiguration + +Speicherort der Konfiguration: `~/.weeb-cli/weeb.db` (SQLite) + +### Verfügbare Einstellungen + +| Einstellung | Beschreibung | Standard | Typ | +|-------------|--------------|----------|-----| +| `language` | Interface-Sprache (tr/en/de/pl) | `null` (fragt beim ersten Start) | string | +| `scraping_source` | Aktive Anime-Quelle | `animecix` | string | +| `aria2_enabled` | Aria2 für Downloads verwenden | `true` | boolean | +| `aria2_max_connections` | Max. Verbindungen pro Download | `16` | integer | +| `ytdlp_enabled` | yt-dlp für HLS-Streams verwenden | `true` | boolean | +| `ytdlp_format` | yt-dlp Format string | `bestvideo+bestaudio/best` | string | +| `max_concurrent_downloads` | Gleichzeitige Downloads | `3` | integer | +| `download_dir` | Download-Ordnerpfad | `./weeb-downloads` | string | +| `download_max_retries` | Fehlgeschlagene Downloads wiederholen | `3` | integer | +| `download_retry_delay` | Verzögerung zwischen Wiederholungen (Sek.) | `10` | integer | +| `show_description` | Anime-Beschreibungen anzeigen | `true` | boolean | +| `discord_rpc_enabled` | Discord Rich Presence | `false` | boolean | +| `shortcuts_enabled` | Tastaturkurzbefehle | `true` | boolean | +| `debug_mode` | Debug-Protokollierung | `false` | boolean | + +### Tracker-Einstellungen (separat gespeichert) +- `anilist_token` - AniList OAuth-Token +- `anilist_user_id` - AniList-Benutzer-ID +- `mal_token` - MyAnimeList OAuth-Token +- `mal_refresh_token` - MAL Refresh-Token +- `mal_username` - MAL Benutzername + +### Externe Laufwerke +Verwaltet über "Einstellungen > Externe Laufwerke". Jedes Laufwerk speichert: +- Pfad (z.B., `D:\Anime`) +- Benutzerdefinierter Name/Spitzname +- Hinzugefügt-Zeitstempel + +Alle Einstellungen können über das interaktive Einstellungsmenü geändert werden. + +--- + +## Roadmap + +### Abgeschlossen +- [x] Unterstützung mehrerer Quellen (TR/EN/DE/PL) +- [x] MPV-Streaming +- [x] Wiedergabeverlauf und Fortschrittsverfolgung +- [x] Aria2/yt-dlp Download-Integration +- [x] Externe Laufwerke und lokale Bibliothek +- [x] SQLite-Datenbank +- [x] Benachrichtigungssystem +- [x] Debug-Modus +- [x] MAL/AniList-Integration +- [x] Datenbanksicherung/-wiederherstellung +- [x] Tastaturkurzbefehle +- [x] Nicht interaktiver API-Modus (JSON-Ausgabe) +- [x] Torznab-Server für Sonarr/*arr-Integration + +### Geplant +- [ ] Anime-Empfehlungen +- [ ] Stapelverarbeitung +- [ ] Wiedergabestatistiken (Grafiken) +- [ ] Theme-Unterstützung +- [ ] Untertitel-Downloads +- [ ] Torrent-Unterstützung (nyaa.si) +- [ ] Watch Party + +--- + +## Projektstruktur +*Siehe englische oder türkische README für Details zur Projektstruktur.* + +--- + +## Lizenz + +Dieses Projekt ist unter der **GNU General Public License v3.0** lizenziert. +Die vollständige Lizenzvereinbarung findest du in der Datei [LICENSE](LICENSE). + +Weeb-CLI (C) 2026 diff --git a/README-PL.md b/README-PL.md new file mode 100644 index 0000000..8048a59 --- /dev/null +++ b/README-PL.md @@ -0,0 +1,261 @@ +

+ Weeb CLI Logo +

+ +

Weeb CLI

+ +

+ Bez przeglądarki, bez reklam, bez rozpraszania uwagi. Tylko Ty i niezrównane wrażenia z oglądania anime. +

+ +

+ Release + License + Stars + Tests +

+ +

+ Instalacja • + Funkcje • + Użycie • + Źródła • + English • + Türkçe • + Deutsch +

+ +--- + +## Funkcje + +### Wiele źródeł +- **Turecki**: Animecix, Turkanime, Anizle, Weeb +- **Angielski**: HiAnime, AllAnime +- **Niemiecki**: AniWorld +- **Polski**: Docchi + +### Inteligentne przesyłanie strumieniowe +- Wysokiej jakości odtwarzanie HLS/MP4 przy użyciu MPV +- Wznawianie od miejsca, w którym skończyłeś (na podstawie znaczników czasu) +- Historia oglądania i statystyki +- Znaczniki odcinków ukończonych (✓) i w trakcie oglądania (●) + +### Potężny system pobierania +- **Aria2** do szybkiego pobierania przy użyciu wielu połączeń +- **yt-dlp** dla obsługi złożonych strumieni +- System kolejkowania z jednoczesnym pobieraniem +- Wznawianie przerwanych pobierań +- Inteligentne nazewnictwo plików (`Anime Name - S1E1.mp4`) + +### Śledzenie i synchronizacja +- Integracja z **AniList** za pomocą OAuth +- Integracja z **MyAnimeList** za pomocą OAuth +- Integracja z **Kitsu** (email/hasło) +- Automatyczna synchronizacja postępów oglądania (online i offline) +- Kolejka offline dla oczekujących aktualizacji +- Inteligentne dopasowywanie tytułów anime na podstawie nazw plików + +### Biblioteka lokalna +- Automatyczne skanowanie pobranych anime +- Obsługa dysków zewnętrznych (USB, HDD) +- Indeksowanie anime offline z automatyczną synchronizacją z trackerem +- Szukaj we wszystkich źródłach +- **Zalecany format**: `Anime Name - S1E1.mp4` – zapewnia najlepszą kompatybilność z trackerem + +### Dodatkowe funkcje +- Baza danych SQLite (szybka i niezawodna) +- Powiadomienia systemowe o zakończeniu pobierania +- Integracja z Discord RPC (Pokaż na Discordzie, co teraz oglądasz) +- Historia wyszukiwania +- Tryb debugowania i logowanie +- Automatyczne sprawdzanie aktualizacji +- Nieniektywny tryb API JSON do skryptów i AI +- Tryb serwera Torznab do integracji z Sonarr/*arr + +--- + +## Instalacja + +### PyPI (Uniwersalne) +```bash +pip install weeb-cli +``` + +### Arch Linux (AUR) +```bash +yay -S weeb-cli +``` + +### Portable +Pobierz odpowiedni plik dla swojej platformy z zakładki [Releases](https://github.com/ewgsta/weeb-cli/releases). + +### Dla deweloperów +```bash +git clone https://github.com/ewgsta/weeb-cli.git +cd weeb-cli +pip install -e . +``` + +--- + +## Użycie + +```bash +weeb-cli +``` + +### Tryb API (Nieniektywny) + +Dla potrzeb pisania skryptów, automatyzacji i agentów AI, weeb-cli udostępnia komendy API JSON, które działają w tle (headless) bez konieczności obsługi bazy danych czy TUI: + +```bash +# Wyświetl dostępne źródła +weeb-cli api providers + +# Wyszukiwanie anime (zwraca ID) +weeb-cli api search "Angel Beats" +# Zwraca: [{"id": "12345", "title": "Angel Beats!", ...}] + +# Lista odcinków (użyj ID z wyszukiwarki) +weeb-cli api episodes 12345 --season 1 + +# Pobierz adresy URL streamów dla odcinka +weeb-cli api streams 12345 --season 1 --episode 1 + +# Szczegóły anime +weeb-cli api details 12345 + +# Pobierz odcinek +weeb-cli api download 12345 --season 1 --episode 1 --output ./downloads +``` + +Wszystkie komendy API zwracają JSON na standardowe wyjście (stdout). + +### Integracja z Sonarr/*arr (Tryb Serve) + +weeb-cli może działać jako serwer zgodny z Torznab dla aplikacji Sonarr i podobnych z rodziny *arr: + +```bash +pip install weeb-cli[serve] + +weeb-cli serve --port 9876 \ + --watch-dir /downloads/watch \ + --completed-dir /downloads/completed \ + --sonarr-url http://sonarr:8989 \ + --sonarr-api-key TWÓJ_KLUCZ \ + --providers animecix,anizle,turkanime +``` + +Następnie w Sonarr dodaj `http://weeb-cli-host:9876` jako Torznab instancję w kategorii 5070 (TV/Anime). Serwer zawiera komponent `blackhole` pobierający wykryte odcinki automatycznie. + +### Sterowanie klawiaturą +| Klawisz | Akcja | +|---------|-------| +| `↑` `↓` | Nawigacja w menu | +| `Enter` | Wybierz | +| `s` | Wyszukaj Anime (Menu główne) | +| `d` | Pobrane (Menu główne) | +| `w` | Do obejrzenia (Menu główne) | +| `c` | Ustawienia (Menu główne) | +| `q` | Wyjście (Menu główne) | +| `Ctrl+C` | Wróć / Wyjdź | + +**Uwaga:** Wszystkie skróty klawiaturowe można zmienić w sekcji: Ustawienia > Skróty klawiaturowe. + +--- + +## Źródła + +| Źródło | Język | +|--------|-------| +| Animecix | Turecki | +| Turkanime | Turecki | +| Anizle | Turecki | +| Weeb | Turecki | +| HiAnime | Angielski | +| AllAnime | Angielski | +| AniWorld | Niemiecki | +| Docchi | Polski | + +--- + +## Konfiguracja + +Lokalizacja pliku konfiguracyjnego: `~/.weeb-cli/weeb.db` (SQLite) + +### Dostępne ustawienia + +| Ustawienie | Opis | Domyślne | Typ | +|------------|------|----------|-----| +| `language` | Język interfejsu (tr/en/de/pl) | `null` (pyta przy pierszym uruchomieniu) | string | +| `scraping_source` | Aktywne źródło anime | `animecix` | string | +| `aria2_enabled` | Użyj Aria2 podczas pobierania | `true` | boolean | +| `aria2_max_connections` | Max. połączeń na pobieranie | `16` | integer | +| `ytdlp_enabled` | Użyj yt-dlp dla streamów HLS | `true` | boolean | +| `ytdlp_format` | yt-dlp łańcuch formatujący | `bestvideo+bestaudio/best` | string | +| `max_concurrent_downloads` | Jednoczesne pobierania | `3` | integer | +| `download_dir` | Ścieżka folderu pobierania | `./weeb-downloads` | string | +| `download_max_retries` | Ponowne próby pobierania po błędzie | `3` | integer | +| `download_retry_delay` | Opóźnienie między próbami (sekundy) | `10` | integer | +| `show_description` | Wyświetl zarys fabuły anime | `true` | boolean | +| `discord_rpc_enabled` | Integracja logowania Discord | `false` | boolean | +| `shortcuts_enabled` | Skróty klawiaturowe | `true` | boolean | +| `debug_mode` | Tryb podglądu debugowania | `false` | boolean | + +### Ustawienia Trackerów (zapisywane osobno) +- `anilist_token` - OAuth token do AniList +- `anilist_user_id` - ID użytkownika AniList +- `mal_token` - OAuth token do MyAnimeList +- `mal_refresh_token` - Odświeżający token MAL +- `mal_username` - Nazwa użytkownika MAL + +### Dyski Zewnętrzne +Zarządzane przez menu 'Ustawienia > Dyski Zewnętrzne'. Zapisy dla każdego dysku: +- Ścieżka (np., `D:\Anime`) +- Niestandardowa nazwa/pseudonim +- Godzina dodania + +Wszystkie ustawienia mogą być modyfikowane poprzez interaktywne menu Ustawienia. + +--- + +## Plan rozwoju (Roadmap) + +### Ukończone +- [x] Wsparcie dla wielu źródeł (TR/EN/DE/PL) +- [x] Odtwarzanie MPV +- [x] Historia i śledzenie postępów +- [x] Integracja pobierania Aria2/yt-dlp +- [x] Lokalne napędy zewnętrzne i biblioteka własna +- [x] Baza danych SQLite +- [x] System powiadomień +- [x] Tryb debugowania +- [x] Integracja MAL/AniList +- [x] Kopia zapasowa / Przywracanie kopii bazy danych +- [x] Skróty klawiszowe +- [x] Bezobsługowe i nieniektywne JSON API (format wyjściowy) +- [x] Serwer Torznab do integracji Sonarr/*arr + +### Planowane +- [ ] Rekomendacje anime +- [ ] Działania wsadowe +- [ ] Statystyki (wykresy) +- [ ] Obsługa stylów +- [ ] Pobieranie nowych napisów +- [ ] Obsługa torrent (nyaa.si) +- [ ] Wspólne oglądanie + +--- + +## Struktura projektu +*Szczegółowa struktura znajduje się w angielskiej (lub tureckiej) wersji README.* + +--- + +## Licencja + +Ten projekt jest objęty licencją **Powszechna Licencja Publiczna GNU, wersja 3.0**. +Zajrzyj do pliku [LICENSE](LICENSE) dla wyświetlenia pełnej treści licencji. + +Weeb-CLI (C) 2026 diff --git a/README-TR.md b/README-TR.md index 37b8aa9..699eab8 100644 --- a/README-TR.md +++ b/README-TR.md @@ -20,7 +20,9 @@ ÖzelliklerKullanımKaynaklar • - English + English • + Deutsch • + Polski

--- @@ -28,8 +30,10 @@ ## Özellikler ### Çoklu Kaynak Desteği -- **Türkçe**: Animecix, Turkanime, Anizle +- **Türkçe**: Animecix, Turkanime, Anizle, Weeb - **İngilizce**: HiAnime, AllAnime +- **Almanca**: AniWorld +- **Lehçe**: Docchi ### Akıllı İzleme - MPV entegrasyonu ile yüksek kaliteli HLS/MP4 yayınları @@ -181,6 +185,8 @@ CMD ["weeb-cli", "serve", "--port", "9876", "--watch-dir", "/downloads/watch", " | Weeb | Türkçe | | HiAnime | İngilizce | | AllAnime | İngilizce | +| AniWorld | Almanca | +| Docchi | Lehçe | --- @@ -192,7 +198,7 @@ Yapılandırma: `~/.weeb-cli/weeb.db` (SQLite) | Ayar | Açıklama | Varsayılan | Tip | |------|----------|------------|-----| -| `language` | Arayüz dili (tr/en) | `null` (ilk çalıştırmada sorar) | string | +| `language` | Arayüz dili (tr/en/de/pl) | `null` (ilk çalıştırmada sorar) | string | | `scraping_source` | Aktif anime kaynağı | `animecix` | string | | `aria2_enabled` | İndirmeler için Aria2 kullan | `true` | boolean | | `aria2_max_connections` | İndirme başına max bağlantı | `16` | integer | @@ -227,7 +233,7 @@ Tüm ayarlar interaktif Ayarlar menüsünden değiştirilebilir. ## Yol Haritası ### Tamamlanan -- [x] Çoklu kaynak desteği (TR/EN) +- [x] Çoklu kaynak desteği (TR/EN/DE/PL) - [x] MPV ile izleme - [x] İzleme geçmişi ve ilerleme takibi - [x] Aria2/yt-dlp indirme entegrasyonu @@ -322,7 +328,9 @@ weeb-cli/ │ │ └── sanitizer.py # Dosya adı/yol temizleme │ │ │ ├── locales/ # Çoklu dil desteği +│ │ ├── de.json # Almanca çeviriler │ │ ├── en.json # İngilizce çeviriler +│ │ ├── pl.json # Lehçe çeviriler │ │ └── tr.json # Türkçe çeviriler │ │ │ ├── templates/ # HTML şablonları diff --git a/README.md b/README.md index b41c9b1..f34f4d7 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,9 @@ FeaturesUsageSources • - Türkçe + Türkçe • + Deutsch • + Polski

--- @@ -28,8 +30,10 @@ ## Features ### Multiple Sources -- **Turkish**: Animecix, Turkanime, Anizle +- **Turkish**: Animecix, Turkanime, Anizle, Weeb - **English**: HiAnime, AllAnime +- **German**: AniWorld +- **Polish**: Docchi ### Smart Streaming - High-quality HLS/MP4 playback with MPV @@ -181,6 +185,8 @@ CMD ["weeb-cli", "serve", "--port", "9876", "--watch-dir", "/downloads/watch", " | Weeb | Turkish | | HiAnime | English | | AllAnime | English | +| AniWorld | German | +| Docchi | Polish | --- @@ -192,7 +198,7 @@ Config location: `~/.weeb-cli/weeb.db` (SQLite) | Setting | Description | Default | Type | |---------|-------------|---------|------| -| `language` | Interface language (tr/en) | `null` (asks on first run) | string | +| `language` | Interface language (tr/en/de/pl) | `null` (asks on first run) | string | | `scraping_source` | Active anime source | `animecix` | string | | `aria2_enabled` | Use Aria2 for downloads | `true` | boolean | | `aria2_max_connections` | Max connections per download | `16` | integer | @@ -227,7 +233,7 @@ All settings can be modified through the interactive Settings menu. ## Roadmap ### Completed -- [x] Multiple source support (TR/EN) +- [x] Multiple source support (TR/EN/DE/PL) - [x] MPV streaming - [x] Watch history and progress tracking - [x] Aria2/yt-dlp download integration @@ -310,7 +316,9 @@ weeb-cli/ │ │ └── sanitizer.py # Filename/path sanitization │ │ │ ├── locales/ # Internationalization +│ │ ├── de.json # German translations │ │ ├── en.json # English translations +│ │ ├── pl.json # Polish translations │ │ └── tr.json # Turkish translations │ │ │ ├── templates/ # HTML templates diff --git a/md/de/CONTRIBUTING.md b/md/de/CONTRIBUTING.md new file mode 100644 index 0000000..adcff2a --- /dev/null +++ b/md/de/CONTRIBUTING.md @@ -0,0 +1,58 @@ +# Beitragen zu Weeb CLI + +*Suchst du die englische Version? [Hier klicken für Englisch](../../CONTRIBUTING.md).* + +Zunächst einmal vielen Dank, dass du in Erwägung ziehst, zu Weeb CLI beizutragen! Deine Hilfe wird sehr geschätzt. + +Wenn du Anime, Tools und das Terminal magst, bist du hier genau richtig. + +## Erste Schritte + +1. **Forke das Repository** auf GitHub. +2. **Klone deinen Fork** lokal: + ```bash + git clone https://github.com/ewgsta/weeb-cli.git + cd weeb-cli + ``` +3. **Installiere Abhängigkeiten** im bearbeitbaren Modus (editable mode): + ```bash + pip install -e . + ``` + +## Workflow + +1. Erstelle einen neuen Branch für deine Funktion oder deinen Fehlerbehebung (Bugfix): + ```bash + git checkout -b feature/ein-guter-name + ``` +2. Nimm deine Änderungen am Code vor. +3. Um deine CLI-Änderungen lokal zu testen, kannst du `weeb-cli` ausführen, welches auf das Skript deiner aktiven Umgebung verweisen sollte. +4. Versuche, Tests zu schreiben. Sie befinden sich im Verzeichnis `tests/`. + ```bash + pytest + ``` +5. Führe einen Commit deiner Änderungen durch. Stelle sicher, dass deine Commit-Nachrichten klar beschreiben, was geändert wurde. +6. Pushe auf deinen Fork und eröffne einen Pull Request für den `main`-Branch. + +## Pull Requests + +- Beschränke deine Pull Requests auf eine einzige Änderung, Funktion oder Fehlerbehebung. Dies macht den Überprüfungsprozess reibungsloser. +- Verlinke zugehörige Issues in deinem PR, damit die Maintainer den Kontext verstehen. +- Halte dich an den bestehenden Code-Stil (verwende Black/Flake8 für Python-Komponenten). +- Aktualisiere die Dokumentation (`README.md`, `README-TR.md` usw.), falls deine Änderungen das externe Verhalten beeinflussen. + +## Issues + +Wenn du einen Fehler findest oder einen Vorschlag hast, kannst du gerne ein Issue eröffnen: +- **Suche nach bestehenden Issues**, bevor du ein neues erstellst, um Duplikate zu vermeiden. +- Gib so viel Kontext wie möglich an. Erwähne das Betriebssystem, die Python-Version und die Weeb CLI-Version. +- Füge ein reproduzierbares Beispiel, Logs oder Screenshots hinzu, wo zutreffend. + +## Übersetzungen & i18n + +Da Weeb CLI mehrere Sprachen unterstützt: +- Funktionen, die Texte zur Benutzeroberfläche hinzufügen, sollten die entsprechenden JSON-Dateien in `locales/` (`en.json`, `tr.json`, `de.json`, `pl.json` usw.) anpassen. + +--- + +Nochmals vielen Dank für deinen Beitrag! diff --git a/md/pl/CONTRIBUTING.md b/md/pl/CONTRIBUTING.md new file mode 100644 index 0000000..759b7df --- /dev/null +++ b/md/pl/CONTRIBUTING.md @@ -0,0 +1,57 @@ +# Współtworzenie Weeb CLI + +*Szukasz wersji angielskiej? [Kliknij tutaj, aby przejść do wersji angielskiej](../../CONTRIBUTING.md).* + +Na wstępie bardzo dziękujemy za rozważenie wkładu w Weeb CLI! Twoja pomoc jest niezwykle cenna. + +Jeśli lubisz anime, przydatne narzędzia i terminal, jesteś we właściwym miejscu. + +## Pierwsze kroki + +1. **Sforkuj repozytorium** na GitHubie. +2. **Sklonuj swojego forka** lokalnie: + ```bash + git clone https://github.com/ewgsta/weeb-cli.git + cd weeb-cli + ``` +3. **Zainstaluj zależności** w trybie edytowalnym: + ```bash + pip install -e . + ``` + +## Przepływ pracy (Workflow) + +1. Utwórz nową gałąź (branch) dla swojej nowej funkcji lub poprawki błędu: + ```bash + git checkout -b feature/nazwa-twojej-funkcji + ``` +2. Wprowadź zmiany w kodzie. +3. Aby przetestować zmiany CLI lokalnie, możesz uruchomić `weeb-cli`, który powinien wskazywać na skrypt twojego aktywnego środowiska. +4. Postaraj się napisać testy. Znajdują się one w katalogu `tests/`. + ```bash + pytest + ``` +5. Zatwierdź (commit) swoje zmiany. Upewnij się, że opisy commitów jasno określają wprowadzone zmiany. +6. Wypchnij zmiany do swojego forka i prześlij Pull Request do gałęzi `main`. + +## Pull Requests + +- Ograniczaj swoje Pull Requesty do pojedynczej zmiany, nowej funkcji lub poprawki błędu. Ułatwi to i przyspieszy proces ich weryfikacji. +- Podlinkuj powiązane zgłoszenia (issues) do PR-a, aby ułatwić zarządzającym zrozumienie kontekstu. +- Stosuj się do aktualnego stylu kodowania (używaj Black/Flake8 w komponentach Python). +- Aktualizuj dokumentację (`README.md`, `README-TR.md`, itp.), jeśli edytowany kod modyfikuje działanie aplikacji i ma to wpływ na użytkowników. + +## Problemy (Issues) + +Jeśli znajdziesz błąd lub masz propozycję, otwórz nowe zgłoszenie (issue): +- Przed dodaniem nowego zgłoszenia **Przeszukaj istniejące issues**, aby uniknąć duplikatów. +- Zapewnij najwięcej informacji jak to możliwe, w tym system operacyjny, wersję Pythona oraz aktualną wersję Weeb CLI. +- Jeśli przypadek tego wymaga, warto uwzględnić możliwe sposoby jego zreprodukowania, pliki logów czy zrzuty ekranu. + +## Tłumaczenia i i18n +Weeb CLI wspiera różne języki: +- Wszystkie funkcje czy nowe mechaniki dodające nowe teksty wyświetlane w aplikacji, powinny równocześnie uwzględniać odpowiednie pliki JSON zlokalizowane w folderze `locales/` (`en.json`, `tr.json`, `de.json`, `pl.json` itd.). + +--- + +Jeszcze raz dziękujemy Ci za twój cenny wkład! diff --git a/weeb_landing/index.html b/weeb_landing/index.html index 8f75afa..d603048 100644 --- a/weeb_landing/index.html +++ b/weeb_landing/index.html @@ -1,16 +1,20 @@ + - - + + - + @@ -44,47 +48,78 @@ - + +
-