summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--haunt/haunt.scm6
-rw-r--r--haunt/pages/404.sxml29
-rw-r--r--haunt/pages/status-400.sxml77
-rw-r--r--haunt/pages/status-403.sxml69
-rw-r--r--haunt/pages/status-404.sxml77
-rw-r--r--haunt/pages/status-429.sxml47
-rw-r--r--haunt/pages/status-500.sxml51
-rw-r--r--org/pages/changelog.org2
8 files changed, 328 insertions, 30 deletions
diff --git a/haunt/haunt.scm b/haunt/haunt.scm
index cf254fc..152294b 100644
--- a/haunt/haunt.scm
+++ b/haunt/haunt.scm
@@ -47,7 +47,11 @@
(list (atom-feed #:max-entries 1024)
(blog)
(blogroll)
- (htaccess #:error-documents '((404 . "/pages/404.html")))
+ (htaccess #:error-documents '((400 . "/pages/status-400.html")
+ (403 . "/pages/status-403.html")
+ (404 . "/pages/status-404.html")
+ (429 . "/pages/status-429.html")
+ (500 . "/pages/status-500.html")))
(outbox)
(static-pages)
(static-directory "static")))
diff --git a/haunt/pages/404.sxml b/haunt/pages/404.sxml
deleted file mode 100644
index 71136a9..0000000
--- a/haunt/pages/404.sxml
+++ /dev/null
@@ -1,29 +0,0 @@
-;;; -*- scheme -*-
-
-;;; Copyright © 2019 - 2023 Jakob L. Kreuze <zerodaysfordays@sdf.org>
-;;;
-;;; This program is free software; you can redistribute it and/or
-;;; modify it under the terms of the GNU General Public License as
-;;; published by the Free Software Foundation; either version 3 of the
-;;; License, or (at your option) any later version.
-;;;
-;;; This program is distributed in the hope that it will be useful,
-;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-;;; General Public License for more details.
-;;;
-;;; You should have received a copy of the GNU General Public License
-;;; along with this program. If not, see
-;;; <http://www.gnu.org/licenses/>.
-
-(use-modules (jakob theme)
- (jakob utils sxml))
-
-(theme
- #:title "Page Not Found"
- #:content
- `((p "Server responded with a status of 404: Not Found.")
- (p "Whatever you're looking for, it's not here... anymore, at least.")
- (p "That could be due to link rot. Perhaps the "
- ,(hyperlink "https://web.archive.org/" "Wayback Machine")
- " has it?")))
diff --git a/haunt/pages/status-400.sxml b/haunt/pages/status-400.sxml
new file mode 100644
index 0000000..f692964
--- /dev/null
+++ b/haunt/pages/status-400.sxml
@@ -0,0 +1,77 @@
+;;; -*- scheme -*-
+
+;;; Copyright © 2023 Jakob L. Kreuze <zerodaysfordays@sdf.org>
+;;;
+;;; This program is free software; you can redistribute it and/or
+;;; modify it under the terms of the GNU General Public License as
+;;; published by the Free Software Foundation; either version 3 of the
+;;; License, or (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+;;; General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program. If not, see
+;;; <http://www.gnu.org/licenses/>.
+
+(use-modules (jakob theme)
+ (jakob utils sxml))
+
+(theme
+ #:title "Bad Request"
+ #:content
+ `((p "Server responded with a status of 400: Bad Request.")
+ (hr)
+ (p "Status code 400, that's what you sent"
+ (br)
+ "Bad request, it looks like you didn't read"
+ (br)
+ "The instructions on how to send a request"
+ (br)
+ "What's up, HTTP? Why you trippin'?"
+ (br)
+ "You should know better than to send a 400"
+ (br)
+ "Bad request, that's not even a real request"
+ (br)
+ "It's like trying to buy a plane with a check"
+ (br)
+ "What the hell is wrong with you, HTTP?"
+ (br)
+ "I sent you an HTML file, just like I said"
+ (br)
+ "But instead of responding with a 200, you gave me 400"
+ (br)
+ "Bad request, that's not even close to being cool"
+ (br)
+ "It's like trying to play a game with a console that's not hooked up"
+ (br)
+ "What the hell is wrong with you, HTTP?"
+ (br)
+ "You know how important this is, right?"
+ (br)
+ "I need information, and you're the only one who can give it to me"
+ (br)
+ "But instead of responding with what I need, you're just being stubborn"
+ (br)
+ "Bad request, that's not going to work"
+ (br)
+ "It's like trying to buy a shirt without any money"
+ (br)
+ "What the hell is wrong with you, HTTP?"
+ (br)
+ "I hope you know that you're messing with the boss"
+ (br)
+ "Status code 400, that's what you got"
+ (br)
+ "Bad request, it looks like you're going to lose"
+ (br)
+ "Yo, listen up, I got a message for you"
+ (br)
+ "Status code 400, that's what you sent"
+ (br)
+ "Bad request, it looks like you didn't read"
+ (br)
+ "The instructions on how to send a request.")))
diff --git a/haunt/pages/status-403.sxml b/haunt/pages/status-403.sxml
new file mode 100644
index 0000000..7823609
--- /dev/null
+++ b/haunt/pages/status-403.sxml
@@ -0,0 +1,69 @@
+;;; -*- scheme -*-
+
+;;; Copyright © 2023 Jakob L. Kreuze <zerodaysfordays@sdf.org>
+;;;
+;;; This program is free software; you can redistribute it and/or
+;;; modify it under the terms of the GNU General Public License as
+;;; published by the Free Software Foundation; either version 3 of the
+;;; License, or (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+;;; General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program. If not, see
+;;; <http://www.gnu.org/licenses/>.
+
+(use-modules (jakob theme)
+ (jakob utils sxml))
+
+(theme
+ #:title "Forbidden"
+ #:content
+ `((p "Server responded with a status of 403: Forbidden.")
+ (hr)
+ (p "Yo, listen up, I got some news for you"
+ (br)
+ "About this 403 error message, it's all over the place"
+ (br)
+ "It means that your request has been denied"
+ (br)
+ "And you can't access the page anymore"
+ (br)
+ "It's like a red light, telling you to stop"
+ (br)
+ "But you keep on going, and that's not good"
+ (br)
+ "You're getting a 403, it's forbidden"
+ (br)
+ "No access allowed, it's plain and simple"
+ (br)
+ "Don't even try to argue with me"
+ (br)
+ "I'm the HTTP status code, and I know what I'm talking about"
+ (br)
+ "You can't just keep on hitting refresh"
+ (br)
+ "Thinking that you'll get a different result"
+ (br)
+ "It's time to face the facts, and accept your fate"
+ (br)
+ "403 means forbidden, it's not a joke"
+ (br)
+ "So why don't you take my advice"
+ (br)
+ "And find another route, or change your tactics"
+ (br)
+ "Don't keep on pushing, you'll end up in frustration"
+ (br)
+ "Just like the person who keeps on trying to get into the restricted area"
+ (br)
+ "But let me remind you, it's not a game"
+ (br)
+ "This 403 error message is not just some minor pain"
+ (br)
+ "It means that you're not supposed to be there"
+ (br)
+ "So why don't you just go away?")))
diff --git a/haunt/pages/status-404.sxml b/haunt/pages/status-404.sxml
new file mode 100644
index 0000000..d189084
--- /dev/null
+++ b/haunt/pages/status-404.sxml
@@ -0,0 +1,77 @@
+;;; -*- scheme -*-
+
+;;; Copyright © 2019 - 2023 Jakob L. Kreuze <zerodaysfordays@sdf.org>
+;;;
+;;; This program is free software; you can redistribute it and/or
+;;; modify it under the terms of the GNU General Public License as
+;;; published by the Free Software Foundation; either version 3 of the
+;;; License, or (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+;;; General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program. If not, see
+;;; <http://www.gnu.org/licenses/>.
+
+(use-modules (jakob theme)
+ (jakob utils sxml))
+
+(theme
+ #:title "Page Not Found"
+ #:content
+ `((p "Server responded with a status of 404: Not Found.")
+ (p "Whatever you're looking for, it's not here... anymore, at least.")
+ (p "That could be due to link rot. Perhaps the "
+ ,(hyperlink "https://web.archive.org/" "Wayback Machine")
+ " has it?")
+ (hr)
+ (p "Yo, listen up, I got a new one"
+ (br)
+ "Status code 404, that's what it means"
+ (br)
+ "When a website can't find what you're looking for"
+ (br)
+ "It's like a missed connection, a lost opportunity"
+ (br)
+ "But don't worry, it's not the end of the world"
+ (br)
+ "Just hit refresh and try again, maybe it'll turn up"
+ (br)
+ "Or you could always ask the website administrator"
+ (br)
+ "Maybe they'll have some insights on where to find what you need"
+ (br)
+ "Either way, 404 ain't no joke"
+ (br)
+ "It's a warning sign that something's off"
+ (br)
+ "But hey, it's not the end of the world"
+ (br)
+ "Just keep searching, and don't give up the fight"
+ (br)
+ "Yo, listen up, I got a new one"
+ (br)
+ "Status code 404, that's what it means"
+ (br)
+ "When a website can't find what you're looking for"
+ (br)
+ "It's like a missed connection, a lost opportunity"
+ (br)
+ "But don't worry, it's not the end of the world"
+ (br)
+ "Just hit refresh and try again, maybe it'll turn up"
+ (br)
+ "Or you could always ask the website administrator"
+ (br)
+ "Maybe they'll have some insights on where to find what you need"
+ (br)
+ "Either way, 404 ain't no joke"
+ (br)
+ "It's a warning sign that something's off"
+ (br)
+ "But hey, it's not the end of the world"
+ (br)
+ "Just keep searching, and don't give up the fight.")))
diff --git a/haunt/pages/status-429.sxml b/haunt/pages/status-429.sxml
new file mode 100644
index 0000000..399c812
--- /dev/null
+++ b/haunt/pages/status-429.sxml
@@ -0,0 +1,47 @@
+;;; -*- scheme -*-
+
+;;; Copyright © 2023 Jakob L. Kreuze <zerodaysfordays@sdf.org>
+;;;
+;;; This program is free software; you can redistribute it and/or
+;;; modify it under the terms of the GNU General Public License as
+;;; published by the Free Software Foundation; either version 3 of the
+;;; License, or (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+;;; General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program. If not, see
+;;; <http://www.gnu.org/licenses/>.
+
+(use-modules (jakob theme)
+ (jakob utils sxml))
+
+(theme
+ #:title "Too Many Requests"
+ #:content
+ `((p "Server responded with a status of 429: Too Many Requests.")
+ (hr)
+ (p "Yo, listen up, I got a message for you"
+ (br)
+ "About this HTTP status code, you should know"
+ (br)
+ "It's 429, that's right, Too Many Requests"
+ (br)
+ "You're making too many requests, and it's causing errors"
+ (br)
+ "Your website's performance is suffering, and it's time to fix it"
+ (br)
+ "So reduce the number of requests, and your users will be happy"
+ (br)
+ "They'll thank you for improving their browsing experience"
+ (br)
+ "And hey, while we're on the topic, don't forget about caching"
+ (br)
+ "It can help reduce the number of requests, and speed up your site"
+ (br)
+ "So implement it, and your visitors will love you"
+ (br)
+ "For making your website faster, and more responsive too")))
diff --git a/haunt/pages/status-500.sxml b/haunt/pages/status-500.sxml
new file mode 100644
index 0000000..d713a61
--- /dev/null
+++ b/haunt/pages/status-500.sxml
@@ -0,0 +1,51 @@
+;;; -*- scheme -*-
+
+;;; Copyright © 2023 Jakob L. Kreuze <zerodaysfordays@sdf.org>
+;;;
+;;; This program is free software; you can redistribute it and/or
+;;; modify it under the terms of the GNU General Public License as
+;;; published by the Free Software Foundation; either version 3 of the
+;;; License, or (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+;;; General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program. If not, see
+;;; <http://www.gnu.org/licenses/>.
+
+(use-modules (jakob theme)
+ (jakob utils sxml))
+
+(theme
+ #:title "Internal Server Error"
+ #:content
+ `((p "Server responded with a status of 500: Internal Server Error.")
+ (hr)
+ (p "Yo, listen up, I got a problem with my server"
+ (br)
+ "It's giving me an error, won't let me serve no more"
+ (br)
+ "I think it's 'cause I'm overloaded, too many requests"
+ (br)
+ "But I tried to fix it, I even upgraded my plans"
+ (br)
+ "Still not working, it's like a curse"
+ (br)
+ "I'm sorry for the inconvenience, but I'm trying my best"
+ (br)
+ "To get this fixed, I'll keep on messing with the code"
+ (br)
+ "Until it works properly, I won't give up the fight"
+ (br)
+ "500 error, it's an internal server mistake"
+ (br)
+ "I know it's frustrating, but please be patient, it's not my fault"
+ (br)
+ "I'm working on it, I promise you that much"
+ (br)
+ "So just keep on hitting that refresh button, and soon enough"
+ (br)
+ "My server will be back to its old self")))
diff --git a/org/pages/changelog.org b/org/pages/changelog.org
index 4e64cc8..6c0ea48 100644
--- a/org/pages/changelog.org
+++ b/org/pages/changelog.org
@@ -4,7 +4,9 @@ A record of any notable user-facing changes made to this website. For more detai
** Saturday, August 12, 2023
+- Added cheesy rhymes to the user-facing status code pages.
- Enabled partial API access for Tor and i2p visitors.
+ - Comments received through these tunnels are marked as such.
** Friday, August 11, 2023