diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..5a06ddc --- /dev/null +++ b/.env.example @@ -0,0 +1 @@ +BYSE_SID=dein_session_cookie_hier diff --git a/README.md b/README.md new file mode 100644 index 0000000..c60a53d --- /dev/null +++ b/README.md @@ -0,0 +1,95 @@ +# Byse.sx Video Manager + +CLI-Tool zum Aufraumen deines Byse.sx-Accounts. Scannt alle Videos, findet solche mit **0 Views** die aelter als **3 Monate** sind, und loescht sie auf Wunsch in Batches. + +## Features + +- Scannt alle Videos deines Accounts (paginiert, ~70K+ Videos kein Problem) +- Filtert nach Alter und Views +- Interaktives Menue: Liste durchblaettern, CSV exportieren, loeschen +- Batch-Loeschung mit Fortschrittsanzeige +- Sicherheitsabfrage vor dem Loeschen (Tippe `LOESCHEN`) +- Optionaler Alters-Filter (z.B. nur Videos aelter als 6 Monate) + +## Voraussetzungen + +- [Node.js](https://nodejs.org/) v18 oder neuer + +## Einrichtung + +```bash +git clone https://git.24-music.de/Administrator/byse-video-manager.git +cd byse-video-manager +npm install +``` + +### Session-Cookie holen + +Das Tool nutzt die interne Byse.sx-API, die einen Session-Cookie benoetigt: + +1. Oeffne [byse.sx](https://byse.sx) im Browser und logge dich ein +2. Oeffne die DevTools (`F12`) +3. Gehe zu **Application** > **Cookies** > `https://byse.sx` +4. Kopiere den Wert des `sid`-Cookies +5. Erstelle eine `.env` Datei im Projektordner: + +```bash +cp .env.example .env +``` + +6. Trage deinen `sid`-Wert ein: + +``` +BYSE_SID=dein_session_cookie_hier +``` + +> **Hinweis:** Der Session-Cookie laeuft nach einiger Zeit ab. Wenn du eine Fehlermeldung bekommst, hole dir einfach einen neuen aus dem Browser. + +## Benutzung + +```bash +node index.js +``` + +### Menue-Optionen + +``` +[1] Liste anzeigen - Blaettert durch die Kandidaten (je 50) +[2] CSV exportieren - Speichert alle Kandidaten als byse-candidates.csv +[3] ALLE loeschen - Loescht alle Kandidaten (Sicherheitsabfrage) +[4] Nach Alter filtern - Nur Videos aelter als X Monate loeschen +[5] Beenden +``` + +### Beispiel-Ausgabe + +``` +════════════════════════════════════════════════ + ERGEBNIS +════════════════════════════════════════════════ + Gesamt Videos: 69.595 + Kandidaten (0 Views, + aelter als 3 Mon.): 17.525 + Speicher freigeben: 13.67 TB + Aeltestes Video: 2025-05-02 + Neuestes Kandidat: 2025-12-04 +════════════════════════════════════════════════ +``` + +## API-Details + +Das Tool nutzt die **interne** Byse.sx Dashboard-API (nicht die oeffentliche API): + +| Endpoint | Methode | Zweck | +|----------|---------|-------| +| `/api/my_files_overview` | GET | Account-Uebersicht | +| `/api/my_files_files` | GET | Video-Liste (Cursor-Pagination) | +| `/api/del_file` | POST | Videos loeschen | + +Authentifizierung erfolgt ueber den `sid` Session-Cookie. + +## Sicherheit + +- Die `.env` Datei mit deinem Session-Cookie wird **nicht** ins Git committed (`.gitignore`) +- Vor dem Loeschen muss `LOESCHEN` getippt werden +- Loeschung ist **unwiderruflich**