Unofficial community client

Your Proton Drive, streaming.

A Netflix-style library for the videos in your Proton Drive and the share links people send you. Browse, press play, seek anywhere, and pick up on another device where you left off.

Free and open source · Linux, Windows, Android and iOS

The library in the desktop app, with Continue watching and shelves by director and studio
The same library in the Android app

No server

Each app talks to Proton directly. There is nothing to host and no account with us.

Every screen

Linux, Windows, Android, Android TV and iOS, all on one Rust engine.

Secrets stay in the keyring

Links and passwords live in the system keyring, never in a config file.

Open source

MIT for the desktop app and the engine, GPL-3.0 for the mobile apps.

Features

Built for watching

What a streaming app does, on top of storage that is already end-to-end encrypted.

  • Streams, never downloads first

    Episodes start in seconds, and dragging the seek bar fetches only the part of the file it lands on. A second viewing comes straight from the disk cache.

  • A library, not a folder

    Seasons and episodes are read from folder and file names. Turn on AniList or TMDB for posters, synopses and shelves such as Directed by, with each franchise folded into one tile.

  • Resume on any device

    Sign in, and your place in every episode, your shares and your settings sync through your own Proton Drive. Each device writes its own file, so none overwrites another.

  • Share links or your own Drive

    Paste a public share link, with its password if it has one, or pick folders from your own Drive. Any number of them merge into one library.

  • A player that knows anime

    HEVC 10-bit, HDR and ASS subtitles through libmpv. Skip openings and endings by chapter, an Up next countdown, subtitle files beside the video, and the dialogue track over signs and songs.

  • Downloads for offline

    Keep an episode, a season or a whole show on the device and play it without a connection, on desktop and mobile. Android waits for Wi-Fi unless you say otherwise.

  • New episodes, noticed

    When a show gains episodes, Android and iOS send a notification, and the desktop app tells you while its window is in the background.

  • Yours to theme

    A near-black default, four Catppuccin flavours and Persona 5, each with nine accents. Full keyboard control on the desktop, and a remote on Android TV.

Screenshots

One library, every screen

The same library on the desktop and on a phone.

  • Desktop: Continue watching and shelves

  • Desktop: the whole library, filtered and sorted

  • Android: home

  • Android: all titles

  • Android: a title page

  • Android: episodes and downloads

How it works

Why seeking is instant

Proton Drive stores a file as blocks, and every block is its own encrypted packet. A jump to minute 20 fetches and decrypts the blocks at minute 20, not the 19 minutes before them. libmpv reads them through an in-process callback and draws into the app’s own window.

Already playedFetched for the seekNever downloaded
to the first frame
2.3 s
to play again after a seek
1.5 s
from the disk cache, no network
0.3 s

Measured on a 761 MiB, 26-minute 1080p HEVC episode over a password-protected link.

  • No local web server

    The player is fed through an in-process stream callback. There is no port another program could ask for the decrypted video.

  • A cache you control

    Decrypted blocks are kept on disk, 4 GiB by default, so watching again needs no network. Size it or empty it in Settings.

  • Built on proton-sdk-rs

    A pure-Rust Proton Drive SDK by the same author does the cryptography and the API calls. The app adds the library and the player.

Read the architecture

Install

Install

Every release has packages for Linux and Windows, an APK for Android and an IPA for iOS.

Download the .deb from the latest release, then:

sudo apt install ./proton-stream_*_amd64.deb

Download the .rpm from the latest release, then:

sudo dnf install ./proton-stream-*.x86_64.rpm

The PKGBUILD in the repository builds the checkout it sits in:

git clone https://github.com/narrrl/proton-stream.gitcd proton-stream/packagingmakepkg -si

Download the .msi installer or the portable .zip from the latest release. The installer adds a Start menu entry and puts pstr on the PATH. The binaries are not code-signed yet, so SmartScreen may warn the first time.

Download proton-stream-…-android.apk from the latest release and open it to install. It needs Android 12 or newer, and also shows up in the Android TV launcher.

Download the unsigned .ipa from the latest release and install it with SideStore or AltStore, which sign it with your own Apple ID. It needs iOS 17 or newer.

Then open Proton Stream, paste a share link on the Shares page, and the library fills in as the share is read. Signing in to Proton is optional: it adds folders of your own Drive and keeps your place in sync.

Linux needs libmpv 2 and WebKitGTK 4.1, plus a keyring such as GNOME Keyring or KWallet. Windows needs x64. Android needs an arm64 or x86_64 device.