diff options
author | 0neGal <mail@0negal.com> | 2022-07-08 23:58:18 +0200 |
---|---|---|
committer | 0neGal <mail@0negal.com> | 2022-07-08 23:58:18 +0200 |
commit | 2e5fa64db8b2d6fe1d76bb248769d0fad4081d96 (patch) | |
tree | 98170a5e638df955908ccf639f20defe27fa4c2b /site/main.js | |
parent | 7a76a79035957451cdbf229cfaf57184b728a992 (diff) | |
download | Viper-2e5fa64db8b2d6fe1d76bb248769d0fad4081d96.tar.gz Viper-2e5fa64db8b2d6fe1d76bb248769d0fad4081d96.zip |
added site for redirecting to download URLs
This will be used instead of having to update download URLs every single
time a new release is made, simplifying everything.
Diffstat (limited to 'site/main.js')
-rw-r--r-- | site/main.js | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/site/main.js b/site/main.js new file mode 100644 index 0000000..38c91ec --- /dev/null +++ b/site/main.js @@ -0,0 +1,44 @@ +let repo = "viper"; +let author = "0neGal"; +let api = "https://api.github.com/repos"; + +async function init() { + let release = await (await fetch(`${api}/${author}/${repo}/releases/latest`)).json(); + let assets = release.assets; + + let get = (asset) => { + for (let i in assets) { + if (assets[i].name.match(asset)) { + return assets[i].browser_download_url; + } + } + } + + let url; + let search = location.search.replace(/^\?/, ""); + switch(search) { + case "win-setup": + url = get(/Viper-Setup-.*\.exe$/); + break; + case "win-installer": + url = get(/Viper-.*\.exe$/); + break; + case "appimage": + url = get(/Viper-.*\.AppImage$/); + break; + case "linux": + url = get(/viper-.*.tar\.gz$/); + break; + case "rpm": + url = get(/viper-.*\.x86_64\.rpm$/); + break; + case "deb": + url = get(/viper_.*_amd64\.deb$/); + break; + default: + url = release.html_url; + break; + } + + location.replace(url); +}; init() |