fix(source): adapt and enable Eurostreaming (IT) again

This commit is contained in:
WebStreamr 2025-06-14 19:43:34 +00:00
parent 5f34be12a9
commit 6a773f7740
No known key found for this signature in database
15 changed files with 4844 additions and 660 deletions

View file

@ -1,7 +1,7 @@
import express, { NextFunction, Request, Response } from 'express';
import { v4 as uuidv4 } from 'uuid';
import winston from 'winston';
import { CineHDPlus, Frembed, FrenchCloud, Source, KinoGer, MeineCloud, MostraGuarda, Soaper, StreamKiste, VerHdLink, VidSrc } from './source';
import { CineHDPlus, Eurostreaming, Frembed, FrenchCloud, Source, KinoGer, MeineCloud, MostraGuarda, Soaper, StreamKiste, VerHdLink, VidSrc } from './source';
import { createExtractors, ExtractorRegistry } from './extractor';
import { ConfigureController, ManifestController, StreamController } from './controller';
import { envGet, envIsProd, Fetcher, StreamResolver, tmdbFetch, TmdbId } from './utils';
@ -34,7 +34,7 @@ const sources: Source[] = [
new Frembed(fetcher),
new FrenchCloud(fetcher),
// IT
// new Eurostreaming(fetcher), // https://github.com/webstreamr/webstreamr/issues/83
new Eurostreaming(fetcher),
new MostraGuarda(fetcher),
];

View file

@ -1,5 +1,5 @@
import { Eurostreaming } from './Eurostreaming';
import { FetcherMock, ImdbId } from '../utils';
import { FetcherMock, TmdbId } from '../utils';
import { Context } from '../types';
const ctx: Context = { id: 'id', ip: '127.0.0.1', config: { it: 'on' } };
@ -12,12 +12,22 @@ describe('Eurostreaming', () => {
});
test('handles non-existent series gracefully', async () => {
const streams = await handler.handle(ctx, 'series', new ImdbId('tt12345678', 1, 1));
const streams = await handler.handle(ctx, 'series', new TmdbId(61945, 1, 1));
expect(streams).toHaveLength(0);
});
test('handle imdb black mirror s2e4', async () => {
const streams = await handler.handle(ctx, 'series', new ImdbId('tt2085059', 2, 4));
const streams = await handler.handle(ctx, 'series', new TmdbId(42009, 2, 4));
expect(streams).toMatchSnapshot();
});
test('handle lost s1e1', async () => {
const streams = await handler.handle(ctx, 'series', new TmdbId(4607, 1, 1));
expect(streams).toMatchSnapshot();
});
test('last of us s1e1', async () => {
const streams = await handler.handle(ctx, 'series', new TmdbId(100088, 1, 1));
expect(streams).toMatchSnapshot();
});
});

View file

@ -1,7 +1,7 @@
import { ContentType } from 'stremio-addon-sdk';
import * as cheerio from 'cheerio';
import { Source, SourceResult } from './types';
import { Fetcher, getImdbId, Id, ImdbId } from '../utils';
import { Fetcher, getTmdbId, getTmdbTvDetails, Id } from '../utils';
import { Context, CountryCode } from '../types';
export class Eurostreaming implements Source {
@ -20,9 +20,10 @@ export class Eurostreaming implements Source {
}
public async handle(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 tmdbTvDetails = await getTmdbTvDetails(ctx, this.fetcher, tmdbId, 'it');
const seriesPageUrl = await this.fetchSeriesPageUrl(ctx, imdbId);
const seriesPageUrl = await this.fetchSeriesPageUrl(ctx, tmdbTvDetails.name);
if (!seriesPageUrl) {
return [];
}
@ -31,44 +32,42 @@ export class Eurostreaming implements Source {
const $ = cheerio.load(html);
const mainDataLinkElements = $(`[data-num="${imdbId.season}x${imdbId.episode}"][data-link!="#"]`);
const mirrorDataLinkElements = $(`[data-num="${imdbId.season}x${imdbId.episode}"]`)
.siblings('.mirrors')
.children('[data-link!="#"]');
const title = `${tmdbTvDetails.name} ${tmdbId.season}x${tmdbId.episode}`;
const title = $('meta[property="og:title"]').attr('content') as string;
return Promise.all(mainDataLinkElements
.add(mirrorDataLinkElements)
.map((_i, el) => new URL(($(el).attr('data-link') as string).replace(/^(https:)?\/\//, 'https://')))
.toArray()
.filter(url => !url.host.match(/eurostreaming/))
.map(url => ({ countryCode: CountryCode.it, referer: seriesPageUrl, title: `${title.trim()} ${imdbId.season}x${imdbId.episode}`, url })),
return Promise.all(
$(`[data-num="${tmdbId.season}x${tmdbId.episode}"]`)
.siblings('.mirrors')
.children('[data-link!="#"]')
.map((_i, el) => new URL($(el).attr('data-link') as string))
.toArray()
.filter(url => !url.host.match(/eurostreaming/))
.map(url => ({ countryCode: CountryCode.it, title, url })),
);
};
private fetchSeriesPageUrl = async (ctx: Context, imdbId: ImdbId): Promise<URL | undefined> => {
private fetchSeriesPageUrl = async (ctx: Context, keyword: string): Promise<URL | undefined> => {
const postUrl = new URL('https://eurostreaming.my/');
const form = new URLSearchParams();
form.append('do', 'search');
form.append('subaction', 'search');
form.append('story', keyword);
const html = await this.fetcher.textPost(
ctx,
new URL('https://eurostreaming.my/index.php'),
JSON.stringify({
do: 'search',
subaction: 'search',
search_start: 0,
full_search: 0,
result_from: 1,
story: imdbId.id,
}),
postUrl,
form.toString(),
{
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'Referer': postUrl.origin,
},
},
);
const $ = cheerio.load(html);
const url = $('.post-content a[href]:first')
const url = $(`.post-thumb a[href][title="${keyword}"]:first`)
.map((_i, el) => $(el).attr('href'))
.get(0);

View file

@ -0,0 +1 @@
{"adult":false,"backdrop_path":"/uQ4lG7E7mlyKsGvbASftQ6Hu2IX.jpg","created_by":[{"id":1295692,"credit_id":"5e84f03598f1f10016a985c0","name":"Neil Druckmann","original_name":"Neil Druckmann","gender":2,"profile_path":"/bVUsM4aYiHbeSYE1xAw2H5Z1ANU.jpg"},{"id":35796,"credit_id":"5e84f06a3344c600153f6a57","name":"Craig Mazin","original_name":"Craig Mazin","gender":2,"profile_path":"/uEhna6qcMuyU5TP7irpTUZ2ZsZc.jpg"}],"episode_run_time":[],"first_air_date":"2023-01-15","genres":[{"id":18,"name":"Dramma"}],"homepage":"https://www.hbo.com/the-last-of-us","id":100088,"in_production":true,"languages":["en"],"last_air_date":"2025-05-25","last_episode_to_air":{"id":5994273,"name":"Convergenza","overview":"Nel mezzo della battaglia tra le fazioni in guerra di Seattle, la ricerca di Ellie la porta verso uno scontro devastante.","vote_average":6.111,"vote_count":45,"air_date":"2025-05-25","episode_number":7,"episode_type":"finale","production_code":"","runtime":50,"season_number":2,"show_id":100088,"still_path":"/4IZqCZRmBq9LifHFQkYA1QqqE0x.jpg"},"name":"The Last of Us","next_episode_to_air":null,"networks":[{"id":49,"logo_path":"/tuomPhY2UtuPTqqFnKMVHvSb724.png","name":"HBO","origin_country":"US"}],"number_of_episodes":16,"number_of_seasons":2,"origin_country":["US"],"original_language":"en","original_name":"The Last of Us","overview":"Ventanni dopo la distruzione della civiltà moderna Joel, uno scaltro sopravvissuto, viene incaricato di far uscire Ellie, una ragazza di 14 anni, da una zona di quarantena sotto stretta sorveglianza. Un compito allapparenza facile che si trasforma presto in un viaggio brutale e straziante, in cui i due si troveranno a dover attraversare gli Stati Uniti insieme e a dipendere luno dallaltra per sopravvivere.","popularity":156.0795,"poster_path":"/6WlffOd3bszyndGgsKGcUL6k28n.jpg","production_companies":[{"id":125281,"logo_path":"/3hV8pyxzAJgEjiSYVv1WZ0ZYayp.png","name":"PlayStation Productions","origin_country":"US"},{"id":11073,"logo_path":"/aCbASRcI1MI7DXjPbSW9Fcv9uGR.png","name":"Sony Pictures Television","origin_country":"US"},{"id":23217,"logo_path":"/kXBZdQigEf6QiTLzo6TFLAa7jKD.png","name":"Naughty Dog","origin_country":"US"},{"id":119645,"logo_path":null,"name":"Word Games","origin_country":"US"},{"id":115241,"logo_path":null,"name":"The Mighty Mint","origin_country":"US"},{"id":3268,"logo_path":"/tuomPhY2UtuPTqqFnKMVHvSb724.png","name":"HBO","origin_country":"US"}],"production_countries":[{"iso_3166_1":"US","name":"United States of America"}],"seasons":[{"air_date":"2023-01-14","episode_count":9,"id":144593,"name":"Stagione 1","overview":"Da Boston a Salt Lake City, attraverso un mondo devastato da una piaga apocalittica: un uomo e una ragazza viaggiano per tentare di salvare l'umanità.","poster_path":"/bSWFzaboUFxfxBE1pIWlRsp5TvE.jpg","season_number":1,"vote_average":7.7},{"air_date":"2025-04-13","episode_count":7,"id":405376,"name":"Stagione 2","overview":"Cinque anni dopo gli eventi della prima stagione, Joel ed Ellie saranno trascinati in un conflitto fra di loro e contro un mondo persino più pericoloso e imprevedibile di quello che si erano lasciati alle spalle.","poster_path":"/2IXXPbfqGX6HUHD6HX2z56g2ra.jpg","season_number":2,"vote_average":6.4}],"spoken_languages":[{"english_name":"English","iso_639_1":"en","name":"English"}],"status":"Returning Series","tagline":"Quando ti perdi nell'oscurità, cerca la luce","type":"Scripted","vote_average":8.52,"vote_count":6194}

View file

@ -0,0 +1 @@
{"adult":false,"backdrop_path":"/dg3OindVAGZBjlT3xYKqIAdukPL.jpg","created_by":[{"id":211845,"credit_id":"52595fb5760ee346619587b5","name":"Charlie Brooker","original_name":"Charlie Brooker","gender":2,"profile_path":"/dmdLd5I4cnpCZzoITm26NOwu6Rn.jpg"}],"episode_run_time":[],"first_air_date":"2011-12-04","genres":[{"id":10765,"name":"Sci-Fi & Fantasy"},{"id":18,"name":"Dramma"},{"id":9648,"name":"Mistero"}],"homepage":"https://www.netflix.com/title/70264888","id":42009,"in_production":true,"languages":["en"],"last_air_date":"2025-04-10","last_episode_to_air":{"id":6085099,"name":"USS Callister: Infinity","overview":"Nanette Cole e l'equipaggio della USS Callister sono bloccati in un vasto universo virtuale dove lottano per la sopravvivenza contro trenta milioni di giocatori.","vote_average":7.436,"vote_count":39,"air_date":"2025-04-10","episode_number":6,"episode_type":"finale","production_code":"","runtime":91,"season_number":7,"show_id":42009,"still_path":"/6JxoU4B1VMYf2tt8VPpNl8juKwm.jpg"},"name":"Black Mirror","next_episode_to_air":null,"networks":[{"id":26,"logo_path":"/hbifXPpM55B1fL5wPo7t72vzN78.png","name":"Channel 4","origin_country":"GB"},{"id":213,"logo_path":"/wwemzKWzjKYJFfCeiB57q3r4Bcm.png","name":"Netflix","origin_country":""}],"number_of_episodes":32,"number_of_seasons":7,"origin_country":["GB"],"original_language":"en","original_name":"Black Mirror","overview":"Una serie antologica di racconti angosciosi e spiazzanti che rivelano i tratti umani più oscuri, le innovazioni più sensazionali e tanto altro ancora.","popularity":75.9346,"poster_path":"/seN6rRfN0I6n8iDXjlSMk1QjNcq.jpg","production_companies":[{"id":76757,"logo_path":null,"name":"House of Tomorrow","origin_country":"GB"},{"id":18663,"logo_path":"/khiCshsZBdtUUYOr4VLoCtuqCEq.png","name":"Zeppotron","origin_country":"GB"},{"id":133905,"logo_path":"/tEEIQIYHQgPyOBgvoAlqPXfpEPX.png","name":"Broke and Bones","origin_country":"GB"}],"production_countries":[{"iso_3166_1":"GB","name":"United Kingdom"}],"seasons":[{"air_date":"2014-12-16","episode_count":1,"id":76596,"name":"Speciali","overview":"","poster_path":"/zvfw0f35QmfHCPq5qvdHquFjrQC.jpg","season_number":0,"vote_average":0.0},{"air_date":"2011-12-04","episode_count":3,"id":51964,"name":"Stagione 1","overview":"Questa miniserie antologica immagina un futuro fantascientifico dove le persone pedalano per guadagnare \"meriti\" e vengono dotate di un impianto di memoria.","poster_path":"/ztdy1f1cAjwsO0GpVKzNuqZ0PMv.jpg","season_number":1,"vote_average":7.7},{"air_date":"2013-02-11","episode_count":3,"id":51965,"name":"Stagione 2","overview":"Tra i temi della seconda stagione di questa serie antologica spiccano la dipendenza dai social media e le implicazioni dei reality dal vivo.","poster_path":"/y71DeJiAv0dV8H8hiFnuIuyc0Gx.jpg","season_number":2,"vote_average":7.1},{"air_date":"2016-10-21","episode_count":6,"id":63871,"name":"Stagione 3","overview":"Nella terza stagione, un paradiso surreale per gli innamorati, un giovane tormentato da strani messaggi e un'app che esercita un potere inquietante.","poster_path":"/3mKYrlZpFbpFu7CaVxoleO68MFG.jpg","season_number":3,"vote_average":7.7},{"air_date":"2017-12-29","episode_count":6,"id":96276,"name":"Stagione 4","overview":"Una fantasia fuori controllo, oggetti che svelano oscuri segreti e una donna inseguita da un implacabile cacciatore. Tutto questo in nuove storie di tecnologia impazzita.","poster_path":"/rQqrNbXeFsSdL3CF2zBVqymnsHL.jpg","season_number":4,"vote_average":7.3},{"air_date":"2019-06-05","episode_count":3,"id":124320,"name":"Stagione 5","overview":"Un videogioco trasforma una lunga amicizia, una società di social media subisce un sequestro e una ragazza crea un legame con la versione robot del suo idolo pop.","poster_path":"/5xjf5aLeooPYWqH66vB80jMJT9u.jpg","season_number":5,"vote_average":6.5},{"air_date":"2023-06-15","episode_count":5,"id":331809,"name":"Stagione 6","overview":"Cinque nuovi episodi tra antichi misteri, paure del futuro, tecnologia nemica e un'inquietante rappresentazione del mondo.","poster_path":"/kwATNh8JC1IJclnVwk8x7wZb2b4.jpg","season_number":6,"vote_average":6.4},{"air_date":"2025-04-09","episode_count":6,"id":383778,"name":"Stagione 7","overview":"","poster_path":"/aRN9LmPQHe8c1B2eR7MB3tiWFWk.jpg","season_number":7,"vote_average":7.1}],"spoken_languages":[{"english_name":"English","iso_639_1":"en","name":"English"}],"status":"Returning Series","tagline":"","type":"Scripted","vote_average":8.284,"vote_count":5532}

View file

@ -0,0 +1 @@
{"adult":false,"backdrop_path":"/yUOFocKDW7MCC5isx4FK8A68QFp.jpg","created_by":[{"id":15344,"credit_id":"525775af760ee36aaa51895a","name":"J.J. Abrams","original_name":"J.J. Abrams","gender":2,"profile_path":"/uiEVOx3QclxnN76t8PU6v5IcUUP.jpg"},{"id":28974,"credit_id":"525775af760ee36aaa518960","name":"Damon Lindelof","original_name":"Damon Lindelof","gender":2,"profile_path":"/9V75oRAKiI0chdg1wGh1wPqaXsG.jpg"},{"id":1237491,"credit_id":"525775af760ee36aaa518954","name":"Jeffrey Lieber","original_name":"Jeffrey Lieber","gender":2,"profile_path":null}],"episode_run_time":[],"first_air_date":"2004-09-22","genres":[{"id":9648,"name":"Mistero"},{"id":10759,"name":"Action & Adventure"},{"id":18,"name":"Dramma"}],"homepage":"http://abc.go.com/shows/lost","id":4607,"in_production":false,"languages":["en"],"last_air_date":"2010-05-23","last_episode_to_air":{"id":334042,"name":"La fine","overview":"La serie è giunta alla fine. I fronti si dividono mentre Locke attiva il piano che potrebbe finalmente liberarlo dall'isola.","vote_average":8.1,"vote_count":45,"air_date":"2010-05-23","episode_number":17,"episode_type":"finale","production_code":"617","runtime":105,"season_number":6,"show_id":4607,"still_path":"/eNuO8GqCuRb0fAeQDAh2w5AaXTo.jpg"},"name":"Lost","next_episode_to_air":null,"networks":[{"id":2,"logo_path":"/2uy2ZWcplrSObIyt4x0Y9rkG6qO.png","name":"ABC","origin_country":"US"}],"number_of_episodes":118,"number_of_seasons":6,"origin_country":["US"],"original_language":"en","original_name":"Lost","overview":"48 persone sopravvivono ad un tremendo disastro aereo e si ritrovano dispersi su un'isola dell'Oceano Pacifico che sembra completamente disabitata. Ognuno di loro ha una sua storia, ognuno di loro nasconde dei segreti. Ma tutti quanti sono consapevoli che, se vogliono continuare a vivere, debbono collaborare, superare le avversità e le divisioni personali e sperare in un soccorso che potrebbe anche non arrivare mai. Il gruppo, mentre affronta l'inclemenza del tempo e l'ambiente ostile, scopre, con il passare del tempo, che anche l'isola nasconde dei segreti.","popularity":131.2215,"poster_path":"/og6S0aTZU6YUJAbqxeKjCa3kY1E.jpg","production_companies":[{"id":19366,"logo_path":"/vOH8dyQhLK01pg5fYkgiS31jlFm.png","name":"ABC Studios","origin_country":"US"},{"id":11461,"logo_path":"/p9FoEt5shEKRWRKVIlvFaEmRnun.png","name":"Bad Robot","origin_country":"US"},{"id":1558,"logo_path":"/wwaKUcOENHix2jxLfFBfNkCtOEQ.png","name":"Touchstone Television","origin_country":"US"}],"production_countries":[{"iso_3166_1":"US","name":"United States of America"}],"seasons":[{"air_date":"2005-04-27","episode_count":131,"id":14047,"name":"Speciali","overview":"","poster_path":"/w56HDJnHEG5McJ0IdxZ8hJDSUHa.jpg","season_number":0,"vote_average":0.0},{"air_date":"2004-09-22","episode_count":24,"id":14041,"name":"Stagione 1","overview":"","poster_path":"/fq45wLvW48jNN7Jfv3xnui2t3M9.jpg","season_number":1,"vote_average":8.0},{"air_date":"2005-09-21","episode_count":24,"id":14042,"name":"Stagione 2","overview":"","poster_path":"/rjiasmiRvZN4Sboo9HSiwZXVpGT.jpg","season_number":2,"vote_average":8.1},{"air_date":"2006-10-04","episode_count":23,"id":14043,"name":"Stagione 3","overview":"","poster_path":"/26IrbJQ9xGY4F9wgn9k7Z9hAHUU.jpg","season_number":3,"vote_average":8.1},{"air_date":"2008-01-31","episode_count":13,"id":14044,"name":"Stagione 4","overview":"","poster_path":"/9cTBaVJnbWLhry2Q5qz30vl525t.jpg","season_number":4,"vote_average":8.0},{"air_date":"2009-01-21","episode_count":17,"id":14045,"name":"Stagione 5","overview":"","poster_path":"/tOg1nxCSgmJLxBFU35Q7gD4sYLp.jpg","season_number":5,"vote_average":8.4},{"air_date":"2010-02-02","episode_count":17,"id":14046,"name":"Stagione 6","overview":"","poster_path":"/8wlrRJecPW4sMK37nR71zK4hhhP.jpg","season_number":6,"vote_average":8.3}],"spoken_languages":[{"english_name":"English","iso_639_1":"en","name":"English"}],"status":"Ended","tagline":"","type":"Scripted","vote_average":7.945,"vote_count":4560}

View file

@ -0,0 +1 @@
{"adult":false,"backdrop_path":"/uYgcyrinlFfXTFkflzkOjAmtlpP.jpg","created_by":[{"id":49091,"credit_id":"54c38e099251416e6000effe","name":"Uli Brée","original_name":"Uli Brée","gender":2,"profile_path":"/8qHRQed5idzAlfrjc9j4FyNVttq.jpg"}],"episode_run_time":[45],"first_air_date":"2015-01-12","genres":[{"id":35,"name":"Commedia"},{"id":18,"name":"Dramma"}],"homepage":"https://www.daserste.de/unterhaltung/serie/vorstadtweiber/index.html","id":61945,"in_production":false,"languages":["de"],"last_air_date":"2022-03-14","last_episode_to_air":{"id":3596974,"name":"Episodio 11","overview":"","vote_average":0.0,"vote_count":0,"air_date":"2022-03-14","episode_number":11,"episode_type":"finale","production_code":"","runtime":45,"season_number":6,"show_id":61945,"still_path":"/zsumt4d4TfvFB4QuXu2rp7jsaGl.jpg"},"name":"Vorstadtweiber","next_episode_to_air":null,"networks":[{"id":189,"logo_path":"/k1poBlW9HGDnIyZU67BtH3BXQuz.png","name":"ORF 1","origin_country":"AT"},{"id":308,"logo_path":"/nGl2dDGonksWY4fTzPPdkK3oNyq.png","name":"Das Erste","origin_country":"DE"}],"number_of_episodes":61,"number_of_seasons":6,"origin_country":["AT"],"original_language":"de","original_name":"Vorstadtweiber","overview":"","popularity":18.3913,"poster_path":"/um3A1r8A5Cuco7ldJHKtMhU7zU9.jpg","production_companies":[{"id":2279,"logo_path":null,"name":"MR Filmproduktion","origin_country":"AT"},{"id":6856,"logo_path":null,"name":"MR FILM","origin_country":"AT"}],"production_countries":[{"iso_3166_1":"AT","name":"Austria"}],"seasons":[{"air_date":"2015-03-31","episode_count":4,"id":74332,"name":"Speciali","overview":"","poster_path":"/tFF69cFAsIvWMYFp9NbxvQJAORE.jpg","season_number":0,"vote_average":0.0},{"air_date":"2015-01-12","episode_count":10,"id":64717,"name":"Stagione 1","overview":"","poster_path":"/aswimgrUIaeHPH3B8lPH2YYUZxj.jpg","season_number":1,"vote_average":9.0},{"air_date":"2016-03-14","episode_count":10,"id":74313,"name":"Stagione 2","overview":"","poster_path":"/7fVAfhzCXitqVVvvfMDzoNZ9uY1.jpg","season_number":2,"vote_average":9.0},{"air_date":"2018-01-08","episode_count":10,"id":97704,"name":"Stagione 3","overview":"","poster_path":"/W6kdpyhpYK6bU77OD3k3YXPH4k.jpg","season_number":3,"vote_average":9.0},{"air_date":"2019-09-16","episode_count":10,"id":132439,"name":"Stagione 4","overview":"","poster_path":"/hhQeOEgvbzzOBCybHISHQAPAHk6.jpg","season_number":4,"vote_average":8.0},{"air_date":"2021-01-11","episode_count":10,"id":171866,"name":"Stagione 5","overview":"","poster_path":"/5n93sCEdcSMyXc3WEJjJvENdztY.jpg","season_number":5,"vote_average":0.0},{"air_date":"2022-01-10","episode_count":11,"id":236440,"name":"Stagione 6","overview":"","poster_path":"/9GomC3oI57Tf3Y70WRMrpCs1GPg.jpg","season_number":6,"vote_average":0.0}],"spoken_languages":[{"english_name":"German","iso_639_1":"de","name":"Deutsch"}],"status":"Ended","tagline":"","type":"Scripted","vote_average":8.1,"vote_count":13}

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

View file

@ -4,21 +4,43 @@ exports[`Eurostreaming handle imdb black mirror s2e4 1`] = `
[
{
"countryCode": "it",
"referer": "https://eurostreaming.my/stream/284-black-mirror-streaming-streaming.html",
"title": "Black Mirror 2x4",
"url": "https://supervideo.cc/embed-anf0clp2vb6y.html",
"url": "https://supervideo.cc/e/anf0clp2vb6y",
},
{
"countryCode": "it",
"referer": "https://eurostreaming.my/stream/284-black-mirror-streaming-streaming.html",
"title": "Black Mirror 2x4",
"url": "https://supervideo.cc/embed-anf0clp2vb6y.html",
},
{
"countryCode": "it",
"referer": "https://eurostreaming.my/stream/284-black-mirror-streaming-streaming.html",
"title": "Black Mirror 2x4",
"url": "https://dropload.io/embed-978xyyxi3ldq.html",
},
]
`;
exports[`Eurostreaming handle lost s1e1 1`] = `
[
{
"countryCode": "it",
"title": "Lost 1x1",
"url": "https://supervideo.cc/e/lgslt2lst4jv",
},
{
"countryCode": "it",
"title": "Lost 1x1",
"url": "https://dropload.io/embed-vabynwo8glxz.html",
},
]
`;
exports[`Eurostreaming last of us s1e1 1`] = `
[
{
"countryCode": "it",
"title": "The Last of Us 1x1",
"url": "https://supervideo.cc/e/ic1mmvrh5xv6",
},
{
"countryCode": "it",
"title": "The Last of Us 1x1",
"url": "https://dropload.io/embed-uyzfrh62n31l.html",
},
]
`;