From 2851fa24d6cbc1aca7b97fbb552868795275e322 Mon Sep 17 00:00:00 2001 From: servostar Date: Mon, 16 Oct 2023 14:53:24 +0200 Subject: [PATCH] release version 1.0.1 --- Dockerfile | 9 ++ README.md | 25 ++++- php/index.php | 32 ++++++ php/master.css | 166 +++++++++++++++++++++++++++++ php/messages.php | 33 ++++++ php/res/font/Mont-Heavy.otf | Bin 0 -> 137508 bytes php/res/svg/cloud.svg | 41 +++++++ php/res/svg/error-page-overlay.svg | 63 +++++++++++ php/res/svg/rocks.svg | 38 +++++++ 9 files changed, 405 insertions(+), 2 deletions(-) create mode 100644 Dockerfile create mode 100644 php/index.php create mode 100644 php/master.css create mode 100644 php/messages.php create mode 100644 php/res/font/Mont-Heavy.otf create mode 100644 php/res/svg/cloud.svg create mode 100644 php/res/svg/error-page-overlay.svg create mode 100644 php/res/svg/rocks.svg diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..cfdacca --- /dev/null +++ b/Dockerfile @@ -0,0 +1,9 @@ +FROM erseco/alpine-php-webserver +LABEL maintainer="Sven Vogel " +LABEL version="1.0.1" + +COPY php/index-inlined-minified.php /var/www/html/index.php +COPY php/messages.php /var/www/html/messages.php + +# Let runit start nginx & php-fpm +CMD [ "/bin/docker-entrypoint.sh" ] \ No newline at end of file diff --git a/README.md b/README.md index 6657bcf..52e3163 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,24 @@ -# Errorpages +# error-pages -Automatic error page generator for monthaselino \ No newline at end of file +Error pages for montehaselino.de. The service is to used as a quick error response service. It delivers a single html file as response with every resource inlined and encoded into it. + +Make sure to compile every resource into the main.php file. This is due to the fact, that the error response is not a redirect to a public web server but rather an response for by the reverse proxy from an restricted backend. +Make sure to inline resources: +```bash +npm install inliner +npx inliner index.php > index-inlined-minified.php +``` + +Example configuration for caddy: +```Caddyfile +reverse_proxy https://service { + @custom_error status 4xx 5xx + handle_response @custom_error { + # rewrite uri to be the status code + rewrite * /{rp.status_code} + # send automatically generated response page + # the answer must be a single html file without resource from the same origin + reverse_proxy http://error-response:8080 + } +} +``` \ No newline at end of file diff --git a/php/index.php b/php/index.php new file mode 100644 index 0000000..991f5af --- /dev/null +++ b/php/index.php @@ -0,0 +1,32 @@ + + + + + + + Montehaselino - Automatic Status Response + + + +
+
+
+
+ +
+

ERROR

+ " . $response[0] .""; + echo "

" . $response[1] . "

"; + ?> + Go Back +
+
This is an automatically generated error response page.
Please contact administration if you feel this shouldn't be here.
+
+ + \ No newline at end of file diff --git a/php/master.css b/php/master.css new file mode 100644 index 0000000..fb7952a --- /dev/null +++ b/php/master.css @@ -0,0 +1,166 @@ +@font-face { + font-family: Mont; + src: url("res/font/Mont-Heavy.otf"); +} + +html, body, * { + margin: 0; + padding: 0; + + color: #f2f3f4; + background-color: #333333; + + font-family: Mont, sans-serif; + text-align: center; +} + +h1 { + position: relative; + top: -1rem; + + background: transparent; + + font-weight: normal; + font-size: 3rem; + line-height: 3rem; +} + +h2 { + position: relative; + top: -1rem; + + font-weight: bold; + font-size: 9rem; + line-height: 9rem; + + color: transparent; + + opacity: 1; + background: repeating-linear-gradient(45deg, #f2f3f4, #f2f3f4 8px, rgba(242, 244, 245, 0.7) 8px, rgba(242, 244, 245, 0.7) 16px); + background-clip: text; + -webkit-background-clip: text; + background-size: 200% 200%; + animation: barberpole 50s linear infinite; +} + +@keyframes barberpole { + 100% { + background-position: 100% 100%; + } +} + +h3 { + position: relative; + top: -1rem; + + font-family: sans-serif; + font-weight: normal; + font-size: 1.5rem; + padding-bottom: 1.5rem; + + width: calc(min(80%, 40rem)); + margin-left: auto; + margin-right: auto; +} + +#mountain { + width: 100%; + max-height: 30rem; + background-color: #4682b4; + + border-top: 2rem solid #4682b4; +} + +#rocks { + width: 100%; + height: 0.5rem; + position: relative; + top: -0.75rem; + + background: transparent url("res/svg/rocks.svg") repeat-x; + background-size: contain; +} + +.subtle { + padding-top: 2rem; + font-weight: normal; + font-family: sans-serif; + opacity: 0.5; +} + +hr { + margin-top: 2.5rem; + width: calc(min(20rem, 80%)); + margin-right: auto; + margin-left: auto; + opacity: 0.5; +} + +a { + text-decoration: none; + background: #f2f3f4; + color: #333333; + border-radius: 0.5rem; + padding: 0.75rem; +} + +div { + line-height: 1.5rem; +} + +#cloud1 { + position: absolute; + top: 1rem; + width: 100%; + height: 4rem; + + background: transparent url("res/svg/cloud.svg") no-repeat center; + background-size: contain; + opacity: 0.5; + background-position-x: -8rem; + animation: cloud-motion-1 30s linear infinite; +} + +@keyframes cloud-motion-1 { + 100% { + background-position: calc(100% + 8rem) 0; + } +} + +#cloud2 { + position: absolute; + top: 10rem; + width: 100%; + height: 4rem; + + background: transparent url("res/svg/cloud.svg") no-repeat center; + background-size: contain; + opacity: 0.5; + background-position-x: -8rem; + animation: cloud-motion-1 30s 15s linear infinite; +} + +@keyframes cloud-motion-2 { + 100% { + background-position: calc(100% + 8rem) 0; + } +} + +#cloud3 { + top: 4rem; + position: absolute; + width: 100%; + height: 4rem; + + background: transparent url("res/svg/cloud.svg") no-repeat center; + background-size: contain; + opacity: 0.5; + background-position-x: -8rem; + animation: cloud-motion-1 30s 20s linear infinite; +} + +@keyframes cloud-motion-3 { + 100% { + background-position: calc(100% + 8rem) 0; + } +} \ No newline at end of file diff --git a/php/messages.php b/php/messages.php new file mode 100644 index 0000000..e324d07 --- /dev/null +++ b/php/messages.php @@ -0,0 +1,33 @@ + "You are no authorized to access the resource", + 404 => "The requested resource couldn't be found", + 403 => "Access to the resource was denied for the server", + 405 => "Method not supported by the server", + 407 => "You are no authorized to access the resource", + 408 => "Request timed out", + 500 => "The server encountered an internal error", + 501 => "Method not supported by the server", + 502 => "Requested endpoint encountered an error", + 503 => "Service is currently unavailable", + 504 => "Requested endpoint is unreachable", + 511 => "Requested endpoint requires authentication for proxy", +]; + +function get_status_message($uri): array +{ + $status = "501"; + $message = "The received status is unsupported by this server: `" . substr($uri, 0, 10) . "`"; + + $code = intval(trim(str_replace("/", "", $uri))); + + if (key_exists($code, RESPONSES)) { + $status = (string) $code; + $message = RESPONSES[$code]; + } + + return [$status, $message]; +} \ No newline at end of file diff --git a/php/res/font/Mont-Heavy.otf b/php/res/font/Mont-Heavy.otf new file mode 100644 index 0000000000000000000000000000000000000000..7429cee45fadc5ef67c8a16581d68d6ab3b6da3b GIT binary patch literal 137508 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 nOSpqF#XRriVuNAomK6 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 z�acV^lJ}8?Bfs#adY{hIILkkfn|<2-f)f7!gc|OehM)yg^eEN<&#F=Y2g!5JOey z9|kg3SQ7^Gf3l&xTQe+72$Q(dMys~aw>OCv=VV%?pZ59vG3~pJ@d)Rpc#LzKMme`L z&bfn;PVe_q?~`Y?_9V4c9%IB;V%qzuE!hnXh|6@bsN3!q7Pt}#;E7e53q<9 z_nCePBlzcYpWIs&W;3l1+O{+3H@39)3ZEvX(BJNFNBsLSte!FDLPm{i(XR@|gIis7 zXh+X!C-dCf+#cPxj$dWpaCgf!|8diuw~(-n-ESdoIIDTQTPfKd^768;U$vnw)Q1M%`WhZakT;V + + + + + + + + + diff --git a/php/res/svg/error-page-overlay.svg b/php/res/svg/error-page-overlay.svg new file mode 100644 index 0000000..52947a9 --- /dev/null +++ b/php/res/svg/error-page-overlay.svg @@ -0,0 +1,63 @@ + + + + diff --git a/php/res/svg/rocks.svg b/php/res/svg/rocks.svg new file mode 100644 index 0000000..9d19a05 --- /dev/null +++ b/php/res/svg/rocks.svg @@ -0,0 +1,38 @@ + + + + + + + + + +