@gxaym1/savetube
v1.0.0
Published
Orx Scraper — save-tube.com scraper: mp4plus and aflamp4 download link extraction.
Maintainers
Readme
@gxaym1/savetube
Orx Scraper — save-tube.com download link extractor for mp4plus and aflamp4.
Pure ESM, plain JavaScript, no build step.
Install
npm install @gxaym1/savetubeUsage
import SaveTube from "@gxaym1/savetube";
// mp4plus
const mp4 = await SaveTube.mp4plus.getLinks("https://mp4plus.net/video/abc");
console.log(mp4.downloadLinks);
// [{ quality:"720p", format:"mp4", url:"...", type:"mp4plus" }, ...]
// aflamp4
const aflam = await SaveTube.aflamp4.getLinks("https://aflamp4.com/movie/xyz");
console.log(aflam.downloadLinks);
// [{ quality:"1080p", format:"mp4", url:"...", type:"aflamp4" }, ...]
// also includes HLS: { quality:"HLS", format:"m3u8", url:"...", type:"aflamp4" }Named imports
import { mp4plusGetLinks, mp4plusResolve, aflamP4GetLinks, aflamP4Resolve } from "@gxaym1/savetube";Sub-path imports
import { getLinks, resolve } from "@gxaym1/savetube/mp4plus";
import { getLinks, resolve } from "@gxaym1/savetube/aflamp4";API
mp4plus
mp4plus.getLinks(pageUrl, options?)
Scrape all download links from an mp4plus page.
Returns:
{
videoUrl: string,
title?: string,
thumbnail?: string,
downloadLinks: DownloadLink[]
}mp4plus.resolve(embedUrl, options?)
Same as getLinks but returns only DownloadLink[]. Never throws — returns [] on error.
mp4plus.isUrl(url)
Returns true if the URL belongs to an mp4plus domain.
aflamp4
aflamp4.getLinks(pageUrl, options?)
Scrape all download links (mp4 + HLS m3u8) from an aflamp4 page.
Returns:
{
videoUrl: string,
title?: string,
thumbnail?: string,
downloadLinks: DownloadLink[]
}aflamp4.resolve(embedUrl, options?)
Same as getLinks but returns only DownloadLink[]. Never throws — returns [] on error.
aflamp4.isUrl(url)
Returns true if the URL belongs to an aflamp4 domain.
Options (all functions)
| Option | Type | Default | Description |
|---|---|---|---|
| timeout | number | 30000 | Request timeout (ms) |
| headers | object | — | Extra HTTP headers |
| proxy | string | — | Proxy URL (http://host:port) |
Data shapes
// DownloadLink
{
quality: "1080p", // "4K" | "1080p" | "720p" | "480p" | "360p" | "HLS" | "CAM" | "auto"
format: "mp4", // "mp4" | "m3u8" | "mkv" | ...
url: "https://...",
size?: "800MB",
type: "mp4plus" // "mp4plus" | "aflamp4"
}License
MIT © gxaym1
