Starchive
A browser extension and local backend system that automatically archives YouTube videos when visited. The system consists of a Firefox extension that detects YouTube video pages and a Go backend that downloads the videos using yt-dlp.
Components
Backend (Go)
HTTP Server ( main.go ): Runs on port 3009 with two endpoints: / : Basic health check endpoint /youtube : POST endpoint that accepts video IDs and triggers downloads
( ): Runs on port 3009 with two endpoints: Video Downloader ( youtube.go ): Uses yt-dlp and ffmpeg to download YouTube videos and convert them to MOV format with h264_videotoolbox encoding
( ): Uses yt-dlp and ffmpeg to download YouTube videos and convert them to MOV format with h264_videotoolbox encoding Subtitle Support: Downloads English subtitles in VTT format (currently disabled in retry loop)
Browser Extension (Firefox)
Manifest ( manifest.json ): Defines extension permissions and structure
( ): Defines extension permissions and structure Content Script ( content.js ): Automatically detects YouTube video pages and extracts video IDs from URLs
... continue reading