new resolver playmate.to / firestream fix / streamix + voe additional domains - #1465
Merged
Conversation
Owner
|
Buddy, I mentioned before please raise one pr per plugin. It makes it difficult to track if multiple plugins are changed in a single PR. |
Contributor
Author
Oh damm totally forgot sorry next time i will do it |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains four changes: a new resolver for playmate.to, a pattern fix for firestream, and additional domains for streamix and voe.
playmate.py — new resolver (playmate.to)
Example link: https://playmate.to/watch/xu0vZ0NnFnRDu
The player POSTs the filecode to https://{host}/api/s and receives JSON containing a plain HLS streaming URL plus optional subtitles. The API requires a User-Agent header (403 without one); UA and Referer are appended to the returned URL. The pattern also covers the /embed/, /e/ and /v/ link forms the site itself lists as valid. Verified end to end: resolves to the HLS playlist, segments confirmed as valid MPEG-TS.
Note: the site offers a custom-domain feature for uploaders.
text for the prevoius pr for the new resolver
Adds a resolver for playmate.to, which is not covered by any existing plugin.
The /watch/ page is only an SPA shell; the player runs in an iframe on
/embed/. The embed page loads an obfuscated player-core.min.js, but the
stream itself needs no deobfuscation at runtime:
POST https://playmate.to/api/s
body: {"c": "", "d": "web"}
The JSON response uses short keys: sx = stream URL, kx = subtitle list
(sl = language, sf = file path), tx/ix/lx/ax/cx = metadata. sx is a plain HLS
master playlist, no encryption involved - the site's crypto-js/pako usage is
only for its telemetry beacon on /api/v.
Notes:
Tested against master (28fdaa6) on Kodi 21.3 (64-bit) / Android 16:
valid_url, both /watch/ and /embed/ forms, subtitle mapping, and
HostedMediaFile.resolve() all resolve to a playable master playlist.
Confirmed playing in Kodi.
firestream.py — media_id pattern fix
firestream media ids can contain hyphens, e.g. https://firestream.to/e/e-5DNrdv. The current character class [0-9a-zA-Z_] silently truncates the id at the hyphen (the pattern still matches but only captures e), so the resolve API call fails. Added - to the character class. Verified against the live link above: resolves to the HLS playlist, segments confirmed as valid MPEG-TS. Existing ids without hyphens are unaffected.
streamix.py — additional domains
Adds viewdara.com and thebesthosterv.com. Both are mirrors of the platform already covered by this resolver: the same filecode returns the identical streaming URL through viewdara, thebesthosterv, kinoger.pw and vidara.to. Only domains and the name alternation are extended — the existing /api/stream POST with device: web works unchanged, no get_url special-casing needed. Verified end to end against a live filecode on both new domains: resolves to the HLS playlist, segments confirmed as valid MPEG-TS. Existing domains unaffected.
voesx.py — additional domains (redirect targets)
Adds johnbeyondnation.com plus ten further VOE rotation domains. johnbeyondnation.com is a current redirect target: kinoger.ru and chuckle-tube.com (both already listed) 302-redirect to https://johnbeyondnation.com/e/, and the server sets a voe_session cookie. The other ten were found by following the redirect chain from the already-listed jessicayeahcatch.com, which 302-hops deterministically through jeanprofessorcentral.com → juliewomanwish.com → garylargeavailable.com → jennifereconomicgive.com → pamelachangemission.com → ellenpoliticalfollow.com → caseyimpactstation.com → matthewhotelscience.com → jessicachoosemake.com → stevenfamilyedge.com (reproduced across three runs). None of these currently match, so links pointing directly at any of them fail. All use the standard /e/ form; the resolver code path is identical to the existing VOE domains.