40 lines
934 B
JavaScript
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.");
|
|
} |