Skip to content

Releases: co-te/streamerREC

native Bigo recorder

Choose a tag to compare

@co-te co-te released this 12 Sep 12:06
4a7ccd5
2.4

native Bigo recorder

2.3 Recordings Library, Security Hardening

Choose a tag to compare

@co-te co-te released this 06 Sep 21:01
f67cb7e

What's New

Web UI

  • Full UI redesign — new look, faster, lighter (single HTML file, no external requests, no build step)
  • New Recordings library view: browse, preview, download, favorite, archive, and delete finished recordings
  • Real-time log viewer now works during and after recordings (fixed empty logs caused by yt-dlp silencing)
  • Fixed avatar initials rendering on top of channel avatars
  • Added GitHub Issues link in Settings → System for bug reports
  • Dark/light theme, mobile layout improvements, guest account prompt shows only once

Security

  • Optional password protection: once an account is created, the entire API requires login (PBKDF2-hashed, session cookies, same-origin CSRF protection)
  • Account management endpoints no longer reachable without authentication
  • SSRF guards on channel URLs, webhook URLs, and DNS resolution (non-blocking)
  • Blocked dangerous yt-dlp flags in user-supplied extra args (--exec, --postprocessor-args, downloader overrides, etc.)
  • Channel credentials are never exported in config backups

Reliability

  • No more duplicate/zombie recordings — startup sweep kills recorder processes left behind by a crashed or hard-stopped instance
  • Stop/kill/delete operations now wait for the process tree to fully die before releasing the recording slot
  • Graceful shutdown drains active recordings before writing final state
  • Fixed a race where force-killing a recording could let the monitor start a second one on the same channel
  • DST-safe recording filenames (UTC timestamps prevent overwrite collisions)

Fixes & Improvements

  • Live recording logs fixed — yt-dlp's --print flag was silencing all output; ffmpeg progress is now visible
  • --fixup scoped to output format (force only for MP4, warn for MKV/TS)
  • Malformed HTTP Range headers no longer crash preview; tail ranges (bytes=-N) handled correctly
  • Login rate limiting no longer blocks the event loop; returns 429 with Retry-After
  • Blocking DNS lookups moved off the event loop
  • record_on_add setting is now functional (global auto-record master switch)
  • Cookies manager UI works end-to-end (upload, list, delete, assign globally)
  • Bumped python-multipart to 0.0.18 (security advisory)

Docker

  • WireProxy VPN sidecar is now optional — start with docker compose --profile vpn up -d (no wg0.conf required for normal use)

Modern UI Redesign & Stream Stability Update

Choose a tag to compare

@co-te co-te released this 04 Sep 17:49
ddcf82e

🚀 What's New in v2.2

🎨 Brand New UI

  • Refocused Two-View Dashboard: Streamlined the interface to focus purely on Channels and Settings (removed legacy clutter).
  • Modern Dark Aesthetic: Added backdrop blurs, accent glow cards, live badges, and smooth controls.
  • Real-Time Stream Stats: Monitor active recording duration, download bitrate/speed, and file size on disk directly from channel cards.
  • Categorized Settings Center: Settings are now organized into 6 dedicated panes:
    • 📁 General & Storage
    • 🎬 Recording & Quality
    • 🌐 Network & Engine
    • 🔔 Notifications & Webhook testing
    • 🍪 Cookies & Auth
    • ⚙️ System & Backup

🛠️ Stability & Recording Engine Fixes

  • Twitch Live Capture Fix: Fixed Twitch live recording failure caused by unsupported rewind arguments (--no-live-from-start).
  • Live Webhook Testing: Added a one-click "Test Webhook" action in the settings to verify Discord/Slack alerts.
  • Clean Process Management: Improved background process termination to ensure ffmpeg and yt-dlp child processes close cleanly without file locking.
  • Docker Permission Updates: Resolved container permission issues for /usr/local/bin/yt-dlp updates.
  • Updated Documentation: Fully refreshed README.md reflecting the new UI and architecture.

2.1 update

Choose a tag to compare

@co-te co-te released this 14 Jul 05:33

fixed bugs:

  • activeRecLogId variable declaration
  • Pandalive platform detection
  • /api/health pi_mode field
  • FFmpeg semaphore concurrency control (2 locations)
  • Missing welcome overlay modal
  • Missing account settings overlay modal

New feature:

  • yt-dlp auto-update from Settings page with version display

Full Changelog: 2.0...2.1

2.0

2.0

Choose a tag to compare

@co-te co-te released this 25 May 14:44

What's Changed

  • refactor: security hardening, bug fixes, docs refresh by @orhogi in #7

New Contributors

  • @orhogi made their first contribution in #7

Full Changelog: v1.1.0...2.0

v1.1.0 — Major UI Overhaul + New Features

Choose a tag to compare

@co-te co-te released this 03 May 21:54
cea8046

What's New
UI Redesign

Complete layout overhaul: sidebar replaced with a horizontal top navigation bar
Channel cards switched from grid thumbnails to a compact list/row layout with inline status, stats, and actions
New indigo/violet accent color scheme with deeper dark theme
Modals now open as side drawers instead of centered popups
Account avatar moved into the top nav bar

New Features

Webhook notifications — POST JSON to any URL (Discord, Slack, ntfy, etc.) on stream_live and recording_complete events
Max recording duration — per-channel and global time limit; recordings auto-stop gracefully
Recording retention — auto-delete recordings older than N days (0 = keep forever)
Stalled recording detection — warns or auto-stops when a stream stops sending data silently
Archive & Restore — move completed recordings to an archive folder and restore later
Per-channel notes — add private notes to any channel
Stream title tracking — see the current stream title on the channel card
Channel sorting — sort by name, platform, recently added, last checked, or live-first
Recordings filter & sort — filter by status (completed/recording/error/archived), sort by date/size/name
Bulk edit quality/format — multi-select channels and change quality or format in bulk (/api/channels/bulk-edit)
Keyboard shortcuts — N to add channel, 1-4 to navigate pages, R/S/Del for bulk actions
Concurrent slot indicator — shows recording slots in use (e.g. 2/6) on channels page
Recording log from recordings page — view yt-dlp output for active recordings directly

Reliability

Per-channel recording lock — prevents double-recording from concurrent API calls
Chaturbate live check now properly uses the process semaphore
Improved graceful shutdown handling for recordings without a PID
Delete recording now force-stops active processes before removing
Search now matches stream title and notes
Added pydantic>=2.0 to requirements

API Changes

POST /api/channels/bulk-edit — bulk update quality/format
POST /api/recordings/{id}/archive — archive a recording
POST /api/recordings/{id}/restore — restore an archived recording
GET /api/health now returns active (recording count) and uptime
New settings: retention_days, max_duration, webhook_url, auto_stop_stalled
Channel model: new fields max_duration, notes, stream_title

What's Changed

  • Add comprehensive README.md with features, screenshots, and documentation by @Copilot in #1
  • [WIP] Add About page to StreamRec web UI by @Copilot in #2
  • Add per-channel "Record from beginning" toggle by @Copilot in #3
  • Improve README, add logging, modernize FastAPI lifecycle, harden inputs by @Copilot in #4
  • Optimize for potato PCs / Raspberry Pi, fix video playback lag, add settings toggle by @Copilot in #5
  • Fix cam platform recording failure: conflicting ffmpeg codec copy + audio filter args by @Copilot in #6

New Contributors

  • @Copilot made their first contribution in #1

Full Changelog: https://github.com/orhogi/streamerREC/commits/v1.1.0