siphon checking server…

Download video and audio

Where downloads come from

Paste a link and it downloads on this device. Some sites — YouTube above all — refuse a web page, and for those this app needs a helper. Give it one address; it works out what that address is.

Any of these, and it is recognised on its own: your own siphon server — the server/ folder, one docker run. With ffmpeg it does everything: every site yt-dlp knows, playlists, subtitles, your YouTube cookies. Without ffmpeg it only resolves links and this device downloads and converts. A cobalt instance, for what this device cannot read. An Invidious or Piped instance, for YouTube. A relayrelay/, a free Cloudflare Worker — which adds the missing header and nothing else. Leave it empty and this device still handles direct files, HLS and pages that allow it.

Public instances are someone else's server: whichever one is set is named here and on the main screen, it sees every link it is asked about, and clearing the field undoes it. The list beside this app is measured daily, from a machine with real network, by asking each instance exactly what this page asks; only the ones that answered are offered.

Advanced — yt-dlp options

Sponsors, self-promotion and "like and subscribe" are cut out of YouTube videos, from the community's SponsorBlock data.

As 1:23 or 01:02:03. Leave both empty for the whole video.

Bytes per second, as 500K or 2M, so a download does not eat the connection.

Which of YouTube's clients to try first. The others still follow when it is turned away.

The bridge. A userscript that lets this page fetch any public address, with no server anywhere — see bridge/ in the project. Once installed it is used automatically, ahead of any helper.

Not checked yet