diff options
-rw-r--r-- | index.html | 19 | ||||
-rw-r--r-- | puppet.js | 66 |
2 files changed, 85 insertions, 0 deletions
diff --git a/index.html b/index.html new file mode 100644 index 0000000..813d85a --- /dev/null +++ b/index.html @@ -0,0 +1,19 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="UTF-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <script src="./puppet.js"></script> + <title>Cursed Pack Downloader</title> +</head> +<body> + <span>Manifest file:</span> + <input id="manifest" type="file" /> + <br/> + <span>Link file:</span> + <input id="links" type="file" /> + <br/> + <button id="start">Start</button> + <button id="next">Next 15</button> +</body> +</html>
\ No newline at end of file diff --git a/puppet.js b/puppet.js new file mode 100644 index 0000000..46d72c3 --- /dev/null +++ b/puppet.js @@ -0,0 +1,66 @@ +const URL_REGEX = /href=\"(.*)\"/; + +/** + * @param {String} text + */ +function getURLs(text) { + text.split("\n"); + let out = []; + + for (let i of text.split("\n")) + { + if (URL_REGEX.test(i)) + { + let url = URL_REGEX.exec(i)[1]; + out.push(url); + } + } + + return out; +} + +function reformFileList(list) +{ + let out = []; + + for (let i of list) + { + out.push(i.fileID); + } + + return out; +} + +window.addEventListener("load", _ => { + /** @type {HTMLButtonElement} */ + let start = document.getElementById("start"); + /** @type {HTMLButtonElement} */ + let next = document.getElementById("next"); + /** @type {HTMLInputElement} */ + let manifest = document.getElementById("manifest"); + /** @type {HTMLInputElement} */ + let links = document.getElementById("links"); + + var current = null; + + start.addEventListener("click", _ => { + links.files.item(0).text().then(link_val => { + manifest.files.item(0).text().then(manifest_val => { + current = [ + 0, + getURLs(link_val), + reformFileList(JSON.parse(manifest_val).files), + ]; + }); + }); + }); + + next.addEventListener("click", _ => { + for(let i = 0; i < 15; i++) { + if(current[0] < current[1].length) { + window.open(`${current[1][current[0]]}/download/${current[2][current[0]]}`); + current[0]++; + } + } + }); +});
\ No newline at end of file |