fix(source): exclude ad videos in HDHub4u
This commit is contained in:
parent
bd2dec0392
commit
65191cfc8d
14 changed files with 7903 additions and 1 deletions
|
|
@ -16,6 +16,11 @@ describe('HDHub4u', () => {
|
|||
expect(streams).toMatchSnapshot();
|
||||
});
|
||||
|
||||
test('handle the bone temple 2026', async () => {
|
||||
const streams = await source.handle(ctx, 'movie', new ImdbId('tt32141377', undefined, undefined));
|
||||
expect(streams).toMatchSnapshot();
|
||||
});
|
||||
|
||||
test('handle stranger things s05e01', async () => {
|
||||
const streams = await source.handle(ctx, 'series', new ImdbId('tt4574334', 5, 1));
|
||||
expect(streams).toMatchSnapshot();
|
||||
|
|
|
|||
|
|
@ -95,7 +95,7 @@ export class HDHub4u extends Source {
|
|||
private readonly extractHubDriveUrlResults = (html: string, meta: Meta): SourceResult[] => {
|
||||
const $ = cheerio.load(html);
|
||||
|
||||
return $('a[href*="hubdrive"]')
|
||||
return $('a[href*="hubdrive"]:not(:contains("⚡"))')
|
||||
.map((_i, el) => ({ url: new URL($(el).attr('href') as string), meta }))
|
||||
.toArray();
|
||||
};
|
||||
|
|
|
|||
|
|
@ -0,0 +1,20 @@
|
|||
<html>
|
||||
<head>
|
||||
<title>Redirecting ...</title>
|
||||
<meta name="referrer" content="no-referrer">
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<meta name="author" content="s-b0t">
|
||||
<meta name="googlebot" content="noindex,nofollow">
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0">
|
||||
<style>#container{width:100%;aspect-ratio:100 / 29}@media only screen and (min-width: 992px){img{height:80%!important;width:50%!important}}@media only screen and (min-width: 1200px){img{height:80%!important;width:50%!important}}.relative{position:relative}.bottom-left{position:absolute}.PurpleTxt{color:#7e41ff!important;font-weight:600;margin-left:.5ch;margin-right:.5ch}</style>
|
||||
</head>
|
||||
<body>
|
||||
Redirecting ..
|
||||
<script type="text/javascript">
|
||||
function stck(e,t,i){let n="";if(i){let o=new Date;o.setTime(o.getTime()+6e4*i),n="; expires="+o.toUTCString()}document.cookie=`${e}=${t}; path=/; SameSite=None; Secure${n}`}
|
||||
function s(e,t,i){let n=new Date,m={value:t,expiry:n.getTime()+i};window.localStorage.setItem(e,JSON.stringify(m));stck('xla',"s4t",4);}s('o','Y214WE0xWjNZbXRhVUdwMmIxQldObFo2ZFRCeFZVOXRRbmxxYVV0UU9YZHdZWGxxY1ZRNVkyOWhRV05OTW5Vd2NHdzFiVzVMUlhsTFVEbGliekl4ZVc5VVUyaE5WRWxzUzFBNGRsbFFWMmxXZDJKMlRFaDFSbHBVUVZaSFIwMWFja2Q1YVVwS01UUndWRmRuY1ZWaldtOUpWMkpLZUZvMWJsUkJaMGQ2T1hWS1UyTm1URE40TkhKU01WSklSMU5DY25oSU9WWmhNRDA9',180*1000);setTimeout(()=>window.location.href='https://cryptoinsights.site/homelander/', 2000);
|
||||
</script>
|
||||
|
||||
|
||||
</body></html>
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
<html>
|
||||
<head>
|
||||
<title>Redirecting ...</title>
|
||||
<meta name="referrer" content="no-referrer">
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<meta name="author" content="s-b0t">
|
||||
<meta name="googlebot" content="noindex,nofollow">
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0">
|
||||
<style>#container{width:100%;aspect-ratio:100 / 29}@media only screen and (min-width: 992px){img{height:80%!important;width:50%!important}}@media only screen and (min-width: 1200px){img{height:80%!important;width:50%!important}}.relative{position:relative}.bottom-left{position:absolute}.PurpleTxt{color:#7e41ff!important;font-weight:600;margin-left:.5ch;margin-right:.5ch}</style>
|
||||
</head>
|
||||
<body>
|
||||
Redirecting ..
|
||||
<script type="text/javascript">
|
||||
function stck(e,t,i){let n="";if(i){let o=new Date;o.setTime(o.getTime()+6e4*i),n="; expires="+o.toUTCString()}document.cookie=`${e}=${t}; path=/; SameSite=None; Secure${n}`}
|
||||
function s(e,t,i){let n=new Date,m={value:t,expiry:n.getTime()+i};window.localStorage.setItem(e,JSON.stringify(m));stck('xla',"s4t",4);}s('o','Y214WE0xWjNZbXRhVUdwMmIxQldObFo2ZFRCeFZVOXRRbmxxYVV0UU9YZHdZWGxxY1ZRNVkyOWhRV05OTW5Vd2NHdzFiVzVMUlhsTFVEbGliekl4ZVc5VVUyaE5WRWxzUzFBNGRsbFFWMmxXZDJKMlRFaDFSbHBVUVZaSFIwMWFja2Q1YVVwS01UUndWRmRuY1ZWaldtOUpWMkpLZUZvMWJsUkJaMGQ2T1hWS1UyTm1URE40TkhKU01WSklSMU5DY25oU09WWmhNRDA9',180*1000);setTimeout(()=>window.location.href='https://cryptoinsights.site/homelander/', 2000);
|
||||
</script>
|
||||
|
||||
|
||||
</body></html>
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
<html>
|
||||
<head>
|
||||
<title>Redirecting ...</title>
|
||||
<meta name="referrer" content="no-referrer">
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<meta name="author" content="s-b0t">
|
||||
<meta name="googlebot" content="noindex,nofollow">
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0">
|
||||
<style>#container{width:100%;aspect-ratio:100 / 29}@media only screen and (min-width: 992px){img{height:80%!important;width:50%!important}}@media only screen and (min-width: 1200px){img{height:80%!important;width:50%!important}}.relative{position:relative}.bottom-left{position:absolute}.PurpleTxt{color:#7e41ff!important;font-weight:600;margin-left:.5ch;margin-right:.5ch}</style>
|
||||
</head>
|
||||
<body>
|
||||
Redirecting ..
|
||||
<script type="text/javascript">
|
||||
function stck(e,t,i){let n="";if(i){let o=new Date;o.setTime(o.getTime()+6e4*i),n="; expires="+o.toUTCString()}document.cookie=`${e}=${t}; path=/; SameSite=None; Secure${n}`}
|
||||
function s(e,t,i){let n=new Date,m={value:t,expiry:n.getTime()+i};window.localStorage.setItem(e,JSON.stringify(m));stck('xla',"s4t",4);}s('o','Y214WE0xWjNZbXRhVUdwMmIxQldObFo2ZFRCeFZVOXRRbmxxYVV0UU9YZHdZWGxxY1ZRNVkyOWhRV05OTW5Vd2NHdzFiVzVMUlhsTFVEbGliekl4ZVc5VVUyaE5WRWxzUzFBNGRsbFFWMmxXZDJKMlRFaDFSbHBVUVZaSFIwMWFja2Q1YVVwS01UUndWRmRuY1ZWaldtOUpWMkpLZUZvMWJsUkJaMGQ2T1hWS1UyTm1URE40TkhKU01WSkhTM1ZCU1ZSbU9WWmhNRDA9',180*1000);setTimeout(()=>window.location.href='https://cryptoinsights.site/homelander/', 2000);
|
||||
</script>
|
||||
|
||||
|
||||
</body></html>
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
<html>
|
||||
<head>
|
||||
<title>Redirecting ...</title>
|
||||
<meta name="referrer" content="no-referrer">
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<meta name="author" content="s-b0t">
|
||||
<meta name="googlebot" content="noindex,nofollow">
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0">
|
||||
<style>#container{width:100%;aspect-ratio:100 / 29}@media only screen and (min-width: 992px){img{height:80%!important;width:50%!important}}@media only screen and (min-width: 1200px){img{height:80%!important;width:50%!important}}.relative{position:relative}.bottom-left{position:absolute}.PurpleTxt{color:#7e41ff!important;font-weight:600;margin-left:.5ch;margin-right:.5ch}</style>
|
||||
</head>
|
||||
<body>
|
||||
Redirecting ..
|
||||
<script type="text/javascript">
|
||||
function stck(e,t,i){let n="";if(i){let o=new Date;o.setTime(o.getTime()+6e4*i),n="; expires="+o.toUTCString()}document.cookie=`${e}=${t}; path=/; SameSite=None; Secure${n}`}
|
||||
function s(e,t,i){let n=new Date,m={value:t,expiry:n.getTime()+i};window.localStorage.setItem(e,JSON.stringify(m));stck('xla',"s4t",4);}s('o','Y214WE0xWjNZbXRhVUdwMmIxQldObFo2ZFRCeFZVOXRRbmxxYVV0UU9YZHdZWGxxY1ZRNVkyOWhRV05OTW5Vd2NHdzFiVzVMUlhsTFVEbGliekl4ZVc5VVUyaE5WRWxzUzFBNGRsbFFWMmxXZDJKMlRFaDFSbHBVUVZaSFIwMWFja2Q1YVVwS01UUndWRmRuY1ZWaldtOUpWMkpLZUZvMWJsUkJaMGQ2T1hWS1UyTm1URE40TkhKU01WSkhTM1ZCU1ZSd09WWmhNRDA9',180*1000);setTimeout(()=>window.location.href='https://cryptoinsights.site/homelander/', 2000);
|
||||
</script>
|
||||
|
||||
|
||||
</body></html>
|
||||
363
src/source/__fixtures__/HDHub4u/https:hblinks.dadarchives103118
generated
Normal file
363
src/source/__fixtures__/HDHub4u/https:hblinks.dadarchives103118
generated
Normal file
File diff suppressed because one or more lines are too long
363
src/source/__fixtures__/HDHub4u/https:hblinks.dadarchives103119
generated
Normal file
363
src/source/__fixtures__/HDHub4u/https:hblinks.dadarchives103119
generated
Normal file
File diff suppressed because one or more lines are too long
365
src/source/__fixtures__/HDHub4u/https:hblinks.dadarchives104570
generated
Normal file
365
src/source/__fixtures__/HDHub4u/https:hblinks.dadarchives104570
generated
Normal file
File diff suppressed because one or more lines are too long
365
src/source/__fixtures__/HDHub4u/https:hblinks.dadarchives104571
generated
Normal file
365
src/source/__fixtures__/HDHub4u/https:hblinks.dadarchives104571
generated
Normal file
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
|
|
@ -0,0 +1 @@
|
|||
{"facet_counts":[],"found":2,"hits":[{"document":{"category":["300MB Movies","Dual Audio","HD Movies","Hindi Dubbed","HollyWood","Horror","Sci-Fi","Thriller"],"director":["Nia DaCosta"],"id":"183681","imdb_id":"tt32141377","permalink":"/28-years-later-the-bone-temple-2026-hindi-webrip-full-movie/","post_date":"February 17, 2026","post_thumbnail":"https://image.tmdb.org/t/p/w500/fVlbHQvKgZHF1uEIYePZqpfDqaJ.jpg","post_title":"28 Years Later: The Bone Temple (2026) WEB-DL [Hindi (DD5.1) & English] 4K 1080p 720p & 480p Dual Audio [x264/10Bit-HEVC] | Full Movie","post_type":"post","sort_by_date":1771333131,"stars":["Ralph Fiennes","Jack O'Connell","Alfie Williams"]},"highlight":{"imdb_id":{"matched_tokens":["tt32141377"],"snippet":"<mark>tt32141377</mark>"}},"highlights":[{"field":"imdb_id","matched_tokens":["tt32141377"],"snippet":"<mark>tt32141377</mark>"}],"text_match":578730123365711993,"text_match_info":{"best_field_score":"1108091339008","best_field_weight":15,"fields_matched":1,"num_tokens_dropped":0,"score":"578730123365711993","tokens_matched":1,"typo_prefix_score":0}},{"document":{"category":["HollyWood","Horror","Sci-Fi","Thriller"],"director":["Nia DaCosta"],"id":"182051","imdb_id":"tt32141377","permalink":"/28-years-later-the-bone-temple-2026-hdtc-hindi-full-movie/","post_date":"January 19, 2026","post_thumbnail":"https://image.tmdb.org/t/p/w400/kK1BGkG3KAvWB0WMV1DfOx9yTMZ.jpg","post_title":"28 Years Later: The Bone Temple (2026) HDTC [Hindi (Clean)] 1080p 720p & 480p [x264] | Full Movie","post_type":"post","sort_by_date":1768822585,"stars":["Ralph Fiennes","Jack O'Connell","Alfie Williams"]},"highlight":{"imdb_id":{"matched_tokens":["tt32141377"],"snippet":"<mark>tt32141377</mark>"}},"highlights":[{"field":"imdb_id","matched_tokens":["tt32141377"],"snippet":"<mark>tt32141377</mark>"}],"text_match":578730123365711993,"text_match_info":{"best_field_score":"1108091339008","best_field_weight":15,"fields_matched":1,"num_tokens_dropped":0,"score":"578730123365711993","tokens_matched":1,"typo_prefix_score":0}}],"out_of":13464,"page":1,"request_params":{"collection_name":"post","first_q":"tt32141377","per_page":10,"q":"tt32141377"},"search_cutoff":false,"search_time_ms":0}
|
||||
|
|
@ -206,3 +206,99 @@ exports[`HDHub4u handle superman 2025 1`] = `
|
|||
},
|
||||
]
|
||||
`;
|
||||
|
||||
exports[`HDHub4u handle the bone temple 2026 1`] = `
|
||||
[
|
||||
{
|
||||
"meta": {
|
||||
"countryCodes": [
|
||||
"multi",
|
||||
"en",
|
||||
"hi",
|
||||
],
|
||||
},
|
||||
"url": "https://hubdrive.space/file/2165806385",
|
||||
},
|
||||
{
|
||||
"meta": {
|
||||
"countryCodes": [
|
||||
"multi",
|
||||
"en",
|
||||
"hi",
|
||||
],
|
||||
},
|
||||
"url": "https://hubdrive.space/file/2777734670",
|
||||
},
|
||||
{
|
||||
"meta": {
|
||||
"countryCodes": [
|
||||
"multi",
|
||||
"en",
|
||||
"hi",
|
||||
],
|
||||
},
|
||||
"url": "https://hubdrive.space/file/6051118182",
|
||||
},
|
||||
{
|
||||
"meta": {
|
||||
"countryCodes": [
|
||||
"multi",
|
||||
"en",
|
||||
"hi",
|
||||
],
|
||||
},
|
||||
"url": "https://hubdrive.space/file/13783802255",
|
||||
},
|
||||
{
|
||||
"meta": {
|
||||
"countryCodes": [
|
||||
"multi",
|
||||
"en",
|
||||
"hi",
|
||||
],
|
||||
"referer": "https://hblinks.dad/archives/104571",
|
||||
},
|
||||
"url": "https://hubdrive.space/file/2026023433",
|
||||
},
|
||||
{
|
||||
"meta": {
|
||||
"countryCodes": [
|
||||
"multi",
|
||||
"en",
|
||||
"hi",
|
||||
],
|
||||
"referer": "https://hblinks.dad/archives/104570",
|
||||
},
|
||||
"url": "https://hubdrive.space/file/4232622187",
|
||||
},
|
||||
{
|
||||
"meta": {
|
||||
"countryCodes": [
|
||||
"multi",
|
||||
"hi",
|
||||
],
|
||||
},
|
||||
"url": "https://hubdrive.space/file/2298599706",
|
||||
},
|
||||
{
|
||||
"meta": {
|
||||
"countryCodes": [
|
||||
"multi",
|
||||
"hi",
|
||||
],
|
||||
"referer": "https://hblinks.dad/archives/103118",
|
||||
},
|
||||
"url": "https://hubdrive.space/file/2291074311",
|
||||
},
|
||||
{
|
||||
"meta": {
|
||||
"countryCodes": [
|
||||
"multi",
|
||||
"hi",
|
||||
],
|
||||
"referer": "https://hblinks.dad/archives/103119",
|
||||
},
|
||||
"url": "https://hubdrive.space/file/2244066767",
|
||||
},
|
||||
]
|
||||
`;
|
||||
|
|
|
|||
Loading…
Reference in a new issue