QuickTube: a free, open-source way to save videos and music on Android
DEV Community

QuickTube: a free, open-source way to save videos and music on Android

Most video downloader apps on Android share the same problems: full-screen ads, sign-ins you don't need, and APKs from sites you have no reason to trust.

I wanted one app that handles YouTube, other sites and music without any of that, so I built QuickTube. It's free, open source under GPL-3.0, and has no ads, no account and no subscription.

What QuickTube does

Search, paste or share. Type a search, paste a link, or share from any app. "Download with QuickTube" sits in every app's share sheet, and the format picker opens right over YouTube, TikTok or Facebook while the download carries on in the background. If you've copied a link, QuickTube spots it and offers to download it straight away.

Every quality, or just the audio. Save MP4 from 144p up to 4K, or audio only as M4A (AAC) or Opus. Video-only streams are merged with their audio on the phone, without re-encoding.

A browser that finds the video. Open any site in the built-in browser. When a page has a video, a Download bar appears with every quality the page offers, including HLS streams.

Watch and listen first. An inline HD player with comments and "Up next", background play, a mini player and lock-screen controls. The music tab has trending songs and playlists.

Playlists and channels. Download a whole playlist or channel, or select just the videos you want, in one quality for the batch.

The rest: a download queue with pause, resume and retry, Wi-Fi-only rules and speed limits, a PIN-locked vault, a 30-day recycle bin, and light, dark or pure black themes with Material You colours on Android 12+.

How to install it safely

QuickTube isn't on Google Play, because Play doesn't allow apps that download YouTube videos. It's published as a signed APK on its official GitHub releases instead.

  • Open the download page on your phone: https://edureminder.com/quicktube
  • Download the APK and open it. Allow "Install unknown apps" for your browser when Android asks. That warning appears for any app installed from outside Play.
  • Optional: compare the file's SHA-256 with the one shown on the download page. Every release is signed with the same key, so updates install over the previous version.

After the first install, QuickTube tells you when a new version is out, and one tap downloads it, checks the SHA-256 and signing key, and installs it. It runs on Android 7.0 and newer.

Privacy

There's no sign-in and no QuickTube server. Your downloads, history and vault stay on your phone. Official builds send crash reports and anonymous usage counts through Firebase, and you can turn both off in Settings → Privacy. QuickTube never sends the links you open, video titles, searches or file names.

Under the hood

QuickTube is written in Kotlin with Jetpack Compose. A few of the harder problems:

  • Finding videos in any page. The built-in WebView reads the page's own player data, so the Download bar appears even before you press play. It works with plain MP4 players, HLS (.m3u8, including AES-128 encrypted streams) behind blob: players, iframe-embedded players and shadow-DOM players.
  • Merging on the phone. High-quality YouTube streams come as separate video and audio. QuickTube remuxes them into one MP4 on the device without re-encoding, so it's fast and lossless. HLS is converted to MP4 the same way.
  • Shipping outside Play. Signed release APKs, a .sha256 for every file, and an in-app updater that refuses an update if the checksum or signing key doesn't match.

The full source is on GitHub, and issues and pull requests are welcome.

Use it responsibly

Only download content you own or have permission to save, and respect each site's terms of service. QuickTube doesn't bypass DRM and isn't affiliated with YouTube, Google or any other site.

Links

Read on DEV Community ↗ ← Back to News

Comments

No comments yet. Start the discussion.