selfdebrid/extractors/mediafire.js

40 lines
934 B
JavaScript

const axios = require("axios");
const cheerio = require("cheerio");
const lib = require("../lib");
module.exports = {
get: get,
hostnames: ["mediafire.com"],
tests: []
};
async function get(url, options) {
lib.log("mediafire", "Fetching page...", [], true, options);
let headers = lib.defaultHeaders;
let resp = await axios({
headers: headers,
url: url
});
lib.log("mediafire", "Parsing page...");
let $ = cheerio.load(resp.data);
let dlElement = $("#downloadButton")?.[0];
if (dlElement?.attribs?.href) {
let dlLink = dlElement.attribs.href;
let dlName = decodeURIComponent(dlLink.split(`/`)[dlLink.split(`/`).length - 1]).split(`+`).join(` `);
headers["Referer"] = url;
return {
axiosData: {
headers: headers,
url: dlLink
},
metadata: {
fileName: dlName
}
};
} else throw new Error("Could not find download link in page.");
}