No description
  • JavaScript 100%
Find a file
DaBluLite 2913fd4891 Initial commit
Co-authored-by: Copilot <copilot@github.com>
2026-05-03 20:24:17 +03:00
.gitignore Initial commit 2026-05-03 20:24:17 +03:00
content-bridge.js Initial commit 2026-05-03 20:24:17 +03:00
LICENSE.md Initial commit 2026-05-03 20:24:17 +03:00
manifest.json Initial commit 2026-05-03 20:24:17 +03:00
README.md Initial commit 2026-05-03 20:24:17 +03:00
rules.json Initial commit 2026-05-03 20:24:17 +03:00
sw.js Initial commit 2026-05-03 20:24:17 +03:00

Sway Music Plugin for Sway Radio

Sway Music Plugin is a Chrome extension that allows Sway Radio to connect to OpenSubsonic and Navidrome servers. It injects a lightweight content bridge so Sway can authenticate, browse, and stream from your personal library.

Features

  • Connect Sway Radio to OpenSubsonic-compatible servers (including Navidrome).
  • Secure credential handling via extension storage.
  • Request proxying from the Sway site to your server.
  • Minimal background service worker footprint.

How It Works

The extension injects a content script into the Sway Radio site. That script relays API requests to a background service worker, which then calls your OpenSubsonic server and returns responses back to the page.

Installation (Developer Mode)

  1. Clone or download this repository.
  2. Open Chrome and go to chrome://extensions.
  3. Enable Developer mode.
  4. Click Load unpacked and select this folder.

Usage

  1. Open the Sway Radio website.
  2. Open the Sway connection settings.
  3. Enter your OpenSubsonic/Navidrome server URL, username, and password.
  4. Save and test the connection.

Permissions

The extension requests access to the Sway Radio domain and your configured server domain so it can proxy requests between them.

Development

  • content-bridge.js handles page injection and request forwarding.
  • sw.js is the background service worker.
  • rules.json and _metadata/ include dynamic rules for request routing.

Troubleshooting

  • Verify your server URL includes the correct protocol (https://).
  • Confirm your OpenSubsonic endpoint is reachable from your browser.
  • Check the extension service worker logs in Chrome DevTools.

License

MIT