chore: include imdb and tmdb IDs in XPrime requests
This commit is contained in:
parent
128c144ebf
commit
7f264b2503
18 changed files with 31 additions and 26 deletions
|
|
@ -11,15 +11,15 @@ const ctx = createTestContext();
|
|||
|
||||
describe('XPrime', () => {
|
||||
test('unknown backend is ignored', async () => {
|
||||
expect(await extractorRegistry.handle(ctx, new URL('https://backend.xprime.tv/unknown?name=Superman&year=2025'))).toMatchSnapshot();
|
||||
expect(await extractorRegistry.handle(ctx, new URL('https://backend.xprime.tv/unknown?name=Superman&year=2025&id=1061474&imdbId=tt5950044'))).toMatchSnapshot();
|
||||
});
|
||||
|
||||
test('primebox Superman', async () => {
|
||||
expect(await extractorRegistry.handle(ctx, new URL('https://backend.xprime.tv/primebox?name=Superman&year=2025'))).toMatchSnapshot();
|
||||
expect(await extractorRegistry.handle(ctx, new URL('https://backend.xprime.tv/primebox?name=Superman&year=2025&id=1061474&imdbId=tt5950044'))).toMatchSnapshot();
|
||||
});
|
||||
|
||||
test('primebox Alien: Earth', async () => {
|
||||
expect(await extractorRegistry.handle(ctx, new URL('https://backend.xprime.tv/primebox?name=Alien%3A%20Earth&year=2025&season=1&episode=1'))).toMatchSnapshot();
|
||||
expect(await extractorRegistry.handle(ctx, new URL('https://backend.xprime.tv/primebox?name=Alien%3A%20Earth&year=2025&id=157239&imdb=tt13623632&season=1&episode=1'))).toMatchSnapshot();
|
||||
});
|
||||
|
||||
test('primebox not found', async () => {
|
||||
|
|
|
|||
|
|
@ -0,0 +1 @@
|
|||
{"accept-ranges":"bytes","access-control-allow-headers":"*","access-control-allow-origin":"https://xprime.tv","alt-svc":"h3=\":443\"; ma=86400","cache-control":"public, max-age=31536000, immutable","cdn-cache-control":"public, max-age=31536000, immutable","cf-ray":"97d1622e3ad44d26-FRA","connection":"close","content-length":"896638128","content-type":"video/mp4","date":"Wed, 10 Sep 2025 19:38:03 GMT","nel":"{\"success_fraction\":0,\"report_to\":\"cf-nel\",\"max_age\":604800}","report-to":"{\"endpoints\":[{\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=FzrMqwYe6qwzeh76DC9F4xwUbJJIwR3NLN%2BXEdKyul1Lv6zBocsQrsZtj%2F3mRAtOkr1R3fTuSSVikTLF3GqLes6idwSj2KRFSNQYB2qg%2BaS72v2SjbfnuEWL0eroypJ2346tnFninrVROOjBDB4vkwOI2e0tOyQ%3D\"}],\"group\":\"cf-nel\",\"max_age\":604800}","server":"cloudflare","server-timing":"cfL4;desc=\"?proto=TCP&rtt=0&min_rtt=0&rtt_var=0&sent=0&recv=0&lost=0&retrans=0&sent_bytes=0&recv_bytes=0&delivery_rate=0&cwnd=0&unsent_bytes=0&cid=0ab2b8c6b809570f&ts=85&x=0\"","vary":"Accept-Encoding"}
|
||||
|
|
@ -0,0 +1 @@
|
|||
{"accept-ranges":"bytes","access-control-allow-headers":"*","access-control-allow-origin":"https://xprime.tv","alt-svc":"h3=\":443\"; ma=86400","cache-control":"public, max-age=31536000, immutable","cdn-cache-control":"public, max-age=31536000, immutable","cf-ray":"97d1622daa5b4d26-FRA","connection":"close","content-length":"401394599","content-type":"video/mp4","date":"Wed, 10 Sep 2025 19:38:03 GMT","nel":"{\"success_fraction\":0,\"report_to\":\"cf-nel\",\"max_age\":604800}","report-to":"{\"endpoints\":[{\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=gs1y2VcEagyahSUbca2EMr5ZaVaQapIixbj3Mcgu4FGR8iUd5Sc0z8rXXo%2B2gVs6VpYrYqpTwv9ErfpTGbPrUc1Sc%2FYWrqfvE49d3MXKzCXu8LiDLj6Ap1q732n8DNyM8CUnpTt5559%2Bs1OsGhHzsfUqo646vhk%3D\"}],\"group\":\"cf-nel\",\"max_age\":604800}","server":"cloudflare","server-timing":"cfL4;desc=\"?proto=TCP&rtt=0&min_rtt=0&rtt_var=0&sent=0&recv=0&lost=0&retrans=0&sent_bytes=0&recv_bytes=0&delivery_rate=0&cwnd=0&unsent_bytes=0&cid=ee1864c7dc839181&ts=77&x=0\"","vary":"Accept-Encoding"}
|
||||
|
|
@ -0,0 +1 @@
|
|||
{"accept-ranges":"bytes","access-control-allow-headers":"*","access-control-allow-origin":"https://xprime.tv","alt-svc":"h3=\":443\"; ma=86400","cache-control":"public, max-age=31536000, immutable","cdn-cache-control":"public, max-age=31536000, immutable","cf-ray":"97d1622f5bbf4d26-FRA","connection":"close","content-length":"871281904","content-type":"video/mp4","date":"Wed, 10 Sep 2025 19:38:04 GMT","nel":"{\"success_fraction\":0,\"report_to\":\"cf-nel\",\"max_age\":604800}","report-to":"{\"endpoints\":[{\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=KlG4q7%2FQZ7c2zxVghnbfh2TtHUadFAQfG%2F2MRX9YZS6lceSdjj93MyYssn7%2FJcnAWVtcR%2BlQ%2FuQHz7lp0PW0%2B1WIfBXn5mbLxMotY7mWWBS58JCSTZlDc2huJ8MZUuFCQiLLRO2o3IJhPCOVK%2FtkTrVqthc57AY%3D\"}],\"group\":\"cf-nel\",\"max_age\":604800}","server":"cloudflare","server-timing":"cfL4;desc=\"?proto=TCP&rtt=0&min_rtt=0&rtt_var=0&sent=0&recv=0&lost=0&retrans=0&sent_bytes=0&recv_bytes=0&delivery_rate=0&cwnd=0&unsent_bytes=0&cid=32fc89755f2b0f98&ts=110&x=0\"","vary":"Accept-Encoding"}
|
||||
|
|
@ -0,0 +1 @@
|
|||
{"accept-ranges":"bytes","access-control-allow-headers":"*","access-control-allow-origin":"https://xprime.tv","alt-svc":"h3=\":443\"; ma=86400","cache-control":"public, max-age=31536000, immutable","cdn-cache-control":"public, max-age=31536000, immutable","cf-ray":"97d162302c654d26-FRA","connection":"close","content-length":"420170402","content-type":"video/mp4","date":"Wed, 10 Sep 2025 19:38:04 GMT","nel":"{\"success_fraction\":0,\"report_to\":\"cf-nel\",\"max_age\":604800}","report-to":"{\"endpoints\":[{\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=fmqjV4Q2%2FjwPS%2F78MMmXHqgH9ibjI9QnwLkXiaGHmstwNDlLe0qOxfoKb2DvobWxarVPzYAxoyB3GdKKZ3GO%2B4KnNX5MHkDVgVFLVhUB04lqEHJTHwb4aG34yMdI5uziLuLxjz2t7BIprl4UFt%2BOinEinax4WH8%3D\"}],\"group\":\"cf-nel\",\"max_age\":604800}","server":"cloudflare","server-timing":"cfL4;desc=\"?proto=TCP&rtt=0&min_rtt=0&rtt_var=0&sent=0&recv=0&lost=0&retrans=0&sent_bytes=0&recv_bytes=0&delivery_rate=0&cwnd=0&unsent_bytes=0&cid=935db57878fc96c4&ts=62&x=0\"","vary":"Accept-Encoding"}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"accept-ranges":"bytes","access-control-allow-methods":"*","access-control-allow-origin":"https://xprime.tv","age":"189968","ali-swift-global-savetime":"1755063340","alt-svc":"h3=\":443\"; ma=86400","cache-control":"public, max-age=31536000, immutable","cdn-cache-control":"public, max-age=31536000, immutable","cf-cache-status":"MISS","cf-ray":"96f7f793caffd26c-FRA","connection":"close","content-disposition":"attachment;filename=Alien: Earth-S1E1-480P.mp4","content-length":"420170402","content-type":"video/mp4","date":"Fri, 15 Aug 2025 10:21:48 GMT","eagleid":"2ff617a417552533081123028e","etag":"\"C6A45A0457EDA758D7DF7576FF2FDB1C-12\"","last-modified":"Wed, 13 Aug 2025 05:30:23 GMT","nel":"{\"success_fraction\":0,\"report_to\":\"cf-nel\",\"max_age\":604800}","report-to":"{\"endpoints\":[{\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=iK6KXy00H4dsUV65PssAn7rKLgvq2C2cak5DPDyN0R%2BpG8MpU3RJIVMrmmf4Ux79jlRKXxBT3S%2Bjp210eZLTAkruPkqJBbm%2BRgrYNXnjwBaTOkkKhDwZC3Hdb6OKpX0sbnvb2YXyqsTpQ0786Z35AARB6RaQhms%3D\"}],\"group\":\"cf-nel\",\"max_age\":604800}","server":"cloudflare","server-timing":"cfL4;desc=\"?proto=TCP&rtt=0&min_rtt=0&rtt_var=0&sent=0&recv=0&lost=0&retrans=0&sent_bytes=0&recv_bytes=0&delivery_rate=0&cwnd=0&unsent_bytes=0&cid=2581445feac3607a&ts=721&x=0\"","timing-allow-origin":"*","vary":"Accept-Encoding","via":"ens-cache30.l2us4[160,160,206-0,M], ens-cache20.l2us4[161,0], ens-cache15.us22[0,0,200-0,H], ens-cache16.us22[5,0]","x-cache":"HIT TCP_HIT dirn:11:315619406 mlen:0","x-oss-cdn-auth":"success","x-oss-hash-crc64ecma":"16834050796546943518","x-oss-object-type":"Multipart","x-oss-request-id":"689C242CA5D3D93034286C85","x-oss-server-time":"8","x-oss-storage-class":"Standard","x-swift-cachetime":"31104000","x-swift-savetime":"Wed, 13 Aug 2025 05:35:40 GMT"}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"accept-ranges":"bytes","access-control-allow-methods":"*","access-control-allow-origin":"https://xprime.tv","age":"199101","ali-swift-global-savetime":"1755054206","alt-svc":"h3=\":443\"; ma=86400","cache-control":"public, max-age=31536000, immutable","cdn-cache-control":"public, max-age=31536000, immutable","cf-cache-status":"MISS","cf-ray":"96f7f7937a70d26c-FRA","connection":"close","content-disposition":"attachment;filename=Alien: Earth-S1E1-1080P.mp4","content-length":"871281904","content-type":"video/mp4","date":"Fri, 15 Aug 2025 10:21:47 GMT","eagleid":"a3b5fea017552533074354078e","etag":"\"A916E682B7AC6E06B851A8C778FECF87-51\"","last-modified":"Wed, 13 Aug 2025 03:03:24 GMT","nel":"{\"success_fraction\":0,\"report_to\":\"cf-nel\",\"max_age\":604800}","report-to":"{\"endpoints\":[{\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=4VKbB%2B%2BCwOuVnc8rJR1AXcYR6yksEpmK1RNI5BXUt0EZW5HhZwtdvOVk%2BOdtenwt492cI5myJvdekV2GKA78Pz17V%2FMTLSCnaBXkfFKttbLfmdXxKL51w6dBncXMmq3J1rvW%2BlDBLMxqtMlvN%2FXNMlkJdZXScSc%3D\"}],\"group\":\"cf-nel\",\"max_age\":604800}","server":"cloudflare","server-timing":"cfL4;desc=\"?proto=TCP&rtt=0&min_rtt=0&rtt_var=0&sent=0&recv=0&lost=0&retrans=0&sent_bytes=0&recv_bytes=0&delivery_rate=0&cwnd=0&unsent_bytes=0&cid=eb4294c1b3c9cfec&ts=40&x=0\"","timing-allow-origin":"*","vary":"Accept-Encoding","via":"ens-cache12.l2de3[19,19,206-0,M], ens-cache2.l2de3[386,0], ens-cache5.de10[0,0,200-0,H], ens-cache12.de10[3,0]","x-cache":"HIT TCP_MEM_HIT dirn:-2:-2 mlen:0","x-oss-cdn-auth":"success","x-oss-hash-crc64ecma":"11633186024771853813","x-oss-object-type":"Multipart","x-oss-request-id":"689C007E989F153439D3D9E1","x-oss-server-time":"16","x-oss-storage-class":"Standard","x-swift-cachetime":"31104000","x-swift-savetime":"Wed, 13 Aug 2025 03:03:26 GMT"}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"accept-ranges":"bytes","access-control-allow-methods":"*","access-control-allow-origin":"https://xprime.tv","age":"5442571","ali-swift-global-savetime":"1749810736","alt-svc":"h3=\":443\"; ma=86400","cache-control":"public, max-age=31536000, immutable","cdn-cache-control":"public, max-age=31536000, immutable","cf-cache-status":"MISS","cf-ray":"96f7f790ed31d26c-FRA","connection":"close","content-disposition":"attachment;filename=Superman.mp4","content-length":"896638128","content-type":"video/mp4","date":"Fri, 15 Aug 2025 10:21:47 GMT","eagleid":"a3b5fea317552533071221673e","etag":"\"E273E5E2EA0F4F351EE597E014D3EDEE-3\"","last-modified":"Thu, 01 Jun 2023 12:10:55 GMT","nel":"{\"success_fraction\":0,\"report_to\":\"cf-nel\",\"max_age\":604800}","report-to":"{\"endpoints\":[{\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=MPOgJvCX2NGVXvLVAkL9Do%2BXxQJB6Z2j1%2FaClvju88VXQvlO21PTiMZaPtnjIorRafTOREYJ9Y8892ZJkQ38oV5%2BNFcJSUfJQo8hY0Kv3rPPrNYWZBYMFGqgQhOxIk3dsBiowMrb22BRG6cgPv3UGjW4cCxuEoc%3D\"}],\"group\":\"cf-nel\",\"max_age\":604800}","server":"cloudflare","server-timing":"cfL4;desc=\"?proto=TCP&rtt=0&min_rtt=0&rtt_var=0&sent=0&recv=0&lost=0&retrans=0&sent_bytes=0&recv_bytes=0&delivery_rate=0&cwnd=0&unsent_bytes=0&cid=503c8ba5bfeda5bc&ts=125&x=0\"","timing-allow-origin":"*","vary":"Accept-Encoding","via":"ens-cache1.l2de3[0,0,206-0,H], ens-cache5.l2de3[1,0], ens-cache13.de10[0,0,200-0,H], ens-cache15.de10[4,0]","x-cache":"HIT TCP_MEM_HIT dirn:-2:-2 mlen:0","x-oss-cdn-auth":"success","x-oss-hash-crc64ecma":"4771098201880069728","x-oss-object-type":"Multipart","x-oss-qos-delay-time":"1426548","x-oss-request-id":"684BFE2F2547D43238F66A0F","x-oss-server-time":"4","x-oss-storage-class":"Standard","x-swift-cachetime":"30538308","x-swift-savetime":"Thu, 19 Jun 2025 23:40:28 GMT"}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"accept-ranges":"bytes","access-control-allow-methods":"*","access-control-allow-origin":"https://xprime.tv","age":"1163","ali-swift-global-savetime":"1749411183","alt-svc":"h3=\":443\"; ma=86400","cache-control":"public, max-age=31536000, immutable","cdn-cache-control":"public, max-age=31536000, immutable","cf-cache-status":"HIT","cf-ray":"96f7f7909ca9d26c-FRA","connection":"close","content-disposition":"attachment;filename=Superman.mp4","content-length":"401394599","content-type":"video/mp4","date":"Fri, 15 Aug 2025 10:21:47 GMT","eagleid":"a3b5fea617552521434468697e","etag":"\"0F8C23B2BD3CC7F6BA6379E8354B0F84\"","last-modified":"Thu, 17 Nov 2022 00:30:11 GMT","nel":"{\"success_fraction\":0,\"report_to\":\"cf-nel\",\"max_age\":604800}","report-to":"{\"endpoints\":[{\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=5FtQGStEmGWQDt5%2FJ9tfbv6%2FV8Zu7qy7b%2BnLU%2BdVqv7ojoP7bEtRJ%2BXY5xpTmWTFuzFVroRhqPLEb873RCU60Jhc7iZhZDhLPISYsqnek%2BDvftzT96Fv9Yk1tQQxDL2pm%2BpAlnZfAD8D4cW%2BEQ4ofLszBL1YaTs%3D\"}],\"group\":\"cf-nel\",\"max_age\":604800}","server":"cloudflare","server-timing":"cfL4;desc=\"?proto=TCP&rtt=0&min_rtt=0&rtt_var=0&sent=0&recv=0&lost=0&retrans=0&sent_bytes=0&recv_bytes=0&delivery_rate=0&cwnd=0&unsent_bytes=0&cid=2e26c3ffa922ad37&ts=31&x=0\"","timing-allow-origin":"*","vary":"Accept-Encoding","via":"ens-cache8.l2de3[0,0,206-0,H], ens-cache12.l2de3[3,0], ens-cache17.de10[0,0,200-0,H], ens-cache18.de10[7,0]","x-cache":"HIT TCP_MEM_HIT dirn:-2:-2 mlen:0","x-oss-cdn-auth":"success","x-oss-hash-crc64ecma":"4264950399079041808","x-oss-object-type":"Normal","x-oss-request-id":"6845E56FB7AA223534E03B81","x-oss-server-time":"27","x-oss-storage-class":"Standard","x-swift-cachetime":"30691545","x-swift-savetime":"Fri, 13 Jun 2025 14:07:18 GMT"}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -16,7 +16,7 @@ exports[`XPrime primebox Alien: Earth 1`] = `
|
|||
},
|
||||
"sourceId": "xprime_primebox_",
|
||||
"ttl": 21600000,
|
||||
"url": "https://oca.flutch09.workers.dev/?v=cenBDs9Hbnv6PuXYzNUtVR2ZZ2YtmVtQIt6JqHB1dsbz2Y%2BXC9UwPurnE%2BQNk27Yr1WeYeLOOazAnSL8cU0DvVfg4pwKsjHKWIJICiVlvv9ndXII0bR7eaIi%2B11NbAj72pFFryHZjO6MkMKEJJnF4G%2BH1BXIO1ALds7J1A7gj2vc7DbUWL8kPxwH1rMw7NAys20M5s3PsbhgSrMpguZSBm8X&headers=%7B%22origin%22%3A%22https%3A%2F%2Fmoviebox.ng%22%2C%22referer%22%3A%22https%3A%2F%2Fmoviebox.ng%22%7D&safe",
|
||||
"url": "https://oca.flutch05.workers.dev/?v=mOwlY2kjThQa8NCWs32mchoiQHzclPNneNoDGQPimK%2B3Bp%2F1cqnza7Leu1hSMqLl6oRqOYEWTcx2WwszBsdBABFyqhRv8OpdZrGuGaoeNaiBFA5Ugx5%2BfwVDxx8kgPmu9hg8UjpwPo4B49s92Z%2BC5%2FfUJFGbJOp60JaP5NFEbfaIIdgqnUc0xUrUBfZPTOW%2FYAmi4D7C86WqUnPjCOh5RMYV3tWbwJ2LaZfJw%2Bfe7PAF9En4SRvsYmKGt8w6VCWzuxCCtpmRQr1E8PILpi%2Fr%2BkZOXtm%2B01mGCzY5Cv0OYAcVdqqtIylF%2FBQDbzxOuLnoXVz1QWSrroL1OiZ7dOT6TUilA5v%2F8T5ujpRy%2FDgwOvyYav%2BoiZud%2FOiY4eL%2F9UckLsgka85QlOmvvnXVzsvg%2BX1u4R02UWmJ6xlHGp5pTkRImbhERu0fJmGOjtrgDsjKy7DPVTHWPHr83nJC8dnDpw%3D%3D&headers=%7B%22Referer%22%3A%22https%3A%2F%2Frivestream.org%22%2C%22Origin%22%3A%22https%3A%2F%2Frivestream.org%22%7D&safe",
|
||||
},
|
||||
{
|
||||
"format": "mp4",
|
||||
|
|
@ -32,7 +32,7 @@ exports[`XPrime primebox Alien: Earth 1`] = `
|
|||
},
|
||||
"sourceId": "xprime_primebox_",
|
||||
"ttl": 21600000,
|
||||
"url": "https://oca.flutch09.workers.dev/?v=oS2n5QbXtpa%2BWXMpIIi0SqeqadEyYEAg6AmHvpTa3jzooh6zxINciUJrR%2B6b1xLZtxbnbAM3mrGGXOa5yckYkNSC%2BKGEFSdofXw298vq3ssHpI9LBN6XLvhtxnDfmub0QoMG%2Fkvgjhb8T%2FwiCHo9NeSX%2FetW6ANppW9jhZn0Hv3hsWdmES1jqj6nfIjQ1ur53htjr2vF7mZbZSsJ&headers=%7B%22origin%22%3A%22https%3A%2F%2Fmoviebox.ng%22%2C%22referer%22%3A%22https%3A%2F%2Fmoviebox.ng%22%7D&safe",
|
||||
"url": "https://oca.flutch05.workers.dev/?v=67b6sL674qhHEUcDMks3X12qkFala9ovis0QX%2F35qibiyzDOJ8IWc8yIS6kHsxUNW1x9MCx3DC79NiJLW7S86tNy94b7iW7Ec8tOalViCMsASELZnMo9lTzq08PXalRsC6E78VInBlJW5L50sTXmzBS83meFSenCqIO1VS70n1p9Q1tt%2B7frpHSdfvuQV%2FrZiWKCPsHS%2F8b3qC630HIopHQfd9tvdzCHKgtTLXJUKBdz%2BYAQBeD2T%2FovyhHLZDawtlOjqBC6w19xw1m1%2FZsVymS%2FJPFoNgCtSQf47iSKVdeDOEyLyD8vl675LxaQB0LXgjJL1JbRhqR6IbPTvNfDK1cWAeGZZybsxWM4t%2FC9bOZZAmhT3At7Vm3WFYRwWawK2YiV3Rl84umGFELYq%2BTYUstaDm6EJnu%2F8S56A92ELLJ7beFzfHjdGkEuxjhVF6me7v3awmcysmGfAw%3D%3D&headers=%7B%22Referer%22%3A%22https%3A%2F%2Frivestream.org%22%2C%22Origin%22%3A%22https%3A%2F%2Frivestream.org%22%7D&safe",
|
||||
},
|
||||
]
|
||||
`;
|
||||
|
|
@ -53,7 +53,7 @@ exports[`XPrime primebox Superman 1`] = `
|
|||
},
|
||||
"sourceId": "xprime_primebox_",
|
||||
"ttl": 21600000,
|
||||
"url": "https://oca.flutch09.workers.dev/?v=3RVZDNxcKNs6%2BqcdL1bDCgq9Yp1iPYqb6a9yToLq66vlzu08R1Hz7jiKx4OBH6YzJBcK7skuiDGDwIpro78ReVjMLtMHCfa0fBo0aJ9RYULOUMkLrZxjzSTXvo5Jss1Jiss8e9Z8pFdlC1VqwAUm6G9mx0u41dFLJ0GTJrwCesPe4zflbL8I76WkWYKBMT2MwHvDTIO4r3V0nf8BsRswsNJZ&headers=%7B%22origin%22%3A%22https%3A%2F%2Fmoviebox.ng%22%2C%22referer%22%3A%22https%3A%2F%2Fmoviebox.ng%22%7D&safe",
|
||||
"url": "https://oca.flutch05.workers.dev/?v=AM%2FpjvLx5HEQnDENoM67g5My54wbHl3T7s3ATEfiGXU8bibIkxZ0FXSYF3rjcs1EhAuU4hj%2BgV7pVNvSPKcMn6CEJsOqF9uhHXvgLwZBpBXgh15P2EBL6V01xWTYjRlxBBQ%2B7cCae4ZM4xDY1A7AQ9Ss7nTSydP8CBMpQSW7f0ia1kHvfSr9MGtMuXQfQbPdBmgPGwONotzQSwoqfTvXoKvYV2KO00wc%2BMdYo0AIpsvQ%2B9ATjOar0kplFsIoNMBuZdbFsXn3AMVmEvUmGJ8s6O0dwZsa%2F4k3j0Id%2F3egMnl2uHyFwP3PFIZUCk8kmJq%2FL4DscSij9M9%2B%2F4dbRCN0EV5bTMHmTAWmB%2FZVOkLQGNQyMKCV1m9Ynodh%2F%2BDgkVXd%2FvekQ%2BZLdGL7rhD9s6%2BeRo3FrpySv%2BMaChLwF%2FvA0D%2FASO3jxZ533tWWBWZMIxeVfb5GvowKNuZVMYEmzCdceQ%3D%3D&headers=%7B%22Referer%22%3A%22https%3A%2F%2Frivestream.org%22%2C%22Origin%22%3A%22https%3A%2F%2Frivestream.org%22%7D&safe",
|
||||
},
|
||||
{
|
||||
"format": "mp4",
|
||||
|
|
@ -69,7 +69,7 @@ exports[`XPrime primebox Superman 1`] = `
|
|||
},
|
||||
"sourceId": "xprime_primebox_",
|
||||
"ttl": 21600000,
|
||||
"url": "https://oca.flutch09.workers.dev/?v=gUbhHOwpFIqajH6NnoH%2BYE9AWORUUogamkdYQedBfKi5eQtyniWtxmI1%2B5Swyl1ThC6vM0qHl53s0Q7j%2BDaWFhVRJQL%2BJRxbuOL1iCz1w5xVPLDU%2FTJ3zhf9EbULPGbbee14kdNYNc5%2FlF2sNe6RiUupsvhlj%2BjcgsT8uypX%2BudVyw1jVEUVogufPnc0lSrfoE98IZlOgdjBZKE3%2Fcw3erD2&headers=%7B%22origin%22%3A%22https%3A%2F%2Fmoviebox.ng%22%2C%22referer%22%3A%22https%3A%2F%2Fmoviebox.ng%22%7D&safe",
|
||||
"url": "https://oca.flutch05.workers.dev/?v=UNkCgqoMa91gkb8oj4GjENnh0sf4IVcpm0knnDuHACk2rVfVyotHGJiSuTGoCXPtwXIk0rYh8mmEQpHKklZBH%2FPWKk6OPytymZB4rTF6CtFCTIu8uvFChPm%2BidnA9yIXdehDBKNV37LQY9jBze6CYdOuHA7NFEAAwbp4wi%2FzuCkLCEnvSrkqUa8n%2FxJpjjz3ftZjR3jtrqFPU3r7kyGinkMYYbGZIHBDLM3r%2F72mpuzqpXrrlUig%2FEPOkUKPoUWJEAbR34TRDi1M1S1hSLUswluTSeN5BRt5SQfBZU6RA6f4Wkd5x0ua5yF1z69qfoBluu%2BEjbd83BRb%2Fo8p%2B8oMKeNJkv54Z48dmKXQDmAteRWF6uwPRmpIQfjggl%2B%2Bagp17nXhjufCgz23EY11qBR5%2B3AN074A016DbiGv4sXA%2FA2fKQ8I5NBFCCOsFqv4b03PVJCLoMPEMHY7eFfNF3N%2BsQ%3D%3D&headers=%7B%22Referer%22%3A%22https%3A%2F%2Frivestream.org%22%2C%22Origin%22%3A%22https%3A%2F%2Frivestream.org%22%7D&safe",
|
||||
},
|
||||
]
|
||||
`;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { ContentType } from 'stremio-addon-sdk';
|
||||
import { Context, CountryCode } from '../types';
|
||||
import { Fetcher, getTmdbId, getTmdbNameAndYear, Id } from '../utils';
|
||||
import { Fetcher, getImdbId, getTmdbId, getTmdbNameAndYear, Id } from '../utils';
|
||||
import { Source, SourceResult } from './Source';
|
||||
|
||||
export class XPrime extends Source {
|
||||
|
|
@ -23,22 +23,25 @@ export class XPrime extends Source {
|
|||
}
|
||||
|
||||
public async handleInternal(ctx: Context, _type: string, id: Id): Promise<SourceResult[]> {
|
||||
const imdbId = await getImdbId(ctx, this.fetcher, id);
|
||||
const tmdbId = await getTmdbId(ctx, this.fetcher, id);
|
||||
|
||||
const [name, year] = await getTmdbNameAndYear(ctx, this.fetcher, tmdbId);
|
||||
|
||||
if (tmdbId.season) {
|
||||
const title = `${name} ${tmdbId.season}x${tmdbId.episode}`;
|
||||
const servers = ['primebox'];
|
||||
|
||||
const urlPrimebox = new URL(`/primebox?name=${encodeURIComponent(name)}&year=${year}&season=${tmdbId.season}&episode=${tmdbId.episode}`, this.baseUrl);
|
||||
return servers.map((server) => {
|
||||
const url = new URL(`/${server}?name=${encodeURIComponent(name)}&year=${year}&id=${tmdbId.id}&imdbId=${imdbId.id}`, this.baseUrl);
|
||||
if (tmdbId.season) {
|
||||
url.searchParams.set('season', `${tmdbId.season}`);
|
||||
url.searchParams.set('episode', `${tmdbId.episode}`);
|
||||
}
|
||||
|
||||
return [{ url: urlPrimebox, meta: { countryCodes: [CountryCode.en], title } }];
|
||||
}
|
||||
const title = tmdbId.season
|
||||
? `${name} ${tmdbId.season}x${tmdbId.episode}`
|
||||
: `${name} (${year})`;
|
||||
|
||||
const title = `${name} (${year})`;
|
||||
|
||||
const urlPrimebox = new URL(`/primebox?name=${encodeURIComponent(name)}&year=${year}`, this.baseUrl);
|
||||
|
||||
return [{ url: urlPrimebox, meta: { countryCodes: [CountryCode.en], title } }];
|
||||
return { url, meta: { countryCodes: [CountryCode.en], title } };
|
||||
});
|
||||
};
|
||||
}
|
||||
|
|
|
|||
1
src/source/__fixtures__/XPrime/https:api.themoviedb.org3movie1061474external_ids
generated
Normal file
1
src/source/__fixtures__/XPrime/https:api.themoviedb.org3movie1061474external_ids
generated
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"id":1061474,"imdb_id":"tt5950044","wikidata_id":"Q116547790","facebook_id":"superman","instagram_id":"superman","twitter_id":"Superman"}
|
||||
1
src/source/__fixtures__/XPrime/https:api.themoviedb.org3tv157239external_ids
generated
Normal file
1
src/source/__fixtures__/XPrime/https:api.themoviedb.org3tv157239external_ids
generated
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"id":157239,"imdb_id":"tt13623632","freebase_mid":null,"freebase_id":null,"tvdb_id":458912,"tvrage_id":null,"wikidata_id":"Q116200246","facebook_id":"alienearthfx","instagram_id":"alienearthfx","twitter_id":null}
|
||||
|
|
@ -9,7 +9,7 @@ exports[`XPrime handle alien: earth 1x1 1`] = `
|
|||
],
|
||||
"title": "Alien: Earth 1x1",
|
||||
},
|
||||
"url": "https://backend.xprime.tv/primebox?name=Alien%3A%20Earth&year=2025&season=1&episode=1",
|
||||
"url": "https://backend.xprime.tv/primebox?name=Alien%3A+Earth&year=2025&id=157239&imdbId=tt13623632&season=1&episode=1",
|
||||
},
|
||||
]
|
||||
`;
|
||||
|
|
@ -23,7 +23,7 @@ exports[`XPrime handle superman 1`] = `
|
|||
],
|
||||
"title": "Superman (2025)",
|
||||
},
|
||||
"url": "https://backend.xprime.tv/primebox?name=Superman&year=2025",
|
||||
"url": "https://backend.xprime.tv/primebox?name=Superman&year=2025&id=1061474&imdbId=tt5950044",
|
||||
},
|
||||
]
|
||||
`;
|
||||
|
|
|
|||
Loading…
Reference in a new issue