diff --git a/images/65b3ae93-cfd3-47a8-ab3d-5db542a3f0e7.webp b/images/65b3ae93-cfd3-47a8-ab3d-5db542a3f0e7.webp
new file mode 100644
index 0000000..9c950a9
Binary files /dev/null and b/images/65b3ae93-cfd3-47a8-ab3d-5db542a3f0e7.webp differ
diff --git a/login/index.html b/login/index.html
index 7343162..60b3908 100644
--- a/login/index.html
+++ b/login/index.html
@@ -41,7 +41,7 @@
Login to monotreme.org
-
|
diff --git a/readme.md b/readme.md
index 75c0615..1f13a11 100644
--- a/readme.md
+++ b/readme.md
@@ -1,3 +1,3 @@
## monotreme.org
-A joke site
+A joke site that I'm putting entierly too much effort into. Like, seriously, I'm spending way too much time on this. I should be working on [fddl](https://git.fddl.dev/fddl/fddl).
\ No newline at end of file
diff --git a/scripts/register.cgi b/scripts/register.cgi
new file mode 100644
index 0000000..b16edae
--- /dev/null
+++ b/scripts/register.cgi
@@ -0,0 +1,92 @@
+ #!/bin/bash
+
+ echo "Content-type: text/html"
+ echo ""
+
+ # Log the raw POST data for debugging
+ read POST_DATA
+ echo "POST Data: $POST_DATA" >> /tmp/register_form.log
+
+ # URL decoding function
+ urldecode() {
+ local url_encoded="${1//+/ }"
+ printf '%b' "${url_encoded//%/\\x}"
+ }
+
+ # Parse the form data using IFS
+ USERNAME=""
+ EMAIL=""
+ PASSWORD=""
+ CONFIRM_PASSWORD=""
+
+ IFS='&' # Split fields by "&"
+ for param in $POST_DATA; do
+ IFS='=' read -r key value <<< "$param"
+ key=$(urldecode "$key")
+ value=$(urldecode "$value")
+
+ case $key in
+ username) USERNAME="$value" ;;
+ email) EMAIL="$value" ;;
+ password) PASSWORD="$value" ;;
+ confirm_password) CONFIRM_PASSWORD="$value" ;;
+ esac
+ done
+
+ # Check if passwords match
+ if [ "$PASSWORD" != "$CONFIRM_PASSWORD" ]; then
+ cat <