aboutsummaryrefslogtreecommitdiff
path: root/site
diff options
context:
space:
mode:
author0neGal <mail@0negal.com>2022-07-08 23:58:18 +0200
committer0neGal <mail@0negal.com>2022-07-08 23:58:18 +0200
commit2e5fa64db8b2d6fe1d76bb248769d0fad4081d96 (patch)
tree98170a5e638df955908ccf639f20defe27fa4c2b /site
parent7a76a79035957451cdbf229cfaf57184b728a992 (diff)
downloadViper-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')
-rw-r--r--site/index.html8
-rw-r--r--site/main.js44
2 files changed, 52 insertions, 0 deletions
diff --git a/site/index.html b/site/index.html
new file mode 100644
index 0000000..a817e49
--- /dev/null
+++ b/site/index.html
@@ -0,0 +1,8 @@
+<html>
+ <head>
+ <title>Viper</title>
+ </head>
+ <body>
+ <script src="main.js"></script>
+ </body>
+</html>
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()