ReClip is a small browser shell around yt-dlp
ReClip puts a Flask page in front of yt-dlp and ffmpeg. Paste one or more links, fetch their titles and available resolutions, then choose MP4 or MP3. The README says the underlying downloader recognizes more than 1,000 sites, so ReClip inherits broad extractor coverage without implementing those sites itself. The useful part is the interface: deduplication, per-item status, a quality picker, and a Download All button remove much of the command-line friction.
The measured checkout was 0.9 MB with 14 files and about 280 lines of source. Its backend keeps jobs in a Python dictionary, starts one thread per download, and asks yt-dlp to write into a local downloads directory. The frontend is one HTML file with embedded CSS and JavaScript. That size makes the flow unusually easy to inspect. It also means there is no database, account model, worker queue, or administrator view hiding elsewhere in the repository.
What happened when we ran it
Our sandbox installed ReClip in 23 seconds, putting 43 packages and 52 MB on disk. The build succeeded in 8 seconds in an unprivileged Debian container with 3 CPUs and 8 GB of RAM. Pip-audit reported 0 known vulnerabilities in the installed Python packages. Those results cover commit 1d161d1, whose final change fixed parsing when yt-dlp returns several JSON objects and added an automatic yt-dlp update during startup.
There was no test script or target, so we skipped tests rather than inventing a passing result. Our repository scan also found 0 CI workflow files and no tests directory. A Dockerfile and Compose file are present, which explains the successful build, but neither replaces behavioral coverage for URL parsing, format selection, file discovery, or concurrent job handling. ReClip is easy to start; the 8-second build says nothing about whether a particular site will still download tomorrow.
Port 8899 has no authentication in the measured commit
The local launcher binds to 127.0.0.1 on port 8899 unless the host is changed, a sensible default for personal use. The Compose file maps port 8899 from a Gunicorn container, and the measured backend accepts download requests without a login or API key. Open pull request 58 on URL argument handling says an unchecked value can be interpreted by yt-dlp as an option, including its command hooks. The patch was still open when we checked.
That combination rules out casual public exposure. An internet-facing instance would let strangers spend its bandwidth, processor time, and storage even before considering the open security report. The in-memory jobs dictionary disappears on restart, while downloaded files stay under the downloads directory and the Compose volume persists them. There is no quota or expiry routine in roughly 150 backend lines. Put ReClip behind access control, restrict the network, and add cleanup if anyone beyond one trusted user can reach it.
Site breakage reaches the UI because yt-dlp does the extraction
ReClip does not promise that 1,000 extractors all work continuously. Issue 51 reports YouTube access denial, and issue 55 asks for Deno in the container for newer YouTube JavaScript challenges. Other open reports concern Instagram errors, YouTube cookie prompts, unavailable formats, and audio-only output from an MP4 choice. These are useful warnings for anyone expecting the web page to turn a changing third-party site into a stable download API.
The launcher tries to reduce extractor drift by upgrading yt-dlp every time it starts, unless RECLIP_NO_UPDATE=1 is set. That favors recovery from site changes, but it also makes two starts capable of running different downloader code without a ReClip commit changing. Pinning yt-dlp gives repeatable deployments and leaves updates to the operator. Leaving the updater enabled may restore a broken extractor sooner. Either choice requires accepting that ReClip's 23-second install result is only the local setup cost, not proof that every supported site works.
Forty-seven open issues and pull requests exceed the shipped surface
GitHub showed 7,426 stars and 47 combined issues and pull requests, with the last code push on July 9, 2026. Issue activity continued through August 25, 2026, so discussion did not stop with the last commit. GitHub's latest-release endpoint returned no release. Users therefore install the main branch or build a local image rather than choosing a tagged ReClip artifact with published notes and a fixed dependency set.
Several open contributions propose much more than the current MP4 and MP3 page: a command line, agent contract, authentication, rate limits, GIF output, cookie handling, and extra formats. They show demand, though open pull requests are not shipped features. For a personal utility, the current scope is pleasant because the code is small enough to audit in one sitting. For a shared downloader, MeTube is the safer comparison; for scheduled channel archiving, TubeSync matches the job more closely.

