Commit 520b265

Karn Wong <[email protected]>
2025-10-16 06:00:22
feat: add download endpoint
1 parent 45c260f
Changed files (2)
static/get
@@ -0,0 +1,44 @@
+#!/bin/bash
+
+case "$(uname -s)" in
+    Linux*)     OS="linux";;
+    Darwin*)    OS="darwin";;
+    CYGWIN*|MINGW*|MSYS*) OS="windows";;
+    *)          OS="unknown";;
+esac
+
+# detect architecture
+case "$(uname -m)" in
+    x86_64)    ARCH="amd64";;
+    aarch64)   ARCH="arm64";;
+    arm64)     ARCH="arm64";;
+    *)         ARCH="unknown";;
+esac
+
+REPO="kahnwong/swissknife"
+GITHUB="https://api.github.com"
+VERSION=`
+  curl --silent "${GITHUB}/repos/{$REPO}/releases/latest" |
+      grep '"tag_name":' |
+      sed -E 's/.*"([^"]+)".*/\1/'
+`
+VERSION_BINARY=$(echo "${VERSION}" | sed 's/^v//')
+FILE="swissknife_${VERSION_BINARY}_${OS}_${ARCH}.tar.gz"
+
+# download
+curl -L -s -o "$FILE" "https://github.com/${REPO}/releases/download/${VERSION}/${FILE}"
+
+# extract
+echo "Extracting ${FILE}..."
+tar -xzvf "${FILE}"
+if [ $? -ne 0 ]; then
+    echo "Error: Failed to extract ${FILE}."
+    exit 1
+fi
+
+# cleanup
+rm -f "${FILE}"
+rm README.md
+
+# success message
+echo "Successfully downloaded and extracted ${FILE}."
static/index.html
@@ -0,0 +1,15 @@
+<html><head><link rel="stylesheet" href="resource://content-accessible/plaintext.css"></head><body><pre>Cannot GET /</pre><style type="text/css">
+    html:before {
+        z-index: -2147483646;
+    }
+html:before {
+background: rgba(255,0,0,1);
+opacity: 0.75;
+transition:  opacity 0.85s ease-out;
+position: fixed;
+content: "";
+z-index: 2147483647;
+top: 0;
+left: 0;
+height: 2px;
+}</style></body></html>