Update StreamWish.ts
This commit is contained in:
parent
4040fe935d
commit
341bd639b9
1 changed files with 41 additions and 110 deletions
|
|
@ -9,110 +9,36 @@ export class StreamWish extends Extractor {
|
|||
public override viaMediaFlowProxy = true;
|
||||
|
||||
private readonly domains = [
|
||||
'streamwish.com',
|
||||
'streamwish.to',
|
||||
'ajmidyad.sbs',
|
||||
'khadhnayad.sbs',
|
||||
'yadmalik.sbs',
|
||||
'hayaatieadhab.sbs',
|
||||
'kharabnahs.sbs',
|
||||
'atabkhha.sbs',
|
||||
'atabknha.sbs',
|
||||
'atabknhk.sbs',
|
||||
'atabknhs.sbs',
|
||||
'abkrzkr.sbs',
|
||||
'abkrzkz.sbs',
|
||||
'wishembed.pro',
|
||||
'mwish.pro',
|
||||
'strmwis.xyz',
|
||||
'awish.pro',
|
||||
'dwish.pro',
|
||||
'vidmoviesb.xyz',
|
||||
'embedwish.com',
|
||||
'cilootv.store',
|
||||
'uqloads.xyz',
|
||||
'tuktukcinema.store',
|
||||
'doodporn.xyz',
|
||||
'ankrzkz.sbs',
|
||||
'volvovideo.top',
|
||||
'streamwish.site',
|
||||
'wishfast.top',
|
||||
'ankrznm.sbs',
|
||||
'sfastwish.com',
|
||||
'eghjrutf.sbs',
|
||||
'eghzrutw.sbs',
|
||||
'guxhag.com',
|
||||
'playembed.online',
|
||||
'egsyxurh.sbs',
|
||||
'egtpgrvh.sbs',
|
||||
'flaswish.com',
|
||||
'obeywish.com',
|
||||
'cdnwish.com',
|
||||
'javsw.me',
|
||||
'cinemathek.online',
|
||||
'trgsfjll.sbs',
|
||||
'fsdcmo.sbs',
|
||||
'hailindihg.com',
|
||||
'anime4low.sbs',
|
||||
'mohahhda.site',
|
||||
'ma2d.store',
|
||||
'dancima.shop',
|
||||
'swhoi.com',
|
||||
'aiavh.com',
|
||||
'gsfqzmqu.sbs',
|
||||
'jodwish.com',
|
||||
'swdyu.com',
|
||||
'strwish.com',
|
||||
'asnwish.com',
|
||||
'kravaxxa.com',
|
||||
'wishonly.site',
|
||||
'playerwish.com',
|
||||
'katomen.store',
|
||||
'hlswish.com',
|
||||
'streamwish.fun',
|
||||
'swishsrv.com',
|
||||
'iplayerhls.com',
|
||||
'hlsflast.com',
|
||||
'4yftwvrdz7.sbs',
|
||||
'ghbrisk.com',
|
||||
'hgbazooka.com',
|
||||
'eb8gfmjn71.sbs',
|
||||
'cybervynx.com',
|
||||
'edbrdl7pab.sbs',
|
||||
'stbhg.click',
|
||||
'dhcplay.com',
|
||||
'strwish.xyz',
|
||||
'gradehgplus.com',
|
||||
'tryzendm.com',
|
||||
'hglink.to',
|
||||
'dumbalag.com',
|
||||
'haxloppd.com',
|
||||
'davioad.com',
|
||||
'uasopt.com',
|
||||
'streamwish.com', 'streamwish.to', 'ajmidyad.sbs', 'khadhnayad.sbs', 'yadmalik.sbs',
|
||||
'hayaatieadhab.sbs', 'kharabnahs.sbs', 'atabkhha.sbs', 'atabknha.sbs', 'atabknhk.sbs',
|
||||
'atabknhs.sbs', 'abkrzkr.sbs', 'abkrzkz.sbs', 'wishembed.pro', 'mwish.pro', 'strmwis.xyz',
|
||||
'awish.pro', 'dwish.pro', 'vidmoviesb.xyz', 'embedwish.com', 'cilootv.store', 'uqloads.xyz',
|
||||
'tuktukcinema.store', 'doodporn.xyz', 'ankrzkz.sbs', 'volvovideo.top', 'streamwish.site',
|
||||
'wishfast.top', 'ankrznm.sbs', 'sfastwish.com', 'eghjrutf.sbs', 'eghzrutw.sbs', 'guxhag.com',
|
||||
'playembed.online', 'egsyxurh.sbs', 'egtpgrvh.sbs', 'flaswish.com', 'obeywish.com',
|
||||
'cdnwish.com', 'javsw.me', 'cinemathek.online', 'trgsfjll.sbs', 'fsdcmo.sbs', 'hailindihg.com',
|
||||
'anime4low.sbs', 'mohahhda.site', 'ma2d.store', 'dancima.shop', 'swhoi.com', 'aiavh.com',
|
||||
'gsfqzmqu.sbs', 'jodwish.com', 'swdyu.com', 'strwish.com', 'asnwish.com', 'kravaxxa.com',
|
||||
'wishonly.site', 'playerwish.com', 'katomen.store', 'hlswish.com', 'streamwish.fun',
|
||||
'swishsrv.com', 'iplayerhls.com', 'hlsflast.com', '4yftwvrdz7.sbs', 'ghbrisk.com',
|
||||
'hgbazooka.com', 'eb8gfmjn71.sbs', 'cybervynx.com', 'edbrdl7pab.sbs', 'stbhg.click',
|
||||
'dhcplay.com', 'strwish.xyz', 'gradehgplus.com', 'tryzendm.com', 'hglink.to', 'dumbalag.com',
|
||||
'haxloppd.com', 'davioad.com', 'uasopt.com'
|
||||
];
|
||||
|
||||
private readonly dmcaHosts = [
|
||||
'hgplaycdn.com',
|
||||
'habetar.com',
|
||||
'yuguaab.com',
|
||||
'guxhag.com',
|
||||
'auvexiug.com',
|
||||
'xenolyzb.com',
|
||||
'hgplaycdn.com', 'habetar.com', 'yuguaab.com',
|
||||
'guxhag.com', 'auvexiug.com', 'xenolyzb.com'
|
||||
];
|
||||
|
||||
private readonly ruleHosts = [
|
||||
'dhcplay.com',
|
||||
'hglink.to',
|
||||
'test.hglink.to',
|
||||
'wish-redirect.aiavh.com',
|
||||
'dhcplay.com', 'hglink.to', 'test.hglink.to',
|
||||
'wish-redirect.aiavh.com'
|
||||
];
|
||||
|
||||
private readonly mainHosts = [
|
||||
'kravaxxa.com',
|
||||
'davioad.com',
|
||||
'haxloppd.com',
|
||||
'tryzendm.com',
|
||||
'dumbalag.com',
|
||||
'kravaxxa.com', 'davioad.com', 'haxloppd.com',
|
||||
'tryzendm.com', 'dumbalag.com'
|
||||
];
|
||||
|
||||
public supports(_ctx: Context, url: URL): boolean {
|
||||
|
|
@ -120,16 +46,22 @@ export class StreamWish extends Extractor {
|
|||
}
|
||||
|
||||
public override normalize(url: URL): URL {
|
||||
return new URL(
|
||||
url.href
|
||||
.replace('/f/', '/e/')
|
||||
.replace('/d/', '/e/'),
|
||||
);
|
||||
return new URL(url.href.replace('/f/', '/e/').replace('/d/', '/e/'));
|
||||
}
|
||||
|
||||
private rand<T>(arr: T[]): T {
|
||||
if (arr.length === 0) {
|
||||
throw new Error('rand(): empty array');
|
||||
}
|
||||
|
||||
const index = Math.floor(Math.random() * arr.length);
|
||||
return arr[index];
|
||||
const value = arr[index];
|
||||
|
||||
if (value === undefined) {
|
||||
throw new Error('rand(): unexpected undefined');
|
||||
}
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
private getMediaId(path: string): string {
|
||||
|
|
@ -146,10 +78,9 @@ export class StreamWish extends Extractor {
|
|||
private rewrite(url: URL): URL {
|
||||
const mediaId = this.getMediaId(url.pathname);
|
||||
|
||||
const finalHost
|
||||
= this.ruleHosts.includes(url.host)
|
||||
? this.rand(this.mainHosts)
|
||||
: this.rand(this.dmcaHosts);
|
||||
const finalHost = this.ruleHosts.includes(url.host)
|
||||
? this.rand(this.mainHosts)
|
||||
: this.rand(this.dmcaHosts);
|
||||
|
||||
return new URL(`https://${finalHost}/e/${mediaId}`);
|
||||
}
|
||||
|
|
@ -158,13 +89,13 @@ export class StreamWish extends Extractor {
|
|||
ctx: Context,
|
||||
url: URL,
|
||||
meta: Meta,
|
||||
originalUrl?: URL,
|
||||
originalUrl?: URL
|
||||
): Promise<UrlResult[]> {
|
||||
const normalized = this.normalize(url);
|
||||
const rewritten = this.rewrite(normalized);
|
||||
|
||||
const headers = {
|
||||
Referer: meta.referer ?? originalUrl?.href ?? rewritten.href,
|
||||
Referer: meta.referer ?? originalUrl?.href ?? rewritten.href
|
||||
};
|
||||
|
||||
const proxyUrl = await buildMediaFlowProxyExtractorStreamUrl(
|
||||
|
|
@ -172,7 +103,7 @@ export class StreamWish extends Extractor {
|
|||
this.fetcher,
|
||||
this.id,
|
||||
rewritten,
|
||||
headers,
|
||||
headers
|
||||
);
|
||||
|
||||
return [
|
||||
|
|
@ -183,8 +114,8 @@ export class StreamWish extends Extractor {
|
|||
sourceId: this.id,
|
||||
ttl: this.ttl,
|
||||
requestHeaders: headers,
|
||||
meta,
|
||||
},
|
||||
meta
|
||||
}
|
||||
];
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue