Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
4.8 KiB
🎬 Tested Streaming Services & Compatibility
This document tracks which streaming platforms and media servers are supported by the KoalaSync extension.
Tip
Contributions are highly welcome! 🤝 Anyone can easily update this list. If you have tested a streaming service (whether it works, has issues, or is not yet listed), please help the project by submitting a quick Pull Request. See the How to Contribute guide below!
Compatibility Matrix
| Service | Sync Works | Media Title | Episode Auto-Sync | Last Tested | Tested By | Extension Version | Notes |
|---|---|---|---|---|---|---|---|
| YouTube | ✅ Full | ✅ Full | ❌ N/A | — | — | — | Individual videos, not episodes. |
| Twitch | ✅ Full | ✅ Full | ❌ N/A | — | — | — | Individual streams/VODs. |
| Netflix | ✅ Full | ❌ | ❌ | — | — | — | No media title exposed. |
| Emby | ✅ Full | ✅ Full | ✅ Full | — | — | — | Best-in-class support. |
| Jellyfin | ✅ Full | ✅ Full | ✅ Full | — | — | — | — |
| Plex | Not tested | Not tested | Not tested | — | — | — | — |
| Disney+ | ✅ Full | ⚠️ Partial | ❌ | — | — | — | Series title only (e.g. "The Simpsons"), no episode info. |
| Prime Video | ✅ Full | ✅ Full | ❌ | — | — | — | — |
| HBO Max / Max | Not tested | Not tested | Not tested | — | — | — | — |
| Crunchyroll | Not tested | Not tested | Not tested | — | — | — | — |
| Vimeo | Not tested | Not tested | Not tested | — | — | — | — |
| Dailymotion | Not tested | Not tested | Not tested | — | — | — | — |
| ARD / ZDF Mediathek | Not tested | Not tested | Not tested | — | — | — | — |
| Vix | ✅ Full | ✅ Full | ✅ Full | — | — | — | Everything works correctly. |
| JkAnime | ✅ Full | ❌ | ❌ | 2026-08-14 | Shik3i | v3.1.0 | Player sits in a same-origin /jkplayer/ iframe, so it needs the same-origin frame walk added in v3.1.0. No MediaSession metadata is exposed, and the page title carries no episode pattern (… Futari 18 Sub Español …). |
Legend
| Symbol | Meaning |
|---|---|
| ✅ Full | Works without limitations. |
| ⚠️ Partial | Works with caveats (see Notes). |
| ❌ | Not supported / does not work. |
| ❌ N/A | Not applicable (feature does not exist on the platform). |
| Not tested | Has not been tested yet. |
How to Contribute
Updating this compatibility list is quick and easy! You don't need deep coding skills to contribute:
- Fork the Repository: Click the Fork button at the top of the KoalaSync GitHub Repository.
- Edit this File: Open docs/TESTED_SERVICES.md in your fork's browser editor (or clone it locally) and update the table with your testing details.
- Commit & Push: Commit your changes with a clear message (e.g.,
docs: update Netflix compatibility status). - Create a Pull Request: Submit the Pull Request (PR) from your fork to our
mainbranch.
Note
Reporting Problems: If you notice a bug or partial support on a service, please open a GitHub Issue describing the problem, and link it in the Notes column of the table.
If you are unsure how to create/link an issue, don't worry! Simply submit the PR anyway, and the maintainers will gladly create and link the issue for you.
Technical Background
KoalaSync works on any website with a standard HTML5 <video> element that allows script injection.
Limited functionality on certain platforms is typically caused by:
- DRM/Copy Protection (e.g., Widevine on Netflix) which restricts access to media metadata like title and playback state
- Shadow DOM encapsulation that hides video elements from content scripts
- Strict Content Security Policies (CSP) that block script injection
- Cross-origin player frames, where the
<video>lives on a different origin than the page (see below)
Websites with heavily obfuscated custom players may require platform-specific workarounds in content.js.
Player frames
Since v3.1.0 the content script walks same-origin frames, so a player wrapped in the site's own iframe is found and controlled without a site-specific workaround. This also covers srcdoc and about:blank frames, which inherit the parent origin.
Frames on a different origin remain out of reach, because the browser blocks contentDocument access by design. Note that a subdomain counts as a different origin: a player served from player.example.com inside example.com is not reachable. Sites that embed their player from an external host (common for anime and sports streaming mirrors) fall into this category. Tracked on the roadmap as the cross-origin frame bridge.