44 lines
No EOL
1.6 KiB
JavaScript
44 lines
No EOL
1.6 KiB
JavaScript
function doCORSRequest(options, printResult) {
|
|
var x = new XMLHttpRequest();
|
|
var proxy_url = 'https://api.allorigins.win/get?url=';
|
|
var target_url = encodeURIComponent(options.url);
|
|
x.open(options.method, proxy_url + target_url);
|
|
x.onload = x.onerror = function() {
|
|
var response = JSON.parse(x.responseText);
|
|
printResult(
|
|
options.method + ' ' + options.url + '\n' +
|
|
x.status + ' ' + x.statusText + '\n\n' +
|
|
(response.contents || '')
|
|
);
|
|
};
|
|
|
|
x.send(options.data);
|
|
}
|
|
|
|
doCORSRequest({
|
|
method: "GET",
|
|
url: " https://packages.boostyconnect.com/oreon-lime-r2/mainstream/src/",
|
|
}, function printResult(res) {
|
|
console.log('Response:', res);
|
|
|
|
try {
|
|
const parser = new DOMParser();
|
|
const doc = parser.parseFromString(res, "text/html");
|
|
const links = doc.querySelectorAll("a");
|
|
links.forEach((link) => {
|
|
const forbidden_links = ["Name", "Last modified", "Size", "Destination", "Description", "Parent Directory"];
|
|
if (!forbidden_links.includes(link.innerHTML)) {
|
|
const link_e = document.createElement("a");
|
|
const new_href = link.href;
|
|
link_e.href = new_href;
|
|
link_e.innerHTML = link.innerHTML;
|
|
link_e.className = "package";
|
|
link_e.target = "_blank";
|
|
document.getElementById("packages").appendChild(link_e);
|
|
console.log(link.href);
|
|
}
|
|
});
|
|
} catch (e) {
|
|
console.error('Parsing error:', e);
|
|
}
|
|
}); |