Public-flip audit: generalize internal hosts/paths + drop Sulkta-internal refs
URLs, mount paths, and LAN host bindings parameterized via env or relative paths
so the repo stands up from a clean clone anywhere. Drop cross-codebase refs
("mirrors clawdforge's pattern"), Sulkta-Coop client/merchant test fixtures,
and audit-changelog scaffolding from comments. README terser, technical content
preserved.
This commit is contained in:
parent
920dd9e597
commit
8902007874
8 changed files with 739 additions and 72 deletions
|
|
@ -5,27 +5,24 @@ contains the Python addon, a static aarch64 sidecar binary, and yt-dlp's
|
|||
aarch64 release binary (for Tier 2/3 fallback). Nothing else needs to be
|
||||
installed on the Pi.
|
||||
|
||||
## Build the zip (Sulkta-internal)
|
||||
## Build the zip
|
||||
|
||||
```bash
|
||||
bash scripts/build-addon-zip.sh
|
||||
# → /mnt/user/downloads/torttube/plugin.video.torttube-0.0.1.zip on Lucy
|
||||
# → dist/plugin.video.torttube-<version>.zip
|
||||
```
|
||||
|
||||
The script cross-compiles the sidecar in a throwaway
|
||||
`messense/rust-musl-cross:aarch64-musl` container, fetches yt-dlp's
|
||||
official `yt-dlp_linux_aarch64` release binary, packages everything,
|
||||
drops the result at `/mnt/user/downloads/torttube/` (Lucy SMB).
|
||||
universal Python zipapp, and drops the result at `dist/` under the
|
||||
repo root. Override `DEST_DIR=...` to land it elsewhere.
|
||||
|
||||
## Install on the Pi (Kodi UI flow)
|
||||
|
||||
1. On the Pi: Settings → File manager → Add source → enter
|
||||
`smb://lucy/downloads/` → name it `lucy-downloads`.
|
||||
2. Settings → Add-ons → Install from zip file → `lucy-downloads` →
|
||||
`torttube/plugin.video.torttube-<version>.zip`.
|
||||
3. Kodi installs torttube **and automatically installs
|
||||
`plugin.video.youtube`** from the official Kodi repo because it's
|
||||
declared as a dep in our addon.xml. No separate install step needed.
|
||||
1. Copy the zip onto the Pi (SMB share, scp, USB stick — anything).
|
||||
2. Settings → Add-ons → Install from zip file → pick the zip.
|
||||
3. Kodi installs torttube and pulls `plugin.video.youtube` from the
|
||||
official Kodi repo (declared as a dep in addon.xml).
|
||||
4. The addon appears under Video add-ons.
|
||||
|
||||
Unsigned addons need `Settings → System → Add-ons → Unknown sources` ON.
|
||||
|
|
@ -41,7 +38,7 @@ ssh kodi-host 'cd /storage/.kodi/addons && unzip -o /tmp/plugin.video.torttube-0
|
|||
ssh kodi-host 'systemctl restart kodi'
|
||||
|
||||
# wait ~5s for Kodi to come back, then enable the addon
|
||||
curl -u kodi:<pw> -H "Content-Type: application/json" -X POST http://<kodi-host>:8080/jsonrpc \
|
||||
curl -u kodi:<pw> -H "Content-Type: application/json" -X POST http://kodi-host:8080/jsonrpc \
|
||||
-d '{"jsonrpc":"2.0","id":1,"method":"Addons.SetAddonEnabled","params":{"addonid":"plugin.video.torttube","enabled":true}}'
|
||||
```
|
||||
|
||||
|
|
@ -54,8 +51,8 @@ the plugin URL fails silently with "Unable to find plugin" in kodi.log.
|
|||
After install, fire the smoke from any LAN client:
|
||||
|
||||
```bash
|
||||
curl -u kodi:pineapple -H "Content-Type: application/json" \
|
||||
-X POST http://192.168.0.158:8080/jsonrpc -d '{
|
||||
curl -u kodi:<pw> -H "Content-Type: application/json" \
|
||||
-X POST http://kodi-host:8080/jsonrpc -d '{
|
||||
"jsonrpc": "2.0", "id": 1, "method": "Player.Open",
|
||||
"params": {"item": {"file":
|
||||
"plugin://plugin.video.torttube/?action=play&id=dQw4w9WgXcQ"}}}'
|
||||
|
|
@ -82,6 +79,6 @@ few seconds (rustypipe resolve takes ~1s, then Kodi starts the stream).
|
|||
|
||||
## Updating
|
||||
|
||||
Just rebuild + bump the version in `addon/plugin.video.torttube/addon.xml`,
|
||||
re-run `build-addon-zip.sh`, install the new zip from the same SMB
|
||||
location. Kodi will treat it as an upgrade if the version is higher.
|
||||
Bump the version in `addon/plugin.video.torttube/addon.xml`, re-run
|
||||
`build-addon-zip.sh`, install the new zip. Kodi treats it as an
|
||||
upgrade if the version is higher.
|
||||
|
|
|
|||
|
|
@ -7,19 +7,20 @@ out of the box once the addon is installed.
|
|||
## Endpoint
|
||||
|
||||
```
|
||||
POST http://<rpi-host>:8080/jsonrpc
|
||||
POST http://<kodi-host>:8080/jsonrpc
|
||||
Authorization: Basic base64(kodi:<password>)
|
||||
Content-Type: application/json
|
||||
```
|
||||
|
||||
Sulkta defaults (per REFERENCE.md): `http://192.168.0.158:8080`, user
|
||||
`kodi`, password `pineapple`.
|
||||
Default Kodi user is `kodi`. The HTTP-control web server and a
|
||||
password must be enabled via `Settings → Services → Control` before
|
||||
JSON-RPC works.
|
||||
|
||||
## Play by YouTube ID
|
||||
|
||||
```bash
|
||||
curl -u kodi:pineapple -H "Content-Type: application/json" \
|
||||
-X POST http://192.168.0.158:8080/jsonrpc -d '{
|
||||
curl -u kodi:<pw> -H "Content-Type: application/json" \
|
||||
-X POST http://kodi-host:8080/jsonrpc -d '{
|
||||
"jsonrpc": "2.0",
|
||||
"id": 1,
|
||||
"method": "Player.Open",
|
||||
|
|
@ -34,8 +35,8 @@ curl -u kodi:pineapple -H "Content-Type: application/json" \
|
|||
## Play by full URL
|
||||
|
||||
```bash
|
||||
curl -u kodi:pineapple -H "Content-Type: application/json" \
|
||||
-X POST http://192.168.0.158:8080/jsonrpc -d '{
|
||||
curl -u kodi:<pw> -H "Content-Type: application/json" \
|
||||
-X POST http://kodi-host:8080/jsonrpc -d '{
|
||||
"jsonrpc": "2.0",
|
||||
"id": 1,
|
||||
"method": "Player.Open",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue