Files
jellyfin-plugin-floatplane/doc/research/reference-sources/floaty_README.md
claude 9e33a343ab
Some checks failed
release / build-release (push) Has been cancelled
Floatplane channel plugin for Jellyfin 10.10.x: browse, HLS proxy, cookie session, CI release
- IChannel: creators -> sub-channels -> video posts (public listing API, search mapped)
- IRequiresMediaInfoCallback -> signed proxy URLs; stream controller rewrites HLS so the
  AES-128 key is fetched server-side with the session cookie, segments stay on the CDN
- delivery/info cached per token lifetime and throttled (~2/min)
- config page: paste sails.sid + validate, extra creators, quality, search test
- scripts/package.sh -> plugin folder + zip + md5 + manifest.json; Gitea release workflow
- research docs, HAR analysis (HAR itself gitignored), install-pi5.sh

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-25 09:42:27 +01:00

5.3 KiB

Floaty

An unofficial Floatplane client for Windows, Linux, MacOS, iOS and Android.

⚠️Spaghetti code

This repository is the tartar sauce spaghetti code of Floaty.

Download Here

📃Feature Matrix

Feature Windows MacOS Linux Android iOS Info
Channel Page ✅ ✅ ✅ ✅ ✅
Post Page ✅ ✅ ✅ ✅ ✅
Playback ✅ ✅ ✅ ✅ ✅
Livestream Page ✅ ✅ ✅ ✅ ✅
Livesteam playback ✅ ✅ ✅ ✅ ✅
Live Chat ⚠️ ⚠️ ⚠️ ⚠️ ⚠️ Awaiting Fix from floatplane.
Live Chat Polls ✅ ✅ ✅ ✅ ✅
Live Chat Emotes ⚠️ ⚠️ ⚠️ ⚠️ ⚠️
Floatplane Settings ⚠️ ⚠️ ⚠️ ⚠️ ⚠️ Some settings are there.
Home Page ✅ ✅ ✅ ✅ ✅
Whenplane intergration ✅ ✅ ✅ ✅ ✅
Updater ✅ ✅ ✅ ✅ ✅
PiP ✅ ✅ ✅ ✅ ❌
Mini Player ✅ ✅ ✅ ✅ ✅
Subtitles ✅ ✅ ✅ ✅ ✅
Download ✅ ✅ ✅ ✅ ✅
Login ✅ ✅ ✅ ✅ ✅
Notifications ❌ ❌ ❌ ❌ ❌ Deciding on how to complete this.

🛠️ How to Compile and Run

1. Install Flutter

First, install Flutter by following the official guide:
➡️ Flutter Installation Guide

Make sure to set up your system PATH to include the flutter/bin directory.
Verify installation:

flutter --version

2. Clone the repository

git clone https://github.com/floatyfp/floaty.git
cd floaty

3. Install dependencies

Some dependencies rely on Rust, install Rust first by following the official guide:
➡️ Rust Installation Guide

flutter pub get

4. Run the app

Make sure you have an Android/iOS device or a desktop environment ready.

To get a list of available devices and select an option to run on:

flutter run

Or list devices and run on a specific one:

flutter devices
flutter run -d DEVICE_ID

5. Build the app

You can build the app in either release or debug mode. If you're building it in release refer to step 6 to setup certificates.

  • Android APK
    Build a release APK:

    flutter build apk --<INSERT MODE>
    
  • iOS
    Build for iOS (requires macOS and Xcode):

    flutter build ios --<INSERT MODE>
    
  • Windows

    flutter build windows --<INSERT MODE>
    
  • macOS

    flutter build macos --<INSERT MODE>
    
  • Linux

    flutter build linux --<INSERT MODE>
    

6. (Optional) Setup Release Signing for Android

To publish a signed APK or App Bundle:

  1. Generate a signing key:
    keytool -genkey -v -keystore ~/your_keystore_name.jks -keyalg RSA -keysize 2048 -validity 10000 -alias your_key_alias
    
  2. Create a key.properties file in the android/ directory:
    storePassword=your_store_password
    keyPassword=your_key_password
    keyAlias=your_key_alias
    storeFile=/path/to/your_keystore_name.jks
    
  3. Edit android/app/build.gradle to load the key.properties and configure signingConfigs.

Full guide here: Signing Flutter apps