Commit 6117505
committed
feat: merge PR averygan#24 (yt-dlp fix) + PR averygan#3 (security hardening, memory leak, UX)
- Pin yt-dlp>=2026.3.17 to fix YouTube SABR 403 errors (fixes averygan#8)
- Add --upgrade-deps to reclip.sh venv setup
- Add URL validation (http/https only)
- Add format_id sanitization against yt-dlp flag injection
- Add job_id format validation
- Add path traversal protection on file serving
- Add non-root user in Dockerfile
- Add threading lock for jobs dict (race condition fix)
- Add job TTL auto-purge (1hr) + MAX_JOBS cap (500)
- Add /api/cleanup endpoint + frontend cleanup call after download
- Add structured logging + type hints
- Fix dlAll() to await each download via Promise-based polling
- Add ARIA labels on interactive elements
- Improve title sanitization (80 char limit)
- reclip.sh: always run pip install on venv reuse
- reclip.sh: add EXIT trap for clean shutdown message1 parent 37effdc commit 6117505
6 files changed
Lines changed: 297 additions & 86 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
6 | 9 | | |
7 | 10 | | |
8 | | - | |
9 | | - | |
10 | | - | |
| 11 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| 7 | + | |
| 8 | + | |
7 | 9 | | |
8 | 10 | | |
9 | 11 | | |
10 | 12 | | |
11 | 13 | | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
12 | 17 | | |
13 | 18 | | |
14 | 19 | | |
| |||
0 commit comments