Skip to content

Repository files navigation

SendToKodi

SendToKodi Banner

Check Build Chrome Web Store Chrome Web Store Users Mozilla Add-on Mozilla Add-on Users

Stream almost any video from your browser directly to Kodi - Simple, powerful, and open source.

✨ Features

  • 🎬 Universal Streaming - Support for 1000+ websites via yt-dlp
  • 📋 Playlist Support - Send entire playlists with a single click
  • 🔄 Multiple Connections - Save and manage different Kodi instances
  • 🚀 One-Click Send - Stream instantly from your browser
  • 🖱️ Context Menu - Right-click any link, video or page and choose Play on Kodi or Add to Kodi queue
  • ⌨️ Keyboard Shortcuts - Alt+Shift+K plays the current tab, Alt+Shift+Q adds it to the queue (customizable in the browser's shortcut settings)
  • 🟢 Connection Status - See at a glance whether your Kodi is reachable
  • 🔒 Privacy-Focused - No data collection, fully open source
  • 🎨 Modern UI - Built with modern web technologies

📦 Installation

Chrome Web Store

Available in the Chrome Web Store

Mozilla Add-ons

Get the Add-On

Microsoft Edge Add-ons

Get the Add-On

📋 Requirements

To use this extension, you need to install the SendToKodi Addon in Kodi:

Kodi Addon: plugin.video.sendtokodi

The addon handles the actual streaming on the Kodi side and must be installed for this extension to work.

🔐 Permissions

The extension only asks for access to your Kodi host (e.g. http://192.168.1.100) the first time you play something or test a connection. It does not need access to the websites you visit: the URL of the current tab is only read when you click the extension icon, use the context menu or a keyboard shortcut.

🛠️ Tech Stack

TypeScript
TypeScript
Solid.js
Solid.js
Vite
Vite
Tailwind CSS
Tailwind CSS

💻 Development

Prerequisites

  • Node.js 22.12 or higher (see .nvmrc)
  • npm

Setup

# Clone the repository
git clone https://github.com/firsttris/chrome.sendtokodi.git
cd chrome.sendtokodi

# Install dependencies
npm install

# Start development server
npm run start
# For Firefox compatibility
npm run start:firefox

# Lint, typecheck and test
npm run check
npm run typecheck
npm test

Load Extension

Chrome:

  1. Open Chrome and navigate to chrome://extensions/
  2. Enable Developer mode (toggle in top-right)
  3. Click Load unpacked
  4. Select the dist folder from the project

Firefox:

  1. Open Firefox and navigate to about:debugging
  2. Click This Firefox
  3. Click Load Temporary Add-on...
  4. Select the manifest.json in the dist folder

The extension will hot-reload as you make changes.

🔐 Privacy & Security

  • 100% Open Source - All code is available for review
  • No Tracking - We don't collect any data
  • Local Processing - Everything runs on your device
  • Transparent Permissions - Only uses necessary browser APIs

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Special thanks to our contributors:

📤 Publishing

How releases and store uploads work

All stores are handled by a single workflow: Actions → Release → Run workflow.

  • Leave version empty to create a new patch release: the workflow lints, tests and builds, then bumps the version, tags it, creates a GitHub release with generated notes and uploads the Chrome and Firefox packages.
  • Enter an existing version (e.g. 0.0.51) to only (re-)submit that release to the stores.
  • Use the chrome / firefox / edge checkboxes to choose the stores. The store uploads run in parallel after the release.
gh workflow run release.yml                      # new release, all stores
gh workflow run release.yml -f version=0.0.51 -f edge=false

The Chrome package is uploaded as a draft (publish: false) and has to be submitted for review in the developer dashboard. Firefox receives the source archive of the tagged commit for the review.

Secrets

Chrome Web Store (see chrome-webstore-upload-keys): CHROME_EXTENSION_ID, CHROME_CLIENT_ID, CHROME_CLIENT_SECRET, CHROME_REFRESH_TOKEN. The publisher ID is not secret and is set in the workflow; it is part of the developer dashboard URL (https://chrome.google.com/webstore/devconsole/<publisher-id>).

Mozilla Add-ons (API keys): AMO_JWT_ISSUER, AMO_JWT_SECRET.

Microsoft Edge Add-ons (Publish API): EDGE_PRODUCT_ID, EDGE_CLIENT_ID, EDGE_API_KEY.


Made by the open source community

⭐ Star us on GitHub • 🐛 Report a Bug • 💡 Request a Feature

Releases

Packages

Used by

Contributors

Languages