Autonomi real-debrid-like Kodi plugin

I’ve been thinking this would be a perfect use case for Autonomi…
The idea would be to use Autonomi as a hoster, have a real-debrid like service to interface with it (is that even needed?), and then having a Kodi plugin to serve this to users.
Here’s the transcript from fleshing this out whith ChatGPT:

> Creating a service similar to **Real-Debrid** or a **premium hoster**, but operating on a **decentralized network like Autonomi** and then interfacing with **Kodi via a custom plugin**, involves multiple components: infrastructure, backend logic, integration with Autonomi, content resolver and cache layer, and finally the Kodi plugin.

:wrench: 1. Core Concepts Recap

  • Real-Debrid is a multi-host downloader: it takes links from file hosts (e.g. Rapidgator, Mega, etc.) and resolves them into high-speed direct downloads.
  • Premium hosters provide access to cloud-hosted media files (streamable/downloable).
  • Autonomi Network is a decentralized storage/computation layer using peer-to-peer nodes and incentivized services (like IPFS/Filecoin, but with different mechanics).
  • Kodi is an open-source media center, and supports plugins (Python-based).

:brick: 2. Architecture Overview

:gear: A. Backend Service (Real-Debrid-like functionality)

Core Features:

  • Account/User Authentication (with premium tiers)
  • Link Resolver Engine: resolve links from hosts like Nitroflare, Rapidgator, Mega, etc.
  • Download Management (can cache links or use remote APIs)
  • Optional Caching/Storage on Autonomi (host files as persistent distributed blobs)

Stack:

  • Node.js / Python FastAPI / Go backend
  • PostgreSQL / KV store for user accounts
  • Autonomi storage integration SDK (or IPFS/Filecoin if Autonomi isn’t directly suitable yet)
  • Optional scraping modules or headless browser API (for resolving hosters without APIs)

:link: B. Integration with Autonomi Network

Autonomi is a decentralized storage/computation platform. You’d leverage it like this:

Use Cases:

  • Distributed Caching: once a file is resolved from a hoster, upload it to Autonomi as a cached blob (encrypted and unique per user if required).
  • Metadata Layer: index video file metadata (filename, duration, codec, etc.) stored in a distributed DB (Autonomi, OrbitDB, etc.).
  • Incentivization: You could tokenize access or bandwidth through micropayments or staking.

Implementation:

  • Use Autonomi’s SDK to:

    • Upload files to Autonomi
    • Retrieve file URIs
    • Handle encryption & access control (e.g. user-specific decryption keys)
  • Ensure fast peer discovery (pre-pin or ensure data is replicated for fast retrieval)


:television: C. Kodi Plugin (Python)

A Kodi plugin needs to:

Features:

  • Authenticate user with your debrid service
  • Take in magnet links or hoster links
  • Resolve to direct video stream URL (ideally from Autonomi if cached)
  • Present as a playable item in Kodi

Implementation:

  • Python add-on for Kodi (using xbmcplugin, xbmcgui, requests)

  • Token-based login flow

  • API calls to your backend:

    • /resolve → gets a direct URL or Autonomi link
    • /account/status → check user subscription
    • /sources → return available cached links
  • If using Autonomi for delivery, you may need a gateway or stream proxy


:toolbox: 3. Implementation Steps

Step 1: Backend API

Build endpoints like:

POST /auth/login                # Login and retrieve token
POST /resolve                   # Submit magnet or hoster URL to resolve
GET /cached/<hash>              # Check if already cached in Autonomi
GET /stream/<id>                # Return streamable URL

You’ll also need link resolvers (e.g., for Rapidgator, Mega, etc.). Start with a few popular hosters.


Step 2: Autonomi Integration

  • Use Autonomi SDK to:

    • Upload blobs
    • Retrieve public or encrypted URIs
    • Query metadata
  • You can optionally run a lightweight gateway node that streams video from Autonomi blobs (so that Kodi doesn’t need to understand Autonomi directly).


Step 3: Kodi Plugin

Basic structure:

# main.py

import xbmcplugin, xbmcgui, xbmcaddon
import sys, urllib, json, requests

BASE_API = "https://yourservice/api"

def resolve_link(link):
    r = requests.post(BASE_API + "/resolve", json={"link": link}, headers={"Authorization": token})
    return r.json()['stream_url']

def list_sources():
    # Your Kodi UI to select files or links
    pass

def play(url):
    listitem = xbmcgui.ListItem(path=url)
    xbmcplugin.setResolvedUrl(int(sys.argv[1]), True, listitem)

:test_tube: 4. Testing & Scaling

  • Start with 2-3 hosters and basic caching to Autonomi.
  • Build a CLI or Postman collection to test APIs before connecting with Kodi.
  • Use logging and throttling for scraper modules.
  • If Kodi buffering is an issue, use a stream proxy server (e.g. NGINX or Node stream pipe).

:locked: 5. Legal & Ethical Considerations

You’ll need to carefully assess:

  • Legal risk of scraping/piracy-related hosters
  • Use of distributed networks for hosting copyrighted content
  • Monetization method (tokens, crypto payments, subscription, etc.)

:package: Optional: Tokenization / Premium Access

If you want to tokenize the experience:

  • Use smart contracts (EVM-compatible or substrate-based)
  • Premium users sign a transaction or stake to unlock higher speed/resolution

:white_check_mark: Summary

Component Tech / Tool
Backend Python FastAPI / Node.js + PostgreSQL
Link Resolvers Python scripts / Puppeteer / 3rd party APIs
Autonomi Layer Autonomi SDK for upload, fetch, access ctrl
Kodi Plugin Python + xbmcplugin API
Stream Delivery Autonomi gateway / custom stream proxy

And here’s a refined conversation including the use of dweb and removing the idea of having a premium service:

Excellent — if you're **removing the premium service layer** and instead relying on **Autonomi Token (ANT)** to regulate access, bandwidth, or storage, you shift from a Real-Debrid-style **centralized gateway** to a **token-incentivized, decentralized media access network**.

In this model:

  • There’s no central account or subscription.
  • Users pay with ANT to access or stream content.
  • All content is hosted on Autonomi, and the dWeb interface + Kodi plugin act as access points to the decentralized media library.

:brain: Core Concept (New Version)

You’re now building a fully decentralized, token-gated streaming network:

  • Media is stored on Autonomi.
  • Metadata and app logic are hosted on dWeb.
  • Kodi plugin or browser dApp interfaces with this network.
  • Users spend ANT to unlock or stream content.
  • Optional: Nodes serving the content earn ANT in exchange for bandwidth/storage.

:brick: Revised Architecture Overview

+------------------+        +-----------------+        +------------------------+
|   Kodi Plugin    | <--->  |   dWeb App/API  | <--->  |  Autonomi Storage &    |
|  (user frontend) |        |  (JS/WASM App)  |        |  Tokenized CDN Layer   |
+------------------+        +-----------------+        +------------------------+
         ⇵                           ⇵                          ⇵
     ANT Token Wallet         Token Access Logic         Stream + Settle in ANT

:puzzle_piece: Key Components

1. Media Storage (Autonomi)

  • Files are stored as blobs in Autonomi.
  • URIs follow Autonomi conventions (autonomi://<CID>).
  • Files are optionally encrypted and must be decrypted client-side (or via a gateway).
  • You don’t rehost or proxy, unless for caching or pre-decryption.

2. Indexing & Metadata Layer

  • A public index of available media:

    • JSON file or distributed DB
    • Stored in dWeb or Autonomi itself
    • Includes title, genre, duration, poster, and CID

Example Metadata Entry:

{
  "title": "Arrival",
  "cid": "autonomi://bafybeibwxyz...",
  "tokens_required": 0.2,
  "duration": "1h 56m",
  "poster": "autonomi://bafybeimg...jpg",
  "description": "A linguist helps communicate with aliens."
}

3. Access Control via ANT Token

How it works:

  • The user must sign a transaction or spend ANT to access a file.

  • The network checks the wallet balance or payment record before granting access.

  • You could enforce access using:

    • Smart contracts (locking ANT before decrypting)
    • dWeb’s identity + wallet layer
    • A gateway that verifies ANT payments and returns signed stream URLs or decryption keys

4. Kodi Plugin Logic (Token-Aware)

The Kodi plugin behaves like this:

  1. Authenticate: User connects wallet (or loads a keypair).

  2. Browse Catalog: Fetches metadata from dWeb or Autonomi-hosted JSON.

  3. Select Title: Checks cost in ANT and user’s balance.

  4. Access Check:

    • If sufficient balance → proceed
    • Else → show error / request top-up
  5. Stream:

    • Either direct stream from Autonomi URI (if decrypted/public)
    • Or proxy/decryption gateway after payment

5. Payment Mechanism

You can use one of two token settlement models:

Option A: Client-side wallet

  • User holds ANT tokens in a browser- or Kodi-integrated wallet.
  • Kodi signs transactions via JSON-RPC or local bridge.
  • On access request, Kodi pays the required ANT.
  • Returns decryption key or access token.

Option B: Pay-per-access gateway

  • Users send ANT to a gateway address.
  • Gateway tracks ANT usage and serves content securely.
  • Requires a trust layer unless it’s decentralized.

6. Incentivization (Optional)

If you want this to scale:

  • Nodes that serve content via Autonomi earn ANT for fulfilling requests.
  • Incentives encourage content replication, availability, and bandwidth sharing.
  • Similar to IPFS/Filecoin, but streamlined for media streaming.

:test_tube: Example Flow (No Central Service, Token-Regulated)

  1. User opens Kodi plugin
  2. Plugin loads catalog from dWeb
  3. User selects a movie
  4. Plugin checks token balance (ANT)
  5. Plugin pays ANT via wallet or contract
  6. Plugin receives signed decryption key or stream URI
  7. Stream begins from Autonomi

:gear: Tools & Stack

Component Tech Stack
Media Storage Autonomi Network (CID-based access)
Indexing JSON on dWeb or Autonomi itself
Access Control Smart contracts, signed URLs, ANT payment
Frontend (Kodi) Python plugin with wallet bridge
Frontend (Web) dWeb App + ANT Wallet support
Payments ANT-compatible wallet (Ledger / JS)
Optional Gateway Rust/Go/Node streaming proxy (verifies ANT)

:prohibited: No-Premium = Purely Decentralized

Advantages:

  • Censorship-resistant
  • No central authority
  • Clear economic incentives (via ANT)
  • Fully peer-to-peer distribution

Challenges:

  • Building reliable access/paywall tooling (wallets, smart contracts)
  • Streaming performance from Autonomi (proxy may be needed)
  • Kodi plugin + crypto wallet integration

:white_check_mark: Next Steps

Would you like help with:

  • Creating a token-aware Kodi plugin skeleton?
  • Designing the ANT smart contract access model?
  • Building the stream gateway that enforces ANT payments?

Let me know which piece to prototype next.

Does this make any sense to any of you in the know @happybeing @riddim @oetyng @loziniak @Traktion
?

4 Likes

now I am wondering if the same could be done with emby or plex.

talk about a killer app idea

3 Likes

I had to look up what is real-debrid. But sounds like a great idea and a way to flip data from oldnet to Autonomi little by little, in a crowd sourced manner.

It also seems to me that Autonomi would really shine here, because of the deduplication feature.

3 Likes

Look at this…

And add Jellyfin or Stremio, which are now used a lot, especially the latter, which is often replacing Kodi.

And yes, this would be an App that could put Autonomi on the global map.

3 Likes

This kind of relates in part to the Autonomi browser extension project.

The server part of the stack is a http wrapper around anttp. It will return files that end users request. It will also be able to cache already requested files so lower the demand on the network, and increase retrieval speeds significantly for the end user. The server operator could even decide to require a subscription.

The end user could also just choose to use the local option if they don’t want to get via a server.

3 Likes