style: usun em-dashe z calego repo (zamiana na zwykly mylnik)
All checks were successful
deploy / deploy (push) Successful in 1m3s

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-29 11:47:17 +02:00
parent de5832821c
commit ab2cd510a6
10 changed files with 33 additions and 33 deletions

View File

@@ -1,8 +1,8 @@
# Video & Sound Downloader Pro wersja web (SPA)
# Video & Sound Downloader Pro - wersja web (SPA)
Webowy odpowiednik desktopowego narzędzia **Video & Sound Downloader Pro v6.5.6**.
Łączy `yt-dlp` + `FFmpeg` w jednym panelu: pobieranie audio (MP3), wideo (MP4),
całych playlist oraz materiałów z Facebooka bez wpisywania komend i bez ręcznej
całych playlist oraz materiałów z Facebooka - bez wpisywania komend i bez ręcznej
konwersji. Backend: **NestJS**, frontend: **React (Vite)**. Obraz portowany jest do
Dockera i wdrażany na `https://videodownloader.naurecki.pl`.
@@ -17,10 +17,10 @@ Dockera i wdrażany na `https://videodownloader.naurecki.pl`.
```
videodownloader/
├── apps/
│ ├── api/ # NestJS joby pobierania, yt-dlp+ffmpeg, postęp SSE
│ ├── api/ # NestJS - joby pobierania, yt-dlp+ffmpeg, postęp SSE
│ │ ├── src/
│ │ └── Dockerfile # node + python3 + yt-dlp + ffmpeg
│ └── web/ # React + Vite (TS) UI odwzorowany ze zrzutu
│ └── web/ # React + Vite (TS) - UI odwzorowany ze zrzutu
│ ├── src/
│ ├── nginx.conf # serwuje statyki + proxy /api (+ SSE bez buforowania)
│ └── Dockerfile
@@ -36,15 +36,15 @@ Ruch publiczny: `Apache (vhost videodownloader.naurecki.pl, SSL)` → `127.0.0.1
- **Pole Link** z przyciskiem „wklej ze schowka”.
- **4 tryby**: `MP3` (pobierz dźwięk), `MP4` (pobierz wideo), `PLAYLISTA`
(pobierz całą listę → ZIP), `FACEBOOK` (pobierz wideo).
- **Jakość / Format** lista zależna od trybu (MP3 320/256/192/128 kbps;
- **Jakość / Format** - lista zależna od trybu (MP3 320/256/192/128 kbps;
MP4 2160/1440/1080/720/480p).
- **Napisy** opcja pobrania dostępnych napisów (`--write-subs --embed-subs`);
- **Napisy** - opcja pobrania dostępnych napisów (`--write-subs --embed-subs`);
zgodnie z oryginałem **nie** dotyczy automatycznie generowanych napisów YouTube.
- Duży przycisk **POBIERZ** + **STOP** (przerwanie joba).
- **Log na żywo** (SSE) komunikaty postępu, konwersji i scalania audio/wideo.
- **Log na żywo** (SSE) - komunikaty postępu, konwersji i scalania audio/wideo.
- Przyciski **Wsparcie** / **O mnie** oraz informacja o wersji **yt-dlp** z
przyciskiem „Sprawdź aktualizacje”.
- **Auto-aktualizacja yt-dlp** API sprawdza i aktualizuje yt-dlp (`yt-dlp -U`)
- **Auto-aktualizacja yt-dlp** - API sprawdza i aktualizuje yt-dlp (`yt-dlp -U`)
przy starcie oraz cyklicznie (domyślnie co 24 h; `YTDLP_AUTO_UPDATE`,
`YTDLP_UPDATE_INTERVAL_H`). Ręczne wymuszenie: `POST /api/ytdlp/update`.
@@ -67,4 +67,4 @@ Wymaga lokalnie `yt-dlp` i `ffmpeg` w PATH (w produkcji są w obrazie).
Push do `main` → runner Gitea (`.gitea/workflows/deploy.yml`) buduje obrazy z
`docker-compose.prod.yml` i robi `up -d` na demonie Dockera serwera. Konfiguracja
reverse proxy + SSL patrz [DEPLOY.md](DEPLOY.md).
reverse proxy + SSL - patrz [DEPLOY.md](DEPLOY.md).