revert: "feat(extractor): implement UQLoad"
This reverts commit fb61d39225.
UQLoad is IP-locked.
This commit is contained in:
parent
6a166b29a9
commit
57799a777a
5 changed files with 0 additions and 320 deletions
|
|
@ -6,7 +6,6 @@ import { Fetcher } from '../utils';
|
|||
import { DoodStream } from './DoodStream';
|
||||
import { Dropload } from './Dropload';
|
||||
import { SuperVideo } from './SuperVideo';
|
||||
import { UQLoad } from './UQLoad';
|
||||
|
||||
export class ExtractorRegistry {
|
||||
private readonly logger: winston.Logger;
|
||||
|
|
@ -19,7 +18,6 @@ export class ExtractorRegistry {
|
|||
new DoodStream(fetcher),
|
||||
new Dropload(fetcher),
|
||||
new SuperVideo(fetcher),
|
||||
new UQLoad(fetcher),
|
||||
];
|
||||
this.urlResultCache = new TTLCache({ max: 1024 });
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,37 +0,0 @@
|
|||
import { Extractor } from './types';
|
||||
import { Fetcher } from '../utils';
|
||||
import { Context } from '../types';
|
||||
|
||||
export class UQLoad implements Extractor {
|
||||
readonly id = 'uqload';
|
||||
|
||||
readonly label = 'UQLoad';
|
||||
|
||||
readonly ttl = 900000; // 15m
|
||||
|
||||
private readonly fetcher: Fetcher;
|
||||
|
||||
constructor(fetcher: Fetcher) {
|
||||
this.fetcher = fetcher;
|
||||
}
|
||||
|
||||
readonly supports = (url: URL): boolean => null !== url.host.match(/uqload/);
|
||||
|
||||
readonly extract = async (ctx: Context, url: URL, countryCode: string) => {
|
||||
const html = await this.fetcher.text(ctx, url);
|
||||
|
||||
const sourceMatch = html.match(/sources: ?\[["'](.*?)["']/) as string[];
|
||||
|
||||
return {
|
||||
url: new URL(sourceMatch[1] as string),
|
||||
label: this.label,
|
||||
sourceId: `${this.id}_${countryCode.toLowerCase()}`,
|
||||
height: 0,
|
||||
bytes: 0,
|
||||
countryCode,
|
||||
requestHeaders: {
|
||||
Referer: `${url.protocol}//${url.host.split('.').slice().slice(-2).join('.')}`,
|
||||
},
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -41,22 +41,4 @@ describe('Frembed', () => {
|
|||
});
|
||||
expect(streams[0]?.url.href).toMatch(/^https:\/\/.*?token.*?expiry/);
|
||||
});
|
||||
|
||||
test('handle imdb black mirror s7e1', async () => {
|
||||
const streams = (await handler.handle(ctx, 'series', 'tt2085059:7:1')).filter(stream => stream !== undefined);
|
||||
|
||||
expect(streams).toHaveLength(1);
|
||||
expect(streams[0]).toStrictEqual({
|
||||
url: expect.any(URL),
|
||||
label: 'UQLoad',
|
||||
sourceId: 'uqload_fr',
|
||||
height: 0,
|
||||
bytes: 0,
|
||||
countryCode: 'fr',
|
||||
requestHeaders: {
|
||||
Referer: 'https://uqload.net',
|
||||
},
|
||||
});
|
||||
expect(streams[0]?.url.href).toMatch(/^https:\/\/.*?uqload\.net\/.*?\.mp4/);
|
||||
});
|
||||
});
|
||||
|
|
|
|||
|
|
@ -1 +0,0 @@
|
|||
{"id":96183,"tmdb":"42009","title":"Black Mirror","sa":7,"epi":1,"link":null,"imdb":"","year":2025,"version":"VF","link_vostfr":null,"link1":null,"link2":"https://netu.frembed.art/f/hF3h2vKWJHkJ","link3":"https://johnalwayssame.com/e/5uxuyrmybm4w","link4":"https://uqload.net/embed-zbcuhvyfh3ni.html","link5":null,"link6":null,"link7":null,"link1vostfr":null,"link2vostfr":null,"link3vostfr":null,"link4vostfr":null,"link5vostfr":null,"link6vostfr":null,"link7vostfr":null,"link1vo":null,"link2vo":null,"link3vo":null,"link4vo":null,"link5vo":null,"link6vo":null,"link7vo":null,"date_creation":"2025-04-11T23:32:58.000Z","update_date":"2025-04-25T22:27:04.000Z","views":11,"tatavid":"https://tatavid.com/embed-2aq5umwg3n7r.html","backdropImage":"/dg3OindVAGZBjlT3xYKqIAdukPL.jpg","posterImage":"/seN6rRfN0I6n8iDXjlSMk1QjNcq.jpg","prevEpisode":{"sa":6,"epi":5,"url":"/series?id=42009&sa=6&epi=5"},"nextEpisode":{"sa":7,"epi":2,"url":"/series?id=42009&sa=7&epi=2"}}
|
||||
File diff suppressed because one or more lines are too long
Loading…
Reference in a new issue