No description
  • Rust 62.3%
  • Kotlin 20.3%
  • Swift 8.9%
  • HTML 5.4%
  • CSS 1.1%
  • Other 2%
Find a file
Salix dab2f84e2a
Some checks failed
Build Android Nightly APK / apk (push) Successful in 4m1s
Publish x86_64 Flatpak Nightly / flatpak (push) Failing after 4m1s
Build Invio Server Nightly Image / server-image (push) Successful in 6m41s
Prefer authorThumbnail field for comment avatars
- Fall back to authorThumbnails array when authorThumbnail is absent
- Skip thumbnail entries with missing url or failed proxying
- Add test for legacy thumbnail array parsing
2026-08-31 23:07:19 +02:00
.forgejo/workflows Gate stable Flatpak publication on all release builds 2026-08-30 17:11:59 +02:00
assets/readme Release Invio 1.1.7 2026-08-13 19:34:13 +02:00
docs Add client-side encryption to the archive library 2026-08-18 12:46:33 +02:00
invio-adwaita Redesign the instance priority list with drag-to-reorder and live edits 2026-08-31 19:48:18 +02:00
invio-android Serve channel pages from a local browse cache 2026-08-31 10:21:45 +02:00
invio-core Prefer authorThumbnail field for comment avatars 2026-08-31 23:07:19 +02:00
invio-mac Serve channel pages from a local browse cache 2026-08-31 10:21:45 +02:00
invio-server Serve channel pages from a local browse cache 2026-08-31 10:21:45 +02:00
website Add an Open video link dialog and a website quick start guide 2026-08-17 12:16:00 +02:00
.dockerignore Add self-hosted sync server and improve connection setup 2026-08-04 10:14:18 +02:00
.gitignore Release Invio 1.1.0 2026-08-05 19:31:11 +02:00
logo.png Paginate channel videos tab past the RSS feed window 2026-08-17 15:41:56 +02:00
README.md Unify release publishing workflow 2026-08-15 13:04:53 +02:00

Invio

Follow the channels you care about, without the noise.

DownloadAndroidGNOMEmacOSCore


Download Invio

Android

Add Invio to Obtainium Download the latest Android APK

Obtainium is the recommended option because it installs updates directly from Invio releases. The APK button opens the latest release for a manual download. Invio is not available through Google Play.

Linux

Add the Salix Flatpak repository

Open the Flatpak repository button with GNOME Software or Discover, then install Invio from the new Salix source. The repository is signed and provides updates for the stable app as well as the separately installable nightly build. These packages currently support x86_64 only. If your software center does not handle the button, use:

flatpak remote-add --if-not-exists salix https://salix.host/flatpak/salix.flatpakrepo
flatpak install salix app.invidious.Invio

AppImage builds were discontinued after Invio 1.1.6 because their packaging toolchain was not reliable enough to maintain. Existing AppImages remain available in older releases but do not receive updates.

macOS

There is no packaged macOS download yet. See the macOS project to build the app from source.


Screenshots


Description

Invio is a set of native apps for watching YouTube content through Invidious. You pick the instances you trust, Invio deals with the rest: subscriptions, search, playback, Shorts, playlists, and history, all stored locally on your own devices.

There is an Android app, a GNOME desktop app, and a macOS app. They look and feel like the platform they run on, and they share one Rust core so they behave the same way underneath.

Features

  • Survives flaky instances. Instances are tried in the order you set, health is tracked per instance, and a browser check is solved in a real web view and reused, so one bad server does not end your session.
  • A feed you can shape. Group subscriptions into categories, and decide per channel whether its videos, its Shorts, or both belong in the feed.
  • Watch statistics. Watch time by day, week, or month, your top channels, and how much of it goes to Shorts instead of full videos.
  • SponsorBlock and Return YouTube Dislike. Both run through the shared core, so segment skipping and dislike counts behave the same on every platform.
  • Your data stays yours. Everything lives in a local SQLite database with backup and restore in a format all three apps read. Optional sync goes through your own WebDAV server or folder, with no account and no service in the middle.
  • A remote Video Archive Library. Preserve videos in a separately configured, safety-probed WebDAV folder and stream them through an authenticated in-app range proxy. See the archive design and server requirements.
  • Private by choice. Route all in-app traffic through Tor when you want to, and proxy media through the instance instead of fetching it from Google directly.

Install

App Best for Built with How to get it
Android Phones, tablets, foldables Kotlin, Compose, Media3 APK on the releases page or via Obtainium
GNOME Linux desktops Rust, GTK, libadwaita, GStreamer Flatpak from the signed Salix repository
Server Self-hosted household feed collector Rust, Axum, SQLite, Docker Docker Compose or release image archive
macOS Macs SwiftUI, AppKit, VLCKit Builds from source for now
Core Everything shared Rust, SQLite, UniFFI Used by the apps above

Each project README covers install, build, and what is actually implemented today.

Contributions

I'm not currently accepting contributions, but issues are welcome for bug reports, feature ideas, and other feedback.

Releases

Releases use a shared vMAJOR.MINOR.PATCH tag. Pushing the tag runs the unified .forgejo/workflows/release.yml pipeline, which verifies the checked-in versions, builds Android, Linux, and server deliverables, and publishes one Forgejo release only after every job succeeds. Name the tagged version-bump commit Release Invio MAJOR.MINOR.PATCH; the nightly workflows skip that commit so the release jobs get the runner first. The signed Salix Flatpak repository publishes stable x86_64 and ARM64 builds plus a separately installable x86_64 nightly. Older component-prefixed tags such as core-v1.0.6 and adwaita-v1.0.6 are kept for history.

Disclaimer and license status

Invio is a personal project, built for daily use and experimentation. Invio, its source code, and all downloadable builds are provided as is, without warranties of any kind, express or implied. You use them entirely at your own risk. To the fullest extent permitted by applicable law, the author will not be liable for any claim, loss, damage, data loss, service interruption, or other consequence resulting from the use, misuse, or inability to use Invio.

No support commitments, compatibility guarantees, or release schedule are provided. You are responsible for complying with applicable laws and third-party terms when using Invio. The project is not affiliated with YouTube, Google, Invidious, SponsorBlock, or Return YouTube Dislike.

The code is source available for reading and reference. It is not open source licensed, so unless a license is added later, no permission is granted to reuse, redistribute, or relicense it.