mirror of
https://github.com/movie-web/providers.git
synced 2025-09-13 17:43:25 +00:00
Streamtape scraper
This commit is contained in:
@@ -23,6 +23,7 @@ import { fileMoonScraper } from './embeds/filemoon';
|
|||||||
import { ridooScraper } from './embeds/ridoo';
|
import { ridooScraper } from './embeds/ridoo';
|
||||||
import { smashyStreamDScraper } from './embeds/smashystream/dued';
|
import { smashyStreamDScraper } from './embeds/smashystream/dued';
|
||||||
import { smashyStreamFScraper } from './embeds/smashystream/video1';
|
import { smashyStreamFScraper } from './embeds/smashystream/video1';
|
||||||
|
import { streamtapeScraper } from './embeds/streamtape';
|
||||||
import { streamvidScraper } from './embeds/streamvid';
|
import { streamvidScraper } from './embeds/streamvid';
|
||||||
import { vidCloudScraper } from './embeds/vidcloud';
|
import { vidCloudScraper } from './embeds/vidcloud';
|
||||||
import { vidplayScraper } from './embeds/vidplay';
|
import { vidplayScraper } from './embeds/vidplay';
|
||||||
@@ -80,5 +81,6 @@ export function gatherAllEmbeds(): Array<Embed> {
|
|||||||
doodScraper,
|
doodScraper,
|
||||||
streamvidScraper,
|
streamvidScraper,
|
||||||
voeScraper,
|
voeScraper,
|
||||||
|
streamtapeScraper,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
36
src/providers/embeds/streamtape.ts
Normal file
36
src/providers/embeds/streamtape.ts
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
import { flags } from '@/entrypoint/utils/targets';
|
||||||
|
import { makeEmbed } from '@/providers/base';
|
||||||
|
|
||||||
|
export const streamtapeScraper = makeEmbed({
|
||||||
|
id: 'streamtape',
|
||||||
|
name: 'streamtape',
|
||||||
|
rank: 160,
|
||||||
|
async scrape(ctx) {
|
||||||
|
const embed = await ctx.proxiedFetcher<string>(ctx.url);
|
||||||
|
|
||||||
|
const match = embed.match(/robotlink'\).innerHTML = (.*)'/);
|
||||||
|
if (!match) throw new Error('No match found');
|
||||||
|
|
||||||
|
const [fh, sh] = match?.[1]?.split("+ ('") ?? [];
|
||||||
|
if (!fh || !sh) throw new Error('No match found');
|
||||||
|
|
||||||
|
const url = `https:${fh?.replace(/'/g, '').trim()}${sh?.substring(3).trim()}`;
|
||||||
|
|
||||||
|
return {
|
||||||
|
stream: [
|
||||||
|
{
|
||||||
|
id: 'primary',
|
||||||
|
type: 'file',
|
||||||
|
flags: [flags.CORS_ALLOWED, flags.IP_LOCKED],
|
||||||
|
captions: [],
|
||||||
|
qualities: {
|
||||||
|
'1080': {
|
||||||
|
type: 'mp4',
|
||||||
|
url,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
||||||
|
},
|
||||||
|
});
|
Reference in New Issue
Block a user