Floatplane channel plugin for Jellyfin 10.10.x: browse, HLS proxy, cookie session, CI release
Some checks failed
release / build-release (push) Has been cancelled

- 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>
This commit is contained in:
2026-10-25 09:42:27 +01:00
commit 9e33a343ab
162 changed files with 52004 additions and 0 deletions

View File

@@ -0,0 +1,114 @@
{
"id": 1111899821,
"node_id": "R_kgDOQkY-rQ",
"name": "FloatNative",
"full_name": "coulterpeterson/FloatNative",
"private": false,
"owner": {
"login": "coulterpeterson",
"id": 29346967,
"node_id": "MDQ6VXNlcjI5MzQ2OTY3",
"avatar_url": "https://avatars.githubusercontent.com/u/29346967?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/coulterpeterson",
"html_url": "https://github.com/coulterpeterson",
"followers_url": "https://api.github.com/users/coulterpeterson/followers",
"following_url": "https://api.github.com/users/coulterpeterson/following{/other_user}",
"gists_url": "https://api.github.com/users/coulterpeterson/gists{/gist_id}",
"starred_url": "https://api.github.com/users/coulterpeterson/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/coulterpeterson/subscriptions",
"organizations_url": "https://api.github.com/users/coulterpeterson/orgs",
"repos_url": "https://api.github.com/users/coulterpeterson/repos",
"events_url": "https://api.github.com/users/coulterpeterson/events{/privacy}",
"received_events_url": "https://api.github.com/users/coulterpeterson/received_events",
"type": "User",
"user_view_type": "public",
"site_admin": false
},
"html_url": "https://github.com/coulterpeterson/FloatNative",
"description": null,
"fork": false,
"url": "https://api.github.com/repos/coulterpeterson/FloatNative",
"forks_url": "https://api.github.com/repos/coulterpeterson/FloatNative/forks",
"keys_url": "https://api.github.com/repos/coulterpeterson/FloatNative/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/coulterpeterson/FloatNative/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/coulterpeterson/FloatNative/teams",
"hooks_url": "https://api.github.com/repos/coulterpeterson/FloatNative/hooks",
"issue_events_url": "https://api.github.com/repos/coulterpeterson/FloatNative/issues/events{/number}",
"events_url": "https://api.github.com/repos/coulterpeterson/FloatNative/events",
"assignees_url": "https://api.github.com/repos/coulterpeterson/FloatNative/assignees{/user}",
"branches_url": "https://api.github.com/repos/coulterpeterson/FloatNative/branches{/branch}",
"tags_url": "https://api.github.com/repos/coulterpeterson/FloatNative/tags",
"blobs_url": "https://api.github.com/repos/coulterpeterson/FloatNative/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/coulterpeterson/FloatNative/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/coulterpeterson/FloatNative/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/coulterpeterson/FloatNative/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/coulterpeterson/FloatNative/statuses/{sha}",
"languages_url": "https://api.github.com/repos/coulterpeterson/FloatNative/languages",
"stargazers_url": "https://api.github.com/repos/coulterpeterson/FloatNative/stargazers",
"contributors_url": "https://api.github.com/repos/coulterpeterson/FloatNative/contributors",
"subscribers_url": "https://api.github.com/repos/coulterpeterson/FloatNative/subscribers",
"subscription_url": "https://api.github.com/repos/coulterpeterson/FloatNative/subscription",
"commits_url": "https://api.github.com/repos/coulterpeterson/FloatNative/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/coulterpeterson/FloatNative/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/coulterpeterson/FloatNative/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/coulterpeterson/FloatNative/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/coulterpeterson/FloatNative/contents/{+path}",
"compare_url": "https://api.github.com/repos/coulterpeterson/FloatNative/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/coulterpeterson/FloatNative/merges",
"archive_url": "https://api.github.com/repos/coulterpeterson/FloatNative/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/coulterpeterson/FloatNative/downloads",
"issues_url": "https://api.github.com/repos/coulterpeterson/FloatNative/issues{/number}",
"pulls_url": "https://api.github.com/repos/coulterpeterson/FloatNative/pulls{/number}",
"milestones_url": "https://api.github.com/repos/coulterpeterson/FloatNative/milestones{/number}",
"notifications_url": "https://api.github.com/repos/coulterpeterson/FloatNative/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/coulterpeterson/FloatNative/labels{/name}",
"releases_url": "https://api.github.com/repos/coulterpeterson/FloatNative/releases{/id}",
"deployments_url": "https://api.github.com/repos/coulterpeterson/FloatNative/deployments",
"created_at": "2025-12-07T20:53:55Z",
"updated_at": "2026-10-18T23:31:00Z",
"pushed_at": "2026-10-18T23:32:41Z",
"git_url": "git://github.com/coulterpeterson/FloatNative.git",
"ssh_url": "git@github.com:coulterpeterson/FloatNative.git",
"clone_url": "https://github.com/coulterpeterson/FloatNative.git",
"svn_url": "https://github.com/coulterpeterson/FloatNative",
"homepage": null,
"size": 7071,
"stargazers_count": 22,
"watchers_count": 22,
"language": "Kotlin",
"has_issues": true,
"has_projects": true,
"has_downloads": false,
"has_wiki": true,
"has_pages": false,
"has_discussions": false,
"forks_count": 7,
"mirror_url": null,
"archived": false,
"disabled": false,
"open_issues_count": 24,
"license": {
"key": "mit",
"name": "MIT License",
"spdx_id": "MIT",
"url": "https://api.github.com/licenses/mit",
"node_id": "MDc6TGljZW5zZTEz"
},
"allow_forking": true,
"is_template": false,
"web_commit_signoff_required": false,
"has_pull_requests": true,
"pull_request_creation_policy": "all",
"topics": [
],
"visibility": "public",
"forks": 7,
"open_issues": 24,
"watchers": 22,
"default_branch": "main",
"temp_clone_token": null,
"network_count": 7,
"subscribers_count": 1
}