filehost-meta
Version:
Fetch basic file information from download links
41 lines (31 loc) • 942 B
JavaScript
const axios = require('axios')
const File = require('../classes/File')
const { proxyToAxios, sizeToBytes } = require('../utils')
exports.domains = ['filesadmin.com']
exports.get = async (url, proxy) => {
try {
const res = await axios({
url,
...proxyToAxios(proxy)
})
if (res.status !== 200) {
throw new Error(res.statusText)
}
const data = res.data
// use regex to extract file name, size and upload date
const filename = data.match(/var filename = "(.*)";/)[1]
const size = data.match(/var filsize = "(.*)";/)[1]
const date = data.match(/var filedate = "(.*)";/)[1]
// parse date
const [day, month, year, hours, minutes, seconds] = date.match(/\d+/g);
return [
new File({
name: filename,
size: sizeToBytes(size),
createdAt: new Date(year, month - 1, day, hours, minutes, seconds),
})
]
} catch (err) {
throw err
}
}