27 Commits

Author SHA1 Message Date
25b03aa105 major update :O 2026-01-18 23:21:44 +00:00
53cd3852aa update
All checks were successful
Build and push container image / build-and-push-image (push) Successful in 6m29s
2025-08-27 21:53:25 +01:00
f67f377be1 new images 2025-08-23 16:10:25 +01:00
bfb1b8a21e sitemap
All checks were successful
Build and push container image / build-and-push-image (push) Successful in 3m59s
2025-08-13 22:54:24 +01:00
ef459d728a update link
All checks were successful
Build and push container image / build-and-push-image (push) Successful in 3m16s
2025-08-10 19:53:31 +01:00
5690bcadf9 I fkin found em
All checks were successful
Build and push container image / build-and-push-image (push) Successful in 4m21s
2025-08-08 20:31:55 +01:00
8b5b80f7c5 Merge remote-tracking branch 'refs/remotes/gitea/main'
All checks were successful
Build and push container image / build-and-push-image (push) Successful in 3m7s
2025-08-07 21:26:35 +01:00
66806ad922 events 2025-08-07 21:25:10 +01:00
b29a61a44b fix name box
All checks were successful
Build and push container image / build-and-push-image (push) Successful in 3m2s
2025-08-07 11:28:24 +00:00
a0562330a3 more updates
All checks were successful
Build and push container image / build-and-push-image (push) Successful in 2m59s
2025-08-06 22:39:06 +01:00
df59a2c097 fix typos and css
All checks were successful
Build and push container image / build-and-push-image (push) Successful in 2m31s
2025-08-06 01:33:56 +01:00
8209f52fa7 update og image
All checks were successful
Build and push container image / build-and-push-image (push) Successful in 2m19s
2025-08-06 01:15:44 +01:00
b029eba456 fix
All checks were successful
Build and push container image / build-and-push-image (push) Successful in 2m27s
2025-08-06 00:54:30 +01:00
1b2425a493 toaster update :3
Some checks failed
Build and push container image / build-and-push-image (push) Failing after 5m28s
2025-08-06 00:41:26 +01:00
e66f7e0588 update 2025-06-28 18:12:09 +01:00
d48dd04af9 snake "security" 2025-06-22 16:07:01 +01:00
f3d5cb9d53 cleaned backend 2025-06-22 15:56:38 +01:00
da447939bb css fixes 2025-06-21 14:03:39 +01:00
968a4cb442 mobile fixes 2025-06-21 02:40:25 +01:00
189d63d7ba toaster 2025-06-21 02:26:24 +01:00
4a577e928a typer fix 2025-06-20 13:32:04 +01:00
e95e424a1e mobile fix 2025-06-20 11:14:03 +01:00
2b6ae9c640 oops 2025-06-20 09:55:20 +01:00
0115328180 Merge pull request 'templated' (#1) from templated into main
Reviewed-on: #1
2025-06-20 08:50:41 +00:00
f2cffc4400 500&404 errors 2025-06-20 09:48:20 +01:00
30884ecaa4 snake 2025-06-20 01:45:09 +01:00
27fbade9f1 udpate 2025-06-18 00:49:31 +01:00
67 changed files with 1700 additions and 629 deletions

View File

@@ -0,0 +1,33 @@
name: Build and push container image
run-name: ${{ gitea.actor }} is building and pushing container image
on:
push:
branches:
- main
env:
GITEA_DOMAIN: git.alfieking.dev
GITEA_REGISTRY_USER: acetheking987
RESULT_IMAGE_NAME: acetheking987/alfieking.dev
jobs:
build-and-push-image:
runs-on: ubuntu-latest
container:
image: catthehacker/ubuntu:act-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Log in to registry
uses: docker/login-action@v3
with:
registry: ${{ env.GITEA_DOMAIN }}
username: ${{ env.GITEA_REGISTRY_USER }}
password: ${{ secrets.CONTAINER_REGISTRY_TOKEN }}
- name: Build and push image
uses: docker/build-push-action@v6
with:
push: true
tags: ${{ env.GITEA_DOMAIN }}/${{ env.RESULT_IMAGE_NAME }}:latest

6
.gitignore vendored Normal file
View File

@@ -0,0 +1,6 @@
.venv
.env
flask_session
__pycache__
.vscode
db

View File

@@ -1,87 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Alfie's basement</title>
<link rel="icon" href="/static/content/icon.webp">
<link rel="stylesheet" href="/static/css/index.css">
<meta name="description" content="Alfie's basement">
<meta name="keywords" content="Alfie King, Alfie, King, Alfieking, Alfieking.dev, dev, server">
<meta name="author" content="Alfie King">
<meta name="robots" content="all">
<meta name="theme-color" content="#63de90" data-react-helmet="true">
<meta property="og:site_name" content="Alfieking.dev">
<meta property="og:url" content="https://alfieking.dev">
<meta property="og:title" content="Alfie's basement">
<meta property="og:description" content="server backend survivor">
<meta property="og:image" content="static/content/icon.webp">
</head>
<body>
<div id="furry"></div>
<div id="sidebar">
<nav>
<section>
<h1>Things to see :3</h1>
<ul>
<li><a href="/">Home</a></li>
<li><a href="/chat">Chat</a></li>
<li><a href="/blog">Blog</a></li>
<li><a href="https://git.alfieking.dev/acetheking987">Gitea</a></li>
<li><a href="https://www.last.fm/user/acetheking987">LastFm</a></li>
<li><a href="https://open.spotify.com/user/xz02oolstlvwxqu1pfcua9exz?si=14396e637f284e03">Spotify</a></li>
<li><a href="https://steamcommunity.com/id/acetheking987/">Steam</a></li>
<li><a href="https://www.youtube.com/@acetheking987">YouTube</a></li>
<li><a href="https://acetheking987.tumblr.com/">Tumblr</a></li>Instagram
<li><a href="https://www.reddit.com/user/acetheking987">Reddit</a></li>
</ul>
</section>
</nav>
<section>
<h6 class="irken">heya, try typing "furry" and "irken" into this page!</h6>
</section>
<section id="buttons">
<h1>BUTTONS</h1>
<ul>
<li><a href="https://dimden.dev/"><img src="https://dimden.dev/services/images/88x31.gif" alt="dimden"></a></li>
<li><a href="https://ne0nbandit.neocities.org/"><img src="https://ne0nbandit.github.io/assets/img/btn/mine/nbbanner.png" alt="ne0nbandit"></a></li>
<li><a href="https://thinliquid.dev"><img src="https://thinliquid.dev/thnlqd.png" alt="thinliquid"></a></li>
<li><a href="https://nekoweb.org/"><img src="https://nekoweb.org/assets/buttons/button6.gif" alt="nekoweb"></a><!-- button by s1nez.nekoweb.org --></li>
<li><a href="https://s1nez.nekoweb.org/"><img src="https://s1nez.nekoweb.org/BUTTON.gif" alt="s1nez"></a></li>
<li><a href="https://beeps.website"><img src="https://beeps.website/assets/images/88x31-d.gif" alt="beeps"></a></li>
<li><a href="https://sparky.wagging.dev"><img src="https://sparky.wagging.dev/sparkybutton.png" alt="sparkythedogo"></a></li>
<li><a href="https://itsnotstupid.com"><img src="https://itsnotstupid.com/pics/button1.gif" alt="itsnotstupid"></a></li>
<li><a href='https://blinkies.cafe'><img src='https://blinkies.cafe/b/display/blinkiesCafe-badge.gif' alt='blinkies.cafe | make your own blinkies!'></a></li>
<li><a href="https://eightyeightthirty.one"><img src="https://eightyeightthirty.one/88x31.png" alt="88x31"></a></li>
<li><a href="https://neocities.org"><img src="https://cyber.dabamos.de/88x31/neocities-now.gif" alt="neocities"></a></li>
<li><a href="https://0x4248.dev"><img src="https://sparky.wagging.dev/Webaddons/button.gif" alt="0x4248"></a></li>
</ul>
</section>
<section>
<pre class="vsmoltext"> |\ _,,,---,,_<br>ZZZzz /,`.-'`' -. ;-;;,_<br> |,4- ) )-,_. ,\ ( `'-'<br> '---''(_/--' `-'\_)</pre>
</section>
<img src="static/content/haj.gif" alt="haj" class="haj">
</div>
<main id="main">
<header id="home">
<div class="row">
<img src="/static/content/icon.webp">
<div>
<h1>Alfie King</h1>
<h2 id="typing">server backend survivor</h2>
</div>
</div>
</header>
<section>
<h1>404</h1>
<p>
It seems like the thing you are looking for is not here :P
<img src="https://http.cat/404" alt="404" style="width: max-content;">
For more information, please visit any page but this one.
</p>
</section>
</div>
</main>
<script src="/static/js/index.js"></script>
</body>
</html>

382
app.log Normal file
View File

@@ -0,0 +1,382 @@
2026-01-18 22:25:14,613 - root - INFO - Logging initialized
2026-01-18 22:25:14,634 - werkzeug - WARNING - * Debugger is active!
2026-01-18 22:25:14,636 - werkzeug - INFO - * Debugger PIN: 133-323-371
2026-01-18 22:25:31,678 - werkzeug - INFO - * Detected change in '/home/alfie/Documents/programming-projects/websites/alfieking.dev/src/wsgi.py', reloading
2026-01-18 22:25:31,918 - root - INFO - Logging initialized
2026-01-18 22:25:31,942 - werkzeug - WARNING - * Debugger is active!
2026-01-18 22:25:31,944 - werkzeug - INFO - * Debugger PIN: 133-323-371
2026-01-18 22:25:44,977 - werkzeug - INFO - * Detected change in '/home/alfie/Documents/programming-projects/websites/alfieking.dev/src/wsgi.py', reloading
2026-01-18 22:25:45,205 - root - INFO - Logging initialized
2026-01-18 22:25:45,233 - werkzeug - WARNING - * Debugger is active!
2026-01-18 22:25:45,236 - werkzeug - INFO - * Debugger PIN: 133-323-371
2026-01-18 22:25:46,245 - werkzeug - INFO - * Detected change in '/home/alfie/Documents/programming-projects/websites/alfieking.dev/src/wsgi.py', reloading
2026-01-18 22:25:46,445 - root - INFO - Logging initialized
2026-01-18 22:25:46,466 - werkzeug - WARNING - * Debugger is active!
2026-01-18 22:25:46,469 - werkzeug - INFO - * Debugger PIN: 133-323-371
2026-01-18 22:25:47,478 - werkzeug - INFO - * Detected change in '/home/alfie/Documents/programming-projects/websites/alfieking.dev/src/wsgi.py', reloading
2026-01-18 22:25:47,700 - root - INFO - Logging initialized
2026-01-18 22:25:47,719 - werkzeug - WARNING - * Debugger is active!
2026-01-18 22:25:47,721 - werkzeug - INFO - * Debugger PIN: 133-323-371
2026-01-18 22:25:51,738 - werkzeug - INFO - * Detected change in '/home/alfie/Documents/programming-projects/websites/alfieking.dev/src/routes/error_handlers.py', reloading
2026-01-18 22:25:51,952 - root - INFO - Logging initialized
2026-01-18 22:25:51,973 - werkzeug - WARNING - * Debugger is active!
2026-01-18 22:25:51,976 - werkzeug - INFO - * Debugger PIN: 133-323-371
2026-01-18 22:25:52,986 - werkzeug - INFO - * Detected change in '/home/alfie/Documents/programming-projects/websites/alfieking.dev/src/routes/error_handlers.py', reloading
2026-01-18 22:25:53,233 - root - INFO - Logging initialized
2026-01-18 22:25:53,255 - werkzeug - WARNING - * Debugger is active!
2026-01-18 22:25:53,258 - werkzeug - INFO - * Debugger PIN: 133-323-371
2026-01-18 22:25:56,271 - werkzeug - INFO - * Detected change in '/home/alfie/Documents/programming-projects/websites/alfieking.dev/src/routes/error_handlers.py', reloading
2026-01-18 22:25:56,458 - root - INFO - Logging initialized
2026-01-18 22:25:56,480 - werkzeug - WARNING - * Debugger is active!
2026-01-18 22:25:56,482 - werkzeug - INFO - * Debugger PIN: 133-323-371
2026-01-18 22:26:01,503 - werkzeug - INFO - * Detected change in '/home/alfie/Documents/programming-projects/websites/alfieking.dev/src/routes/dynamic_routes.py', reloading
2026-01-18 22:26:01,709 - root - INFO - Logging initialized
2026-01-18 22:26:01,732 - werkzeug - WARNING - * Debugger is active!
2026-01-18 22:26:01,735 - werkzeug - INFO - * Debugger PIN: 133-323-371
2026-01-18 22:29:26,972 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:29:26] "GET /toaster HTTP/1.1" 200 -
2026-01-18 22:29:27,165 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:29:27] "GET /static/css/bases/base.css HTTP/1.1" 304 -
2026-01-18 22:29:27,170 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:29:27] "GET /static/css/toaster.css HTTP/1.1" 304 -
2026-01-18 22:29:27,175 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:29:27] "GET /static/content/buttons/ne0nbandit.png HTTP/1.1" 304 -
2026-01-18 22:29:27,177 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:29:27] "GET /static/content/buttons/thnlqd.png HTTP/1.1" 304 -
2026-01-18 22:29:27,179 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:29:27] "GET /static/content/buttons/nekoweb.gif HTTP/1.1" 304 -
2026-01-18 22:29:27,177 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:29:27] "GET /static/js/base.js HTTP/1.1" 304 -
2026-01-18 22:29:27,182 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:29:27] "GET /static/content/buttons/s1nez.gif HTTP/1.1" 304 -
2026-01-18 22:29:27,187 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:29:27] "GET /static/content/buttons/beeps.gif HTTP/1.1" 304 -
2026-01-18 22:29:27,189 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:29:27] "GET /static/content/buttons/insia.gif HTTP/1.1" 304 -
2026-01-18 22:29:27,192 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:29:27] "GET /static/content/buttons/blinkiescafe.gif HTTP/1.1" 304 -
2026-01-18 22:29:27,193 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:29:27] "GET /static/content/toaster/Toaster_v1.0_Dark.png HTTP/1.1" 304 -
2026-01-18 22:29:27,194 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:29:27] "GET /static/content/fur_meets/26-07-2025_critters_mk/PXL_20250726_155134418.jpg HTTP/1.1" 304 -
2026-01-18 22:29:27,195 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:29:27] "GET /static/content/fur_meets/26-07-2025_critters_mk/PXL_20250726_152110445.jpg HTTP/1.1" 304 -
2026-01-18 22:29:27,198 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:29:27] "GET /static/content/fur_meets/26-07-2025_critters_mk/PXL_20250726_155226274.jpg HTTP/1.1" 304 -
2026-01-18 22:29:27,199 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:29:27] "GET /static/content/fur_meets/26-07-2025_critters_mk/PXL_20250726_155434701.jpg HTTP/1.1" 304 -
2026-01-18 22:29:27,201 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:29:27] "GET /static/content/fur_meets/03-08-2025_paws_n_pistons/PXL_20250803_141943558.jpg HTTP/1.1" 304 -
2026-01-18 22:29:27,201 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:29:27] "GET /static/content/fur_meets/03-08-2025_paws_n_pistons/PXL_20250803_150138054.jpg HTTP/1.1" 304 -
2026-01-18 22:29:27,204 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:29:27] "GET /static/content/fur_meets/03-08-2025_paws_n_pistons/PXL_20250803_150249916.jpg HTTP/1.1" 304 -
2026-01-18 22:29:27,205 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:29:27] "GET /static/content/fur_meets/03-08-2025_paws_n_pistons/PXL_20250803_183614897.jpg HTTP/1.1" 304 -
2026-01-18 22:29:27,207 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:29:27] "GET /static/content/buttons/neocities.gif HTTP/1.1" 304 -
2026-01-18 22:29:27,208 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:29:27] "GET /static/content/buttons/tuxedodragon.gif HTTP/1.1" 304 -
2026-01-18 22:29:27,208 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:29:27] "GET /static/content/buttons/8831.png HTTP/1.1" 304 -
2026-01-18 22:29:27,211 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:29:27] "GET /static/content/buttons/emmixis.gif HTTP/1.1" 304 -
2026-01-18 22:29:27,212 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:29:27] "GET /static/content/general_images/icon.webp HTTP/1.1" 304 -
2026-01-18 22:29:27,213 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:29:27] "GET /static/content/general_images/haj.gif HTTP/1.1" 304 -
2026-01-18 22:29:36,379 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:29:36] "GET /favicon.ico HTTP/1.1" 200 -
2026-01-18 22:30:27,601 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:30:27] "GET / HTTP/1.1" 200 -
2026-01-18 22:30:27,788 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:30:27] "GET /static/css/bases/base.css HTTP/1.1" 304 -
2026-01-18 22:30:27,790 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:30:27] "GET /static/css/index.css HTTP/1.1" 304 -
2026-01-18 22:30:27,790 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:30:27] "GET /static/js/base.js HTTP/1.1" 304 -
2026-01-18 22:30:27,799 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:30:27] "GET /static/content/general_images/icon.webp HTTP/1.1" 304 -
2026-01-18 22:30:27,802 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:30:27] "GET /static/content/buttons/thnlqd.png HTTP/1.1" 304 -
2026-01-18 22:30:27,803 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:30:27] "GET /static/content/buttons/ne0nbandit.png HTTP/1.1" 304 -
2026-01-18 22:30:27,804 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:30:27] "GET /static/content/buttons/nekoweb.gif HTTP/1.1" 304 -
2026-01-18 22:30:27,805 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:30:27] "GET /static/content/buttons/s1nez.gif HTTP/1.1" 304 -
2026-01-18 22:30:27,803 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:30:27] "GET /static/content/buttons/emmixis.gif HTTP/1.1" 304 -
2026-01-18 22:30:27,806 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:30:27] "GET /static/content/buttons/beeps.gif HTTP/1.1" 304 -
2026-01-18 22:30:27,808 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:30:27] "GET /static/content/buttons/blinkiescafe.gif HTTP/1.1" 304 -
2026-01-18 22:30:27,808 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:30:27] "GET /static/content/buttons/insia.gif HTTP/1.1" 304 -
2026-01-18 22:30:27,810 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:30:27] "GET /static/content/buttons/8831.png HTTP/1.1" 304 -
2026-01-18 22:30:27,811 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:30:27] "GET /static/content/buttons/neocities.gif HTTP/1.1" 304 -
2026-01-18 22:30:27,812 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:30:27] "GET /static/content/buttons/tuxedodragon.gif HTTP/1.1" 304 -
2026-01-18 22:30:27,813 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:30:27] "GET /static/content/general_images/haj.gif HTTP/1.1" 304 -
2026-01-18 22:30:27,834 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:30:27] "GET /static/content/other/buttons.txt HTTP/1.1" 304 -
2026-01-18 22:34:02,552 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:02] "GET / HTTP/1.1" 200 -
2026-01-18 22:34:02,721 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:02] "GET /static/css/bases/base.css HTTP/1.1" 304 -
2026-01-18 22:34:02,723 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:02] "GET /static/css/index.css HTTP/1.1" 304 -
2026-01-18 22:34:02,723 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:02] "GET /static/js/base.js HTTP/1.1" 304 -
2026-01-18 22:34:02,735 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:02] "GET /static/content/buttons/emmixis.gif HTTP/1.1" 304 -
2026-01-18 22:34:02,737 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:02] "GET /static/content/buttons/ne0nbandit.png HTTP/1.1" 304 -
2026-01-18 22:34:02,738 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:02] "GET /static/content/buttons/thnlqd.png HTTP/1.1" 304 -
2026-01-18 22:34:02,740 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:02] "GET /static/content/buttons/s1nez.gif HTTP/1.1" 304 -
2026-01-18 22:34:02,740 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:02] "GET /static/content/buttons/nekoweb.gif HTTP/1.1" 304 -
2026-01-18 22:34:02,741 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:02] "GET /static/content/buttons/beeps.gif HTTP/1.1" 304 -
2026-01-18 22:34:02,742 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:02] "GET /static/content/buttons/insia.gif HTTP/1.1" 304 -
2026-01-18 22:34:02,744 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:02] "GET /static/content/buttons/8831.png HTTP/1.1" 304 -
2026-01-18 22:34:02,747 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:02] "GET /static/content/buttons/blinkiescafe.gif HTTP/1.1" 304 -
2026-01-18 22:34:02,748 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:02] "GET /static/content/buttons/neocities.gif HTTP/1.1" 304 -
2026-01-18 22:34:02,750 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:02] "GET /static/content/general_images/haj.gif HTTP/1.1" 304 -
2026-01-18 22:34:02,751 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:02] "GET /static/content/buttons/tuxedodragon.gif HTTP/1.1" 304 -
2026-01-18 22:34:02,752 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:02] "GET /static/content/general_images/icon.webp HTTP/1.1" 304 -
2026-01-18 22:34:02,763 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:02] "GET /static/content/other/buttons.txt HTTP/1.1" 304 -
2026-01-18 22:34:12,375 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:12] "GET / HTTP/1.1" 200 -
2026-01-18 22:34:12,515 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:12] "GET /static/css/bases/base.css HTTP/1.1" 304 -
2026-01-18 22:34:12,517 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:12] "GET /static/css/index.css HTTP/1.1" 304 -
2026-01-18 22:34:12,517 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:12] "GET /static/js/base.js HTTP/1.1" 304 -
2026-01-18 22:34:12,520 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:12] "GET /static/content/buttons/emmixis.gif HTTP/1.1" 304 -
2026-01-18 22:34:12,523 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:12] "GET /static/content/buttons/ne0nbandit.png HTTP/1.1" 304 -
2026-01-18 22:34:12,525 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:12] "GET /static/content/buttons/thnlqd.png HTTP/1.1" 304 -
2026-01-18 22:34:12,527 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:12] "GET /static/content/buttons/beeps.gif HTTP/1.1" 304 -
2026-01-18 22:34:12,528 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:12] "GET /static/content/buttons/nekoweb.gif HTTP/1.1" 304 -
2026-01-18 22:34:12,531 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:12] "GET /static/content/buttons/insia.gif HTTP/1.1" 304 -
2026-01-18 22:34:12,531 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:12] "GET /static/content/buttons/s1nez.gif HTTP/1.1" 304 -
2026-01-18 22:34:12,534 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:12] "GET /static/content/buttons/8831.png HTTP/1.1" 304 -
2026-01-18 22:34:12,535 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:12] "GET /static/content/buttons/neocities.gif HTTP/1.1" 304 -
2026-01-18 22:34:12,536 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:12] "GET /static/content/buttons/blinkiescafe.gif HTTP/1.1" 304 -
2026-01-18 22:34:12,538 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:12] "GET /static/content/buttons/tuxedodragon.gif HTTP/1.1" 304 -
2026-01-18 22:34:12,541 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:12] "GET /static/content/general_images/haj.gif HTTP/1.1" 304 -
2026-01-18 22:34:12,543 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:12] "GET /static/content/general_images/icon.webp HTTP/1.1" 304 -
2026-01-18 22:34:12,586 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:12] "GET /static/content/other/buttons.txt HTTP/1.1" 304 -
2026-01-18 22:34:17,701 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:17] "GET / HTTP/1.1" 200 -
2026-01-18 22:34:17,811 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:17] "GET /static/css/index.css HTTP/1.1" 304 -
2026-01-18 22:34:17,812 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:17] "GET /static/css/bases/base.css HTTP/1.1" 304 -
2026-01-18 22:34:17,812 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:17] "GET /static/js/base.js HTTP/1.1" 304 -
2026-01-18 22:34:17,818 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:17] "GET /static/content/buttons/emmixis.gif HTTP/1.1" 304 -
2026-01-18 22:34:17,819 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:17] "GET /static/content/buttons/ne0nbandit.png HTTP/1.1" 304 -
2026-01-18 22:34:17,820 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:17] "GET /static/content/buttons/thnlqd.png HTTP/1.1" 304 -
2026-01-18 22:34:17,821 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:17] "GET /static/content/buttons/nekoweb.gif HTTP/1.1" 304 -
2026-01-18 22:34:17,822 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:17] "GET /static/content/buttons/s1nez.gif HTTP/1.1" 304 -
2026-01-18 22:34:17,825 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:17] "GET /static/content/buttons/beeps.gif HTTP/1.1" 304 -
2026-01-18 22:34:17,825 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:17] "GET /static/content/buttons/insia.gif HTTP/1.1" 304 -
2026-01-18 22:34:17,827 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:17] "GET /static/content/buttons/8831.png HTTP/1.1" 304 -
2026-01-18 22:34:17,829 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:17] "GET /static/content/buttons/neocities.gif HTTP/1.1" 304 -
2026-01-18 22:34:17,831 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:17] "GET /static/content/buttons/tuxedodragon.gif HTTP/1.1" 304 -
2026-01-18 22:34:17,830 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:17] "GET /static/content/buttons/blinkiescafe.gif HTTP/1.1" 304 -
2026-01-18 22:34:17,833 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:17] "GET /static/content/general_images/icon.webp HTTP/1.1" 304 -
2026-01-18 22:34:17,832 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:17] "GET /static/content/general_images/haj.gif HTTP/1.1" 304 -
2026-01-18 22:34:17,857 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:34:17] "GET /static/content/other/buttons.txt HTTP/1.1" 304 -
2026-01-18 22:40:44,310 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:40:44] "GET / HTTP/1.1" 200 -
2026-01-18 22:40:44,451 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:40:44] "GET /static/css/bases/base.css HTTP/1.1" 304 -
2026-01-18 22:40:44,451 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:40:44] "GET /static/css/index.css HTTP/1.1" 304 -
2026-01-18 22:40:44,453 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:40:44] "GET /static/js/base.js HTTP/1.1" 304 -
2026-01-18 22:40:44,464 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:40:44] "GET /static/content/buttons/emmixis.gif HTTP/1.1" 304 -
2026-01-18 22:40:44,465 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:40:44] "GET /static/content/buttons/ne0nbandit.png HTTP/1.1" 304 -
2026-01-18 22:40:44,466 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:40:44] "GET /static/content/buttons/thnlqd.png HTTP/1.1" 304 -
2026-01-18 22:40:44,467 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:40:44] "GET /static/content/buttons/nekoweb.gif HTTP/1.1" 304 -
2026-01-18 22:40:44,468 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:40:44] "GET /static/content/buttons/s1nez.gif HTTP/1.1" 304 -
2026-01-18 22:40:44,468 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:40:44] "GET /static/content/buttons/beeps.gif HTTP/1.1" 304 -
2026-01-18 22:40:44,469 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:40:44] "GET /static/content/buttons/insia.gif HTTP/1.1" 304 -
2026-01-18 22:40:44,471 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:40:44] "GET /static/content/buttons/tuxedodragon.gif HTTP/1.1" 304 -
2026-01-18 22:40:44,473 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:40:44] "GET /static/content/buttons/neocities.gif HTTP/1.1" 304 -
2026-01-18 22:40:44,474 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:40:44] "GET /static/content/buttons/8831.png HTTP/1.1" 304 -
2026-01-18 22:40:44,475 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:40:44] "GET /static/content/buttons/blinkiescafe.gif HTTP/1.1" 304 -
2026-01-18 22:40:44,554 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:40:44] "GET /static/content/general_images/icon.webp HTTP/1.1" 304 -
2026-01-18 22:40:44,555 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:40:44] "GET /static/content/general_images/haj.gif HTTP/1.1" 304 -
2026-01-18 22:40:44,555 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:40:44] "GET /static/content/other/buttons.txt HTTP/1.1" 304 -
2026-01-18 22:40:59,771 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:40:59] "GET /toaster HTTP/1.1" 200 -
2026-01-18 22:40:59,918 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:40:59] "GET /static/css/bases/base.css HTTP/1.1" 304 -
2026-01-18 22:40:59,918 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:40:59] "GET /static/js/base.js HTTP/1.1" 304 -
2026-01-18 22:40:59,919 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:40:59] "GET /static/css/toaster.css HTTP/1.1" 304 -
2026-01-18 22:40:59,924 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:40:59] "GET /static/content/buttons/emmixis.gif HTTP/1.1" 304 -
2026-01-18 22:40:59,925 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:40:59] "GET /static/content/buttons/ne0nbandit.png HTTP/1.1" 304 -
2026-01-18 22:40:59,926 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:40:59] "GET /static/content/buttons/thnlqd.png HTTP/1.1" 304 -
2026-01-18 22:40:59,928 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:40:59] "GET /static/content/buttons/nekoweb.gif HTTP/1.1" 304 -
2026-01-18 22:40:59,929 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:40:59] "GET /static/content/buttons/insia.gif HTTP/1.1" 304 -
2026-01-18 22:40:59,929 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:40:59] "GET /static/content/buttons/s1nez.gif HTTP/1.1" 304 -
2026-01-18 22:40:59,930 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:40:59] "GET /static/content/buttons/beeps.gif HTTP/1.1" 304 -
2026-01-18 22:40:59,932 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:40:59] "GET /static/content/buttons/blinkiescafe.gif HTTP/1.1" 304 -
2026-01-18 22:40:59,933 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:40:59] "GET /static/content/buttons/8831.png HTTP/1.1" 304 -
2026-01-18 22:40:59,934 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:40:59] "GET /static/content/buttons/neocities.gif HTTP/1.1" 304 -
2026-01-18 22:40:59,935 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:40:59] "GET /static/content/buttons/tuxedodragon.gif HTTP/1.1" 304 -
2026-01-18 22:40:59,948 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:40:59] "GET /static/content/general_images/haj.gif HTTP/1.1" 304 -
2026-01-18 22:40:59,949 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:40:59] "GET /static/content/general_images/icon.webp HTTP/1.1" 304 -
2026-01-18 22:40:59,950 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:40:59] "GET /static/content/toaster/Toaster_v1.0_Dark.png HTTP/1.1" 304 -
2026-01-18 22:40:59,952 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:40:59] "GET /static/content/fur_meets/26-07-2025_critters_mk/PXL_20250726_152110445.jpg HTTP/1.1" 304 -
2026-01-18 22:40:59,954 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:40:59] "GET /static/content/fur_meets/26-07-2025_critters_mk/PXL_20250726_155434701.jpg HTTP/1.1" 304 -
2026-01-18 22:40:59,953 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:40:59] "GET /static/content/fur_meets/26-07-2025_critters_mk/PXL_20250726_155134418.jpg HTTP/1.1" 304 -
2026-01-18 22:40:59,955 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:40:59] "GET /static/content/fur_meets/26-07-2025_critters_mk/PXL_20250726_155226274.jpg HTTP/1.1" 304 -
2026-01-18 22:40:59,956 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:40:59] "GET /static/content/fur_meets/03-08-2025_paws_n_pistons/PXL_20250803_141943558.jpg HTTP/1.1" 304 -
2026-01-18 22:40:59,958 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:40:59] "GET /static/content/fur_meets/03-08-2025_paws_n_pistons/PXL_20250803_150249916.jpg HTTP/1.1" 304 -
2026-01-18 22:40:59,958 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:40:59] "GET /static/content/fur_meets/03-08-2025_paws_n_pistons/PXL_20250803_150138054.jpg HTTP/1.1" 304 -
2026-01-18 22:40:59,960 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:40:59] "GET /static/content/fur_meets/03-08-2025_paws_n_pistons/PXL_20250803_183614897.jpg HTTP/1.1" 304 -
2026-01-18 22:41:12,308 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:41:12] "GET /toaster HTTP/1.1" 200 -
2026-01-18 22:41:12,502 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:41:12] "GET /static/css/bases/base.css HTTP/1.1" 304 -
2026-01-18 22:41:12,503 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:41:12] "GET /static/css/toaster.css HTTP/1.1" 304 -
2026-01-18 22:41:12,503 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:41:12] "GET /static/js/base.js HTTP/1.1" 304 -
2026-01-18 22:41:12,517 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:41:12] "GET /static/content/buttons/emmixis.gif HTTP/1.1" 304 -
2026-01-18 22:41:12,519 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:41:12] "GET /static/content/buttons/ne0nbandit.png HTTP/1.1" 304 -
2026-01-18 22:41:12,520 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:41:12] "GET /static/content/buttons/thnlqd.png HTTP/1.1" 304 -
2026-01-18 22:41:12,521 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:41:12] "GET /static/content/buttons/nekoweb.gif HTTP/1.1" 304 -
2026-01-18 22:41:12,522 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:41:12] "GET /static/content/buttons/s1nez.gif HTTP/1.1" 304 -
2026-01-18 22:41:12,523 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:41:12] "GET /static/content/buttons/beeps.gif HTTP/1.1" 304 -
2026-01-18 22:41:12,524 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:41:12] "GET /static/content/buttons/blinkiescafe.gif HTTP/1.1" 304 -
2026-01-18 22:41:12,525 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:41:12] "GET /static/content/buttons/insia.gif HTTP/1.1" 304 -
2026-01-18 22:41:12,526 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:41:12] "GET /static/content/buttons/8831.png HTTP/1.1" 304 -
2026-01-18 22:41:12,528 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:41:12] "GET /static/content/buttons/neocities.gif HTTP/1.1" 304 -
2026-01-18 22:41:12,529 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:41:12] "GET /static/content/buttons/tuxedodragon.gif HTTP/1.1" 304 -
2026-01-18 22:41:12,564 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:41:12] "GET /static/content/general_images/icon.webp HTTP/1.1" 304 -
2026-01-18 22:41:12,566 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:41:12] "GET /static/content/fur_meets/26-07-2025_critters_mk/PXL_20250726_152110445.jpg HTTP/1.1" 304 -
2026-01-18 22:41:12,568 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:41:12] "GET /static/content/general_images/haj.gif HTTP/1.1" 304 -
2026-01-18 22:41:12,569 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:41:12] "GET /static/content/fur_meets/26-07-2025_critters_mk/PXL_20250726_155134418.jpg HTTP/1.1" 304 -
2026-01-18 22:41:12,568 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:41:12] "GET /static/content/toaster/Toaster_v1.0_Dark.png HTTP/1.1" 304 -
2026-01-18 22:41:12,572 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:41:12] "GET /static/content/fur_meets/26-07-2025_critters_mk/PXL_20250726_155226274.jpg HTTP/1.1" 304 -
2026-01-18 22:41:12,573 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:41:12] "GET /static/content/fur_meets/26-07-2025_critters_mk/PXL_20250726_155434701.jpg HTTP/1.1" 304 -
2026-01-18 22:41:12,576 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:41:12] "GET /static/content/fur_meets/03-08-2025_paws_n_pistons/PXL_20250803_141943558.jpg HTTP/1.1" 304 -
2026-01-18 22:41:12,577 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:41:12] "GET /static/content/fur_meets/03-08-2025_paws_n_pistons/PXL_20250803_150138054.jpg HTTP/1.1" 304 -
2026-01-18 22:41:12,578 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:41:12] "GET /static/content/fur_meets/03-08-2025_paws_n_pistons/PXL_20250803_150249916.jpg HTTP/1.1" 304 -
2026-01-18 22:41:12,579 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:41:12] "GET /static/content/fur_meets/03-08-2025_paws_n_pistons/PXL_20250803_183614897.jpg HTTP/1.1" 304 -
2026-01-18 22:41:55,101 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:41:55] "GET / HTTP/1.1" 200 -
2026-01-18 22:41:55,212 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:41:55] "GET /static/css/bases/base.css HTTP/1.1" 304 -
2026-01-18 22:41:55,212 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:41:55] "GET /static/css/index.css HTTP/1.1" 304 -
2026-01-18 22:41:55,214 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:41:55] "GET /static/js/base.js HTTP/1.1" 304 -
2026-01-18 22:41:55,222 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:41:55] "GET /static/content/buttons/emmixis.gif HTTP/1.1" 304 -
2026-01-18 22:41:55,226 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:41:55] "GET /static/content/buttons/ne0nbandit.png HTTP/1.1" 304 -
2026-01-18 22:41:55,226 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:41:55] "GET /static/content/buttons/nekoweb.gif HTTP/1.1" 304 -
2026-01-18 22:41:55,227 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:41:55] "GET /static/content/buttons/beeps.gif HTTP/1.1" 304 -
2026-01-18 22:41:55,228 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:41:55] "GET /static/content/buttons/thnlqd.png HTTP/1.1" 304 -
2026-01-18 22:41:55,229 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:41:55] "GET /static/content/buttons/s1nez.gif HTTP/1.1" 304 -
2026-01-18 22:41:55,230 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:41:55] "GET /static/content/buttons/insia.gif HTTP/1.1" 304 -
2026-01-18 22:41:55,232 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:41:55] "GET /static/content/buttons/blinkiescafe.gif HTTP/1.1" 304 -
2026-01-18 22:41:55,233 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:41:55] "GET /static/content/buttons/neocities.gif HTTP/1.1" 304 -
2026-01-18 22:41:55,232 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:41:55] "GET /static/content/buttons/8831.png HTTP/1.1" 304 -
2026-01-18 22:41:55,234 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:41:55] "GET /static/content/buttons/tuxedodragon.gif HTTP/1.1" 304 -
2026-01-18 22:41:55,272 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:41:55] "GET /static/content/general_images/haj.gif HTTP/1.1" 304 -
2026-01-18 22:41:55,272 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:41:55] "GET /static/content/general_images/icon.webp HTTP/1.1" 304 -
2026-01-18 22:41:55,273 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:41:55] "GET /static/content/other/buttons.txt HTTP/1.1" 304 -
2026-01-18 22:42:08,053 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:42:08] "GET / HTTP/1.1" 200 -
2026-01-18 22:42:08,145 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:42:08] "GET /static/css/index.css HTTP/1.1" 304 -
2026-01-18 22:42:08,145 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:42:08] "GET /static/css/bases/base.css HTTP/1.1" 304 -
2026-01-18 22:42:08,146 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:42:08] "GET /static/js/base.js HTTP/1.1" 304 -
2026-01-18 22:42:08,149 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:42:08] "GET /static/content/buttons/emmixis.gif HTTP/1.1" 304 -
2026-01-18 22:42:08,149 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:42:08] "GET /static/content/buttons/ne0nbandit.png HTTP/1.1" 304 -
2026-01-18 22:42:08,151 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:42:08] "GET /static/content/buttons/nekoweb.gif HTTP/1.1" 304 -
2026-01-18 22:42:08,152 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:42:08] "GET /static/content/buttons/beeps.gif HTTP/1.1" 304 -
2026-01-18 22:42:08,153 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:42:08] "GET /static/content/buttons/thnlqd.png HTTP/1.1" 304 -
2026-01-18 22:42:08,154 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:42:08] "GET /static/content/buttons/blinkiescafe.gif HTTP/1.1" 304 -
2026-01-18 22:42:08,155 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:42:08] "GET /static/content/buttons/s1nez.gif HTTP/1.1" 304 -
2026-01-18 22:42:08,153 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:42:08] "GET /static/content/buttons/insia.gif HTTP/1.1" 304 -
2026-01-18 22:42:08,156 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:42:08] "GET /static/content/buttons/8831.png HTTP/1.1" 304 -
2026-01-18 22:42:08,159 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:42:08] "GET /static/content/buttons/tuxedodragon.gif HTTP/1.1" 304 -
2026-01-18 22:42:08,160 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:42:08] "GET /static/content/buttons/neocities.gif HTTP/1.1" 304 -
2026-01-18 22:42:08,171 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:42:08] "GET /static/content/general_images/icon.webp HTTP/1.1" 304 -
2026-01-18 22:42:08,171 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:42:08] "GET /static/content/general_images/haj.gif HTTP/1.1" 304 -
2026-01-18 22:42:08,182 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:42:08] "GET /static/content/other/buttons.txt HTTP/1.1" 304 -
2026-01-18 22:46:31,733 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:46:31] "GET / HTTP/1.1" 200 -
2026-01-18 22:46:31,838 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:46:31] "GET /static/css/bases/base.css HTTP/1.1" 304 -
2026-01-18 22:46:31,839 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:46:31] "GET /static/js/base.js HTTP/1.1" 304 -
2026-01-18 22:46:31,840 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:46:31] "GET /static/css/index.css HTTP/1.1" 304 -
2026-01-18 22:46:31,863 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:46:31] "GET /static/content/buttons/emmixis.gif HTTP/1.1" 304 -
2026-01-18 22:46:31,864 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:46:31] "GET /static/content/buttons/ne0nbandit.png HTTP/1.1" 304 -
2026-01-18 22:46:31,864 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:46:31] "GET /static/content/buttons/thnlqd.png HTTP/1.1" 304 -
2026-01-18 22:46:31,866 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:46:31] "GET /static/content/buttons/nekoweb.gif HTTP/1.1" 304 -
2026-01-18 22:46:31,867 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:46:31] "GET /static/content/buttons/s1nez.gif HTTP/1.1" 304 -
2026-01-18 22:46:31,868 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:46:31] "GET /static/content/buttons/beeps.gif HTTP/1.1" 304 -
2026-01-18 22:46:31,870 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:46:31] "GET /static/content/buttons/blinkiescafe.gif HTTP/1.1" 304 -
2026-01-18 22:46:31,871 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:46:31] "GET /static/content/buttons/8831.png HTTP/1.1" 304 -
2026-01-18 22:46:31,872 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:46:31] "GET /static/content/buttons/insia.gif HTTP/1.1" 304 -
2026-01-18 22:46:31,873 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:46:31] "GET /static/content/buttons/neocities.gif HTTP/1.1" 304 -
2026-01-18 22:46:31,873 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:46:31] "GET /static/content/buttons/tuxedodragon.gif HTTP/1.1" 304 -
2026-01-18 22:46:31,893 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:46:31] "GET /static/content/general_images/haj.gif HTTP/1.1" 304 -
2026-01-18 22:46:31,894 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:46:31] "GET /static/content/other/buttons.txt HTTP/1.1" 304 -
2026-01-18 22:46:31,893 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:46:31] "GET /static/content/general_images/icon.webp HTTP/1.1" 304 -
2026-01-18 22:46:47,977 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:46:47] "GET / HTTP/1.1" 200 -
2026-01-18 22:46:48,077 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:46:48] "GET /static/css/bases/base.css HTTP/1.1" 304 -
2026-01-18 22:46:48,078 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:46:48] "GET /static/css/index.css HTTP/1.1" 304 -
2026-01-18 22:46:48,079 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:46:48] "GET /static/js/base.js HTTP/1.1" 304 -
2026-01-18 22:46:48,083 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:46:48] "GET /static/content/buttons/emmixis.gif HTTP/1.1" 304 -
2026-01-18 22:46:48,084 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:46:48] "GET /static/content/buttons/ne0nbandit.png HTTP/1.1" 304 -
2026-01-18 22:46:48,085 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:46:48] "GET /static/content/buttons/thnlqd.png HTTP/1.1" 304 -
2026-01-18 22:46:48,086 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:46:48] "GET /static/content/buttons/nekoweb.gif HTTP/1.1" 304 -
2026-01-18 22:46:48,088 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:46:48] "GET /static/content/buttons/tuxedodragon.gif HTTP/1.1" 304 -
2026-01-18 22:46:48,088 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:46:48] "GET /static/content/buttons/insia.gif HTTP/1.1" 304 -
2026-01-18 22:46:48,087 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:46:48] "GET /static/content/buttons/s1nez.gif HTTP/1.1" 304 -
2026-01-18 22:46:48,088 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:46:48] "GET /static/content/buttons/beeps.gif HTTP/1.1" 304 -
2026-01-18 22:46:48,091 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:46:48] "GET /static/content/buttons/blinkiescafe.gif HTTP/1.1" 304 -
2026-01-18 22:46:48,092 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:46:48] "GET /static/content/buttons/neocities.gif HTTP/1.1" 304 -
2026-01-18 22:46:48,092 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:46:48] "GET /static/content/buttons/8831.png HTTP/1.1" 304 -
2026-01-18 22:46:48,101 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:46:48] "GET /static/content/general_images/haj.gif HTTP/1.1" 304 -
2026-01-18 22:46:48,102 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:46:48] "GET /static/content/general_images/icon.webp HTTP/1.1" 304 -
2026-01-18 22:46:48,106 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:46:48] "GET /static/content/other/buttons.txt HTTP/1.1" 304 -
2026-01-18 22:49:58,019 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:49:58] "GET / HTTP/1.1" 200 -
2026-01-18 22:49:58,211 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:49:58] "GET /static/css/bases/base.css HTTP/1.1" 304 -
2026-01-18 22:49:58,211 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:49:58] "GET /static/css/index.css HTTP/1.1" 304 -
2026-01-18 22:49:58,220 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:49:58] "GET /static/js/base.js HTTP/1.1" 200 -
2026-01-18 22:49:58,261 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:49:58] "GET /static/content/buttons/emmixis.gif HTTP/1.1" 304 -
2026-01-18 22:49:58,263 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:49:58] "GET /static/content/buttons/nekoweb.gif HTTP/1.1" 304 -
2026-01-18 22:49:58,265 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:49:58] "GET /static/content/buttons/ne0nbandit.png HTTP/1.1" 304 -
2026-01-18 22:49:58,264 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:49:58] "GET /static/content/buttons/thnlqd.png HTTP/1.1" 304 -
2026-01-18 22:49:58,264 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:49:58] "GET /static/content/buttons/s1nez.gif HTTP/1.1" 304 -
2026-01-18 22:49:58,266 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:49:58] "GET /static/content/buttons/beeps.gif HTTP/1.1" 304 -
2026-01-18 22:49:58,267 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:49:58] "GET /static/content/buttons/insia.gif HTTP/1.1" 304 -
2026-01-18 22:49:58,269 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:49:58] "GET /static/content/buttons/neocities.gif HTTP/1.1" 304 -
2026-01-18 22:49:58,270 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:49:58] "GET /static/content/buttons/8831.png HTTP/1.1" 304 -
2026-01-18 22:49:58,270 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:49:58] "GET /static/content/buttons/blinkiescafe.gif HTTP/1.1" 304 -
2026-01-18 22:49:58,271 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:49:58] "GET /static/content/buttons/tuxedodragon.gif HTTP/1.1" 304 -
2026-01-18 22:49:58,322 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:49:58] "GET /static/content/general_images/haj.gif HTTP/1.1" 304 -
2026-01-18 22:49:58,324 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:49:58] "GET /static/content/general_images/icon.webp HTTP/1.1" 304 -
2026-01-18 22:49:58,356 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:49:58] "GET /static/content/buttons/non_link_buttons.txt HTTP/1.1" 200 -
2026-01-18 22:54:40,587 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:54:40] "GET / HTTP/1.1" 200 -
2026-01-18 22:54:40,771 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:54:40] "GET /static/css/bases/base.css HTTP/1.1" 304 -
2026-01-18 22:54:40,771 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:54:40] "GET /static/css/index.css HTTP/1.1" 304 -
2026-01-18 22:54:40,774 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:54:40] "GET /static/js/base.js HTTP/1.1" 304 -
2026-01-18 22:54:40,784 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:54:40] "GET /static/content/buttons/hijpixel.gif HTTP/1.1" 200 -
2026-01-18 22:54:40,786 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:54:40] "GET /static/content/buttons/lensdeer.gif HTTP/1.1" 200 -
2026-01-18 22:54:40,791 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:54:40] "GET /static/content/buttons/emmixis.gif HTTP/1.1" 304 -
2026-01-18 22:54:40,793 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:54:40] "GET /static/content/buttons/ne0nbandit.png HTTP/1.1" 304 -
2026-01-18 22:54:40,793 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:54:40] "GET /static/content/buttons/thnlqd.png HTTP/1.1" 304 -
2026-01-18 22:54:40,795 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:54:40] "GET /static/content/buttons/s1nez.gif HTTP/1.1" 304 -
2026-01-18 22:54:40,796 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:54:40] "GET /static/content/buttons/nekoweb.gif HTTP/1.1" 304 -
2026-01-18 22:54:40,799 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:54:40] "GET /static/content/buttons/beeps.gif HTTP/1.1" 304 -
2026-01-18 22:54:40,800 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:54:40] "GET /static/content/buttons/blinkiescafe.gif HTTP/1.1" 304 -
2026-01-18 22:54:40,801 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:54:40] "GET /static/content/buttons/8831.png HTTP/1.1" 304 -
2026-01-18 22:54:40,802 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:54:40] "GET /static/content/buttons/insia.gif HTTP/1.1" 304 -
2026-01-18 22:54:40,803 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:54:40] "GET /static/content/buttons/tuxedodragon.gif HTTP/1.1" 304 -
2026-01-18 22:54:40,803 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:54:40] "GET /static/content/buttons/neocities.gif HTTP/1.1" 304 -
2026-01-18 22:54:40,826 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:54:40] "GET /static/content/general_images/haj.gif HTTP/1.1" 304 -
2026-01-18 22:54:40,828 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:54:40] "GET /static/content/general_images/icon.webp HTTP/1.1" 304 -
2026-01-18 22:54:40,838 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:54:40] "GET /static/content/buttons/non_link_buttons.txt HTTP/1.1" 200 -
2026-01-18 22:55:37,951 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:55:37] "GET /toaster HTTP/1.1" 200 -
2026-01-18 22:55:38,101 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:55:38] "GET /static/css/bases/base.css HTTP/1.1" 304 -
2026-01-18 22:55:38,101 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:55:38] "GET /static/css/toaster.css HTTP/1.1" 304 -
2026-01-18 22:55:38,102 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:55:38] "GET /static/js/base.js HTTP/1.1" 304 -
2026-01-18 22:55:38,107 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:55:38] "GET /static/content/buttons/hijpixel.gif HTTP/1.1" 304 -
2026-01-18 22:55:38,108 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:55:38] "GET /static/content/buttons/lensdeer.gif HTTP/1.1" 304 -
2026-01-18 22:55:38,110 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:55:38] "GET /static/content/buttons/emmixis.gif HTTP/1.1" 304 -
2026-01-18 22:55:38,111 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:55:38] "GET /static/content/buttons/ne0nbandit.png HTTP/1.1" 304 -
2026-01-18 22:55:38,112 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:55:38] "GET /static/content/buttons/thnlqd.png HTTP/1.1" 304 -
2026-01-18 22:55:38,112 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:55:38] "GET /static/content/buttons/nekoweb.gif HTTP/1.1" 304 -
2026-01-18 22:55:38,114 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:55:38] "GET /static/content/buttons/s1nez.gif HTTP/1.1" 304 -
2026-01-18 22:55:38,116 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:55:38] "GET /static/content/buttons/beeps.gif HTTP/1.1" 304 -
2026-01-18 22:55:38,116 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:55:38] "GET /static/content/buttons/insia.gif HTTP/1.1" 304 -
2026-01-18 22:55:38,117 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:55:38] "GET /static/content/buttons/blinkiescafe.gif HTTP/1.1" 304 -
2026-01-18 22:55:38,119 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:55:38] "GET /static/content/buttons/neocities.gif HTTP/1.1" 304 -
2026-01-18 22:55:38,119 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:55:38] "GET /static/content/buttons/8831.png HTTP/1.1" 304 -
2026-01-18 22:55:38,121 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:55:38] "GET /static/content/buttons/tuxedodragon.gif HTTP/1.1" 304 -
2026-01-18 22:55:38,143 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:55:38] "GET /static/content/general_images/haj.gif HTTP/1.1" 304 -
2026-01-18 22:55:38,144 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:55:38] "GET /static/content/general_images/icon.webp HTTP/1.1" 304 -
2026-01-18 22:55:38,145 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:55:38] "GET /static/content/toaster/Toaster_v1.0_Dark.png HTTP/1.1" 304 -
2026-01-18 22:55:38,147 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:55:38] "GET /static/content/fur_meets/26-07-2025_critters_mk/PXL_20250726_152110445.jpg HTTP/1.1" 304 -
2026-01-18 22:55:38,147 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:55:38] "GET /static/content/fur_meets/26-07-2025_critters_mk/PXL_20250726_155134418.jpg HTTP/1.1" 304 -
2026-01-18 22:55:38,148 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:55:38] "GET /static/content/fur_meets/26-07-2025_critters_mk/PXL_20250726_155226274.jpg HTTP/1.1" 304 -
2026-01-18 22:55:38,150 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:55:38] "GET /static/content/fur_meets/03-08-2025_paws_n_pistons/PXL_20250803_150138054.jpg HTTP/1.1" 304 -
2026-01-18 22:55:38,150 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:55:38] "GET /static/content/fur_meets/26-07-2025_critters_mk/PXL_20250726_155434701.jpg HTTP/1.1" 304 -
2026-01-18 22:55:38,151 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:55:38] "GET /static/content/fur_meets/03-08-2025_paws_n_pistons/PXL_20250803_141943558.jpg HTTP/1.1" 304 -
2026-01-18 22:55:38,151 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:55:38] "GET /static/content/fur_meets/03-08-2025_paws_n_pistons/PXL_20250803_150249916.jpg HTTP/1.1" 304 -
2026-01-18 22:55:38,152 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 22:55:38] "GET /static/content/fur_meets/03-08-2025_paws_n_pistons/PXL_20250803_183614897.jpg HTTP/1.1" 304 -
2026-01-18 23:19:45,287 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 23:19:45] "GET / HTTP/1.1" 200 -
2026-01-18 23:19:45,445 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 23:19:45] "GET /static/css/bases/base.css HTTP/1.1" 304 -
2026-01-18 23:19:45,446 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 23:19:45] "GET /static/css/index.css HTTP/1.1" 304 -
2026-01-18 23:19:45,447 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 23:19:45] "GET /static/js/base.js HTTP/1.1" 304 -
2026-01-18 23:19:45,479 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 23:19:45] "GET /static/content/buttons/hijpixel.gif HTTP/1.1" 304 -
2026-01-18 23:19:45,479 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 23:19:45] "GET /static/content/buttons/lensdeer.gif HTTP/1.1" 304 -
2026-01-18 23:19:45,481 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 23:19:45] "GET /static/content/buttons/emmixis.gif HTTP/1.1" 304 -
2026-01-18 23:19:45,482 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 23:19:45] "GET /static/content/buttons/ne0nbandit.png HTTP/1.1" 304 -
2026-01-18 23:19:45,484 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 23:19:45] "GET /static/content/buttons/nekoweb.gif HTTP/1.1" 304 -
2026-01-18 23:19:45,485 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 23:19:45] "GET /static/content/buttons/thnlqd.png HTTP/1.1" 304 -
2026-01-18 23:19:45,485 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 23:19:45] "GET /static/content/buttons/s1nez.gif HTTP/1.1" 304 -
2026-01-18 23:19:45,487 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 23:19:45] "GET /static/content/buttons/beeps.gif HTTP/1.1" 304 -
2026-01-18 23:19:45,488 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 23:19:45] "GET /static/content/buttons/insia.gif HTTP/1.1" 304 -
2026-01-18 23:19:45,489 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 23:19:45] "GET /static/content/buttons/blinkiescafe.gif HTTP/1.1" 304 -
2026-01-18 23:19:45,491 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 23:19:45] "GET /static/content/buttons/8831.png HTTP/1.1" 304 -
2026-01-18 23:19:45,491 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 23:19:45] "GET /static/content/buttons/neocities.gif HTTP/1.1" 304 -
2026-01-18 23:19:45,492 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 23:19:45] "GET /static/content/buttons/tuxedodragon.gif HTTP/1.1" 304 -
2026-01-18 23:19:45,535 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 23:19:45] "GET /static/content/general_images/icon.webp HTTP/1.1" 304 -
2026-01-18 23:19:45,536 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 23:19:45] "GET /static/content/general_images/haj.gif HTTP/1.1" 304 -
2026-01-18 23:19:45,537 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 23:19:45] "GET /static/content/buttons/non_link_buttons.txt HTTP/1.1" 304 -
2026-01-18 23:21:27,084 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 23:21:27] "GET / HTTP/1.1" 200 -
2026-01-18 23:21:27,215 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 23:21:27] "GET /static/css/bases/base.css HTTP/1.1" 304 -
2026-01-18 23:21:27,216 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 23:21:27] "GET /static/css/index.css HTTP/1.1" 304 -
2026-01-18 23:21:27,217 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 23:21:27] "GET /static/js/base.js HTTP/1.1" 304 -
2026-01-18 23:21:27,226 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 23:21:27] "GET /static/content/buttons/hijpixel.gif HTTP/1.1" 304 -
2026-01-18 23:21:27,227 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 23:21:27] "GET /static/content/buttons/lensdeer.gif HTTP/1.1" 304 -
2026-01-18 23:21:27,228 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 23:21:27] "GET /static/content/buttons/emmixis.gif HTTP/1.1" 304 -
2026-01-18 23:21:27,229 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 23:21:27] "GET /static/content/buttons/ne0nbandit.png HTTP/1.1" 304 -
2026-01-18 23:21:27,231 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 23:21:27] "GET /static/content/buttons/nekoweb.gif HTTP/1.1" 304 -
2026-01-18 23:21:27,232 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 23:21:27] "GET /static/content/buttons/thnlqd.png HTTP/1.1" 304 -
2026-01-18 23:21:27,231 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 23:21:27] "GET /static/content/buttons/s1nez.gif HTTP/1.1" 304 -
2026-01-18 23:21:27,234 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 23:21:27] "GET /static/content/buttons/beeps.gif HTTP/1.1" 304 -
2026-01-18 23:21:27,235 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 23:21:27] "GET /static/content/buttons/insia.gif HTTP/1.1" 304 -
2026-01-18 23:21:27,238 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 23:21:27] "GET /static/content/buttons/blinkiescafe.gif HTTP/1.1" 304 -
2026-01-18 23:21:27,236 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 23:21:27] "GET /static/content/buttons/8831.png HTTP/1.1" 304 -
2026-01-18 23:21:27,237 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 23:21:27] "GET /static/content/buttons/neocities.gif HTTP/1.1" 304 -
2026-01-18 23:21:27,240 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 23:21:27] "GET /static/content/buttons/tuxedodragon.gif HTTP/1.1" 304 -
2026-01-18 23:21:27,275 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 23:21:27] "GET /static/content/general_images/haj.gif HTTP/1.1" 304 -
2026-01-18 23:21:27,276 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 23:21:27] "GET /static/content/general_images/icon.webp HTTP/1.1" 304 -
2026-01-18 23:21:27,277 - werkzeug - INFO - 127.0.0.1 - - [18/Jan/2026 23:21:27] "GET /static/content/buttons/non_link_buttons.txt HTTP/1.1" 304 -

22
dockerfile Normal file
View File

@@ -0,0 +1,22 @@
FROM python:alpine
# Set the working directory
WORKDIR /app
# Copy the requirements file into the container
COPY requirements.txt .
# Install the required packages
RUN pip install --no-cache-dir -r requirements.txt
RUN pip install gunicorn
# Copy the rest of the application code into the container
COPY src src
COPY templates templates
COPY static static
# Expose the port the app runs on
EXPOSE 5000
# run the application
ENTRYPOINT [ "gunicorn", "-b", ":5000", "--access-logfile", "-", "--error-logfile", "-", "src.wsgi:app" ]

View File

@@ -1,179 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Alfie's basement</title>
<link rel="icon" href="/static/content/icon.webp">
<link rel="stylesheet" href="/static/css/index.css">
<meta name="description" content="Alfie's basement">
<meta name="keywords" content="Alfie King, Alfie, King, Alfieking, Alfieking.dev, dev, server">
<meta name="author" content="Alfie King">
<meta name="robots" content="all">
<meta name="theme-color" content="#63de90" data-react-helmet="true">
<meta property="og:site_name" content="Alfieking.dev">
<meta property="og:url" content="https://alfieking.dev">
<meta property="og:title" content="Alfie's basement">
<meta property="og:description" content="server backend survivor">
<meta property="og:image" content="static/content/icon.webp">
</head>
<body>
<div id="furry"></div>
<div id="sidebar">
<nav>
<section>
<h1>Things to see :3</h1>
<ul>
<li><a href="#Home" onclick="alert('ur already here :3')">Home</a></li>
<li><a href="https://git.alfieking.dev/acetheking987">Gitea</a></li>
<li><a href="https://www.last.fm/user/acetheking987">LastFm</a></li>
<li><a href="https://prismic.alfieking.dev">Prismic</a></li>
<li><a href="https://open.spotify.com/user/xz02oolstlvwxqu1pfcua9exz?si=14396e637f284e03">Spotify</a></li>
<li><a href="https://steamcommunity.com/id/acetheking987/">Steam</a></li>
<li><a href="https://www.youtube.com/@acetheking987">YouTube</a></li>
<li><a href="https://acetheking987.tumblr.com/">Tumblr</a></li>
<li><a href="https://www.reddit.com/user/acetheking987">Reddit</a></li>
</ul>
</section>
</nav>
<section>
<h6 class="irken">heya, try typing "furry" and "irken" into this page!</h6>
</section>
<section id="buttons">
<h1>BUTTONS</h1>
<ul>
<li><a href="https://dimden.dev/"><img src="https://dimden.dev/services/images/88x31.gif" alt="dimden"></a></li>
<li><a href="https://ne0nbandit.neocities.org/"><img src="https://ne0nbandit.github.io/assets/img/btn/mine/nbbanner.png" alt="ne0nbandit"></a></li>
<li><a href="https://thinliquid.dev"><img src="https://thinliquid.dev/thnlqd.png" alt="thinliquid"></a></li>
<li><a href="https://nekoweb.org/"><img src="https://nekoweb.org/assets/buttons/button6.gif" alt="nekoweb"></a><!-- button by s1nez.nekoweb.org --></li>
<li><a href="https://s1nez.nekoweb.org/"><img src="https://s1nez.nekoweb.org/BUTTON.gif" alt="s1nez"></a></li>
<li><a href="https://beeps.website"><img src="https://beeps.website/assets/images/88x31-d.gif" alt="beeps"></a></li>
<li><a href="https://sparky.wagging.dev"><img src="https://sparky.wagging.dev/sparkybutton.png" alt="sparkythedogo"></a></li>
<li><a href="https://itsnotstupid.com"><img src="https://itsnotstupid.com/pics/button1.gif" alt="itsnotstupid"></a></li>
<li><a href='https://blinkies.cafe'><img src='https://blinkies.cafe/b/display/blinkiesCafe-badge.gif' alt='blinkies.cafe | make your own blinkies!'></a></li>
<li><a href="https://eightyeightthirty.one"><img src="https://eightyeightthirty.one/88x31.png" alt="88x31"></a></li>
<li><a href="https://neocities.org"><img src="https://cyber.dabamos.de/88x31/neocities-now.gif" alt="neocities"></a></li>
<li><a href="https://0x4248.dev"><img src="https://sparky.wagging.dev/Webaddons/button.gif" alt="0x4248"></a></li>
</ul>
</section>
<section>
<pre class="vsmoltext"> |\ _,,,---,,_<br>ZZZzz /,`.-'`' -. ;-;;,_<br> |,4- ) )-,_. ,\ ( `'-'<br> '---''(_/--' `-'\_)</pre>
</section>
<img src="static/content/haj.gif" alt="haj" class="haj">
</div>
<main id="main">
<header id="home">
<div class="row">
<img src="/static/content/icon.webp">
<div>
<h1>Alfie King</h1>
<h2 id="typing">server backend survivor</h2>
</div>
</div>
</header>
<nav id="alt-nav">
<ul>
<li><a href="https://git.alfieking.dev/acetheking987">Gitea</a></li>
<li><a href="https://www.last.fm/user/acetheking987">LastFm</a></li>
<li><a href="https://prismic.alfieking.dev">Prismic</a></li>
<li><a href="https://open.spotify.com/user/xz02oolstlvwxqu1pfcua9exz?si=14396e637f284e03">Spotify</a></li>
<li><a href="https://steamcommunity.com/id/acetheking987/">Steam</a></li>
<li><a href="https://www.youtube.com/@acetheking987">YouTube</a></li>
<li><a href="https://acetheking987.tumblr.com/">Tumblr</a></li>
<li><a href="https://www.reddit.com/user/acetheking987">Reddit</a></li>
</ul>
</nav>
<section>
<h1>A lil bit abt me</h1>
<p>
Im not good with writing so dont expect much here. I am a student who is learning c++ and python. I've Done a few projects that i think
are decent enough to show off, so I have put them on this website. I like to mess around with linux and have a few servers that I run. I've
been running a server for a few years now, and I have learned a lot from it. I have also switched to linux on my main computer, which has been
slightly annoying at times (mainly because one of my most played games' anticheat doesn't support on linux atm. Also, the lack of photoshop is
a pain).
<br><br>
I would like to make some more projects in the future, but I am not sure what I want to make yet. I tend to make thing on impulse a lot, and motivation
is "lacking" at times. So the few ideas I do have may never come to fruition. I hope to get better at art so i could hopefully make a game that is somewhat
interesting. But im at a lack of ideas at the moment.
<br><br>
I would also like to have a functional blog on this site, but I bearly talk about much so I dont know what I would write about. I like to ramble on about
random things, but I dont think that would be very interesting to read, and I think that I would forget to update it. I have a tumblr that I have had for a few
years now, but I dont post on it (the social anxiety is too much for me :<). However I hope to get better at that in the future.
</p>
</section>
<section class="blinkies">
<img src="https://adriansblinkiecollection.neocities.org/x45.gif" alt="">
<img src="https://adriansblinkiecollection.neocities.org/t3.gif" alt="">
<img src="https://adriansblinkiecollection.neocities.org/k25.gif" alt="">
<img src="https://s1nez.nekoweb.org/img/52475686_BP77MK3UdnLmIQk.gif" alt="">
<img src="https://s1nez.nekoweb.org/img/hc/hc%20(79).gif" alt="">
<img src="https://dewside.neocities.org/blinkies/bisigns.gif" alt="">
<img src="https://s1nez.nekoweb.org/g/ggg/gg%20(32).gif" alt="">
<img src="https://s1nez.nekoweb.org/img/7dcd20d4.gif" alt="">
</section>
<section class="rowsect">
<a href="" id="spotify-link">
<div id="spotify">
<h1 id="spotify-title"></h1>
<h2 id="spotify-artist"></h2>
</div>
</a>
<div class="stamps">
<img src="https://s1nez.nekoweb.org/img/other/ba4ba47a.png" alt="">
<img src="https://s1nez.nekoweb.org/img/fa02abd7.png" alt="">
<img src="https://s1nez.nekoweb.org/img/hc/hc%20(172).gif" alt="">
<img src="https://gligar.neocities.org/furret2.png" alt="">
<img src="https://gligar.neocities.org/ralsei2.png" alt="">
<img src="https://gligar.neocities.org/tism.png" alt="">
<img src="https://64.media.tumblr.com/11957593416710af9ff049ff6ae7ab63/tumblr_pbb7cd42Ln1xz2nuuo4_100.gif" alt="">
<img src="https://dewside.neocities.org/stamps/dogofwisdom.gif" alt="">
<img src="https://dewside.neocities.org/stamps/kazookid.gif" alt="">
<img src="https://64.media.tumblr.com/3085aeace24ca0c5ddf08aac37cc3ab4/45a30eb92e06a85c-3a/s100x200/b7bfb2e91adbc310f712f4492e668298bd0779de.gif" alt="">
<img src="https://s1nez.nekoweb.org/img/hc/hc%20(27).png" alt="">
<img src="https://s1nez.nekoweb.org/g/ggg/gg%20(13).gif" alt="">
<img src="https://kopawz.neocities.org/stamphoard/stamps2/kriswhere.png" alt="">
<img src="https://adriansblinkiecollection.neocities.org/stamps/g5.gif" alt="">
<img src="https://adriansblinkiecollection.neocities.org/stamps/e40.gif" alt="">
<img src="https://adriansblinkiecollection.neocities.org/stamps/e43.gif" alt="">
</div>
</section>
<section>
<h1>Projects & stuff</h1>
<p>just some projects ive worked on over time</p>
<ul>
<li>
<h2>alfieking.dev</h2>
<p>
This website is a project that I have been working on for a while now. I have made a few versions of it, but I have
never been happy with them. I am quite happy with this version atm since it is more organized and has a design that I
like.
<a href="https://git.alfieking.dev/acetheking987/alfieking.dev">source code</a>
</p>
</li>
<li>
<h2>owo (the terminal command)</h2>
<p>
I made this project as a joke, I can't remember exactly what I baised it off other than the fact that it was somthing
similar to this but in a different language. I originally made it in python, but I have since rewritten it in c++ so
that it would be faster and so that I could learn c++.
<a href="https://git.alfieking.dev/acetheking987/term-owo-cpp">source code</a>
</p>
</li>
<li>
<h2>api.alfieking.dev</h2>
<p>
This is just a basic api that runs the spotify embed on this page. I want it to do other stuff eventually, but atm im
mainly working on the main site and making the server backend better.
</p>
</li>
</ul>
</section>
<section>
<h1>The button collection™</h1>
<div id="button-collection">
</div>
</section>
</main>
<script src="/static/js/index.js"></script>
</body>
</html>

5
requirements.txt Normal file
View File

@@ -0,0 +1,5 @@
psycopg2-binary
python-dotenv
flask-session
requests
flask

5
run.sh Executable file
View File

@@ -0,0 +1,5 @@
#!/bin/bash
[ ! -f .env ] || export $(grep -v '^#' .env | xargs)
flask --app src.wsgi.py --debug run

View File

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://www.example.com/index.html</loc>
</url>
</urlset>

View File

@@ -0,0 +1,41 @@
# Imports
from flask import Blueprint, render_template, request, abort
from os import getenv as env
import logging, os, re
# Create blueprint
bp = Blueprint(
'dynamic_routes',
__name__,
template_folder=env('TEMPLATE_FOLDER', default='../templates'),
static_folder=env('STATIC_FOLDER', default='../static')
)
# Create logger
log = logging.getLogger(__name__)
# Get all files in folder
def ListFiles(path):
files = []
for root, dirs, files_in_dir in os.walk(path):
for file in files_in_dir:
files.append(os.path.relpath(os.path.join(root, file), path))
for dir in dirs:
files.append(os.path.relpath(os.path.join(root, dir), path) + '/')
return files
# Catch-all route for generic pages
@bp.route('/<path:filename>')
def catch_all(filename):
try:
return render_template(f'pages/{filename if re.match(r'^.+\.[a-zA-Z0-9]+$', filename) else filename + '.html'}')
except Exception as e:
os_path = os.path.join(bp.template_folder, 'pages', filename)[3:]
print(os_path)
if os.path.isdir(os_path):
if not filename.endswith('/'): filename += '/'
return render_template('bases/directory.html', directory=filename, pages=ListFiles(os_path))
# If it is a file, return a 404 error
abort(404, f"Template '{filename}' not found: {e}")

View File

@@ -0,0 +1,39 @@
# Imports
from flask import Blueprint, render_template
from os import getenv as env
import logging
# Create blueprint
bp = Blueprint(
'error_handlers',
__name__,
template_folder=env('TEMPLATE_FOLDER', default='../templates'),
static_folder=env('STATIC_FOLDER', default='../static')
)
# Create logger
log = logging.getLogger(__name__)
# Route for 500 error
@bp.route('/500')
@bp.app_errorhandler(500)
def internal_server_error(error=None):
if error is not None:
log.error("Internal server error: %s", error)
return render_template('errors/500.html'), 500
# Route for 404 error
@bp.route('/404')
@bp.app_errorhandler(404)
def not_found(error=None):
if error is not None:
log.warning("Page not found: %s", error)
return render_template('errors/404.html'), 404 if error is not None else 200
# Route for 400 error
@bp.route('/400')
@bp.app_errorhandler(400)
def bad_request(error=None):
if error is not None:
log.warning("Bad request: %s", error)
return render_template('errors/400.html', error=error), 400

64
src/wsgi.py Normal file
View File

@@ -0,0 +1,64 @@
# Imports
from flask import Flask, render_template, send_file
from flask_session import Session
from dotenv import load_dotenv
from os import getenv as env
import logging
import src.routes.error_handlers
import src.routes.dynamic_routes
# Load env
load_dotenv()
# Create logger
stream_handler = logging.StreamHandler()
stream_handler.setFormatter(logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s'))
stream_handler.setLevel(logging.INFO)
file_handler = logging.FileHandler(filename='app.log')
file_handler.setFormatter(logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s'))
file_handler.setLevel(logging.DEBUG)
# Add handlers to the logger
log = logging.getLogger()
log.setLevel(logging.DEBUG)
log.addHandler(stream_handler)
log.addHandler(file_handler)
log.info("Logging initialized")
# Create flask app
app = Flask(
__name__,
template_folder=env('TEMPLATE_FOLDER', default='../templates'),
static_folder=env('STATIC_FOLDER', default='../static')
)
# Configure sessions
app.config["SESSION_PERMANENT"] = True
app.config["SESSION_TYPE"] = "filesystem"
Session(app)
# Load routes
app.register_blueprint(src.routes.error_handlers.bp, url_prefix='/error')
app.register_blueprint(src.routes.dynamic_routes.bp, url_prefix='/')
# Generic routes
@app.route('/')
def index():
return render_template('index.html')
@app.route('/favicon.ico')
def favicon():
return send_file('../static/content/other/favicon.ico')
@app.route('/robots.txt')
def robots():
return send_file('../static/content/other/robots.txt')
# Route for sitemap.xml
@app.route('/sitemap.xml')
def sitemap():
return send_file('../static/content/other/sitemap.xml')

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@@ -3,7 +3,6 @@ https://cyber.dabamos.de/88x31/anythingbut.gif
https://cyber.dabamos.de/88x31/bestdesktop.gif https://cyber.dabamos.de/88x31/bestdesktop.gif
https://kopawz.neocities.org/buttonhoard/buttonsfldr2/diagnosedwithGAY.gif https://kopawz.neocities.org/buttonhoard/buttonsfldr2/diagnosedwithGAY.gif
https://kopawz.neocities.org/indexgraphics/buttondecor/ilikecomputer.png https://kopawz.neocities.org/indexgraphics/buttondecor/ilikecomputer.png
https://identity-crisis.carrd.co/assets/images/gallery04/ad4f8d52.jpg?v=4e55d939
https://anlucas.neocities.org/best_viewed_with_eyes.gif https://anlucas.neocities.org/best_viewed_with_eyes.gif
https://anlucas.neocities.org/html_learn_it_today.gif https://anlucas.neocities.org/html_learn_it_today.gif
https://highway.eightyeightthirty.one/badge/5d58a8f32b007d4897db6f862a895a81674fb35f5cc3947fc66595817ca174db https://highway.eightyeightthirty.one/badge/5d58a8f32b007d4897db6f862a895a81674fb35f5cc3947fc66595817ca174db

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 965 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 MiB

View File

Before

Width:  |  Height:  |  Size: 743 KiB

After

Width:  |  Height:  |  Size: 743 KiB

View File

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

View File

Before

Width:  |  Height:  |  Size: 49 KiB

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 240 KiB

View File

@@ -1,6 +1,8 @@
User-agent: * User-agent: *
Allow: / Allow: /
Disallow: /404.html Disallow: /404
Disallow: /500
Disallow: /400
Sitemap: https://alfieking.dev/sitemap.xml Sitemap: https://alfieking.dev/sitemap.xml

View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://alfieking.dev/</loc>
</url>
<url>
<loc>https://alfieking.dev/toaster</loc>
</url>
<url>
<loc>https://alfieking.dev/events</loc>
</url>
<url>
<loc>https://alfieking.dev/events/paws-n-pistons</loc>
</url>
<url>
<loc>https://alfieking.dev/events/crittersmk</loc>
</url>
</urlset>

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 MiB

386
static/css/bases/base.css Normal file
View File

@@ -0,0 +1,386 @@
@import url('https://fonts.googleapis.com/css2?family=Fredoka:wdth,wght@125,700&family=Space+Mono:ital,wght@0,400;0,700;1,400;1,700&display=swap');
@font-face {
font-family:"Irken";
src:url("/static/content/fonts/Irken-Like-AllCaps.woff") format("woff");
font-weight:normal;
font-style:normal;
}
:root {
--primary-color: #5cdd8b;
--primary-color-but-slightly-transparent: #5cdd8b44;
--text-color: #b1b8c0;
--background-color: #020205;
--secondary-background-color: #090914;
--secondary-background-color-but-slightly-transparent: #09091444;
--font-size: 0.5cm;
--font-family: "Space Mono", "serif";
--title-font: 'Roboto Mono', sans-serif;
--irken-font: 'Irken';
}
body {
background-color: var(--background-color);
background-image: url("https://blinkies.cafe/purple-stars-bg.gif");
color: var(--text-color);
font-size: var(--font-size);
font-family: var(--font-family);
display: grid;
grid-template-columns: auto auto;
grid-template-rows: 1fr;
grid-template-areas: "main sidebar";
margin: 7% auto 7% auto;
gap: 1rem;
justify-content: center;
width: 940px;
}
#sidebar {
grid-area: sidebar;
display: flex;
flex-direction: column;
gap: 1rem;
width: 174px;
}
#sidebar section {
backdrop-filter: blur(2px) brightness(0.6);
border: var(--secondary-background-color) 2px solid;
border-radius: 10px;
padding: 10px;
}
#sidebar ul {
list-style-type: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
}
#sidebar ul li {
width: fit-content;
}
#sidebar ul li a {
color: var(--text-color);
text-decoration: none;
font-weight: 100;
transition: all 0.2s ease-in-out
}
#sidebar ul li a:hover {
color: var(--primary-color);
font-weight: 900;
}
#sidebar ul li img {
transition: all 0.2s ease-in-out;
}
#sidebar ul li img:hover {
transform: scale(1.1);
}
#sidebar h1 {
font-family: var(--title-font);
font-size: 1.5rem;
font-weight: 900;
margin: 0;
padding: 0;
}
#sidebar h6 {
font-weight: 100;
margin: 0;
padding: 0;
}
#buttons {
text-align: center;
}
#buttons h1 {
font-family: var(--title-font);
font-size: 1.3rem;
font-weight: 900;
margin: 0;
padding: 0;
text-shadow: var(--text-color) 1px 0 10px;
}
#buttons ul {
list-style-type: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
margin-top: 5px;
align-items: center;
}
.vsmoltext {
font-size: 0.5rem;
}
main {
grid-area: main;
width: 761px;
height: 100%;
display: flex;
flex-direction: column;
gap: 1rem;
}
header {
backdrop-filter: blur(2px) brightness(0.6);
border: var(--secondary-background-color) 2px solid;
border-radius: 10px;
padding: 15px;
}
header div.row {
display: flex;
flex-direction: row;
margin: 0;
gap: 1.5rem;
}
header div.column {
display: flex;
flex-direction: column;
justify-content: center;
margin: 0;
}
header img {
width: 9rem;
height: 9rem;
}
header h1 {
font-family: var(--title-font);
font-size: 5rem;
font-weight: 900;
padding: 0;
margin: 0;
}
header h2 {
font-family: var(--title-font);
font-size: 1.75rem;
font-weight: 100;
padding: 0;
margin: 0;
position: relative;
top: -1rem;
}
main section {
backdrop-filter: blur(2px) brightness(0.6);
width: 100%;
display: flex;
flex-direction: column;
border: var(--secondary-background-color) 2px solid;
border-radius: 10px;
padding: 15px;
box-sizing: border-box;
}
main section h1 {
font-size: 3rem;
font-weight: 900;
margin: 0;
padding: 0;
}
main section h2 {
font-size: 1.5rem;
font-weight: 900;
margin: 0;
padding: 0;
}
main section h6 {
font-size: 0.7rem;
font-weight: 100;
margin: 0;
padding: 0;
}
main section p {
font-size: 1rem;
margin: 0;
padding: 0;
font-weight: 300;
}
main section a {
color: var(--primary-color);
text-decoration: none;
}
#furry {
position: fixed;
left: 0;
top: 0;
right: 0;
bottom: 0;
opacity: 0.1;
background-image: url('/static/content/general_images/background.png');
background-repeat: no-repeat;
background-position: 50% 0;
background-size: cover;
z-index: -1;
display: none;
}
.haj {
width: 100%;
filter: drop-shadow(0 0 0.5rem rgb(88, 214, 245));
}
.irken {
font-family: var(--irken-font);
}
#alt-nav {
display: none;
backdrop-filter: blur(2px) brightness(0.6);
width: 100%;
border: var(--secondary-background-color) 2px solid;
border-radius: 10px;
padding: 15px;
box-sizing: border-box;
}
#alt-nav ul {
list-style-type: none;
margin: 0;
padding: 0;
display: flex;
flex-wrap: wrap;
flex-direction: row;
gap: 1.5rem;
justify-content: center;
}
#alt-nav ul li {
width: fit-content;
}
#alt-nav ul li a {
color: var(--text-color);
text-decoration: none;
font-weight: 100;
transition: all 0.2s ease-in-out
}
#alt-nav ul li a:hover {
color: var(--primary-color);
font-weight: 900;
}
.title-font {
font-family: var(--title-font);
}
.flex-col {
display: flex;
flex-direction: column;
gap: 1rem;
}
.flex-row {
display: flex;
flex-direction: row;
gap: 1rem;
}
.no-sect {
backdrop-filter: none;
border: none;
border-radius: 0;
padding: 0;
box-sizing: border-box;
}
a {
text-decoration: none;
}
code {
background-color: var(--secondary-background-color-but-slightly-transparent);
padding: 4px 6px;
border-radius: 4px;
font-size: 0.9rem;
color: var(--primary-color);
}
@media screen and (max-width: 1000px) {
body {
background-color: var(--background-color);
background-image: url("https://blinkies.cafe/purple-stars-bg.gif");
color: var(--text-color);
font-size: var(--font-size);
font-family: var(--font-family);
display: grid;
grid-template-columns: auto;
grid-template-rows: 1fr;
grid-template-areas: "main";
margin: 7% 0 7% 0;
gap: 1rem;
justify-content: center;
width: 100%;
}
#sidebar {
display: none;
}
#alt-nav {
display: block;
}
main {
width: 100%;
box-sizing: border-box;
padding: 0 1rem 0 1rem;
}
}
@media screen and (max-width: 650px) {
.flex-row {
flex-direction: column;
}
.flex-col {
flex-direction: row;
}
header img {
display: none;
}
header div.row {
justify-content: center;
}
header div {
text-align: center;
}
header h2 {
display: none;
}
div#spotify {
box-sizing: border-box;
background-repeat: no-repeat;
background-size: contain;
height: 100%;
width: auto;
aspect-ratio: 1/1;
display: flex;
flex-direction: column;
}
}

View File

@@ -0,0 +1,13 @@
section#directory ul {
list-style: none;
padding: 0;
margin: 0;
}
section#directory li {
margin: 0.5rem 0;
}
section#directory a:hover {
scale: 1.05;
}

View File

@@ -0,0 +1,3 @@
section h2 {
margin-top: 2rem !important;
}

View File

@@ -0,0 +1,8 @@
.bluescreen {
background-color: #0077D6;
color: #fff;
padding:40px;
display: flex;
flex-direction: column;
gap: 20px;
}

23
static/css/gallery.css Normal file
View File

@@ -0,0 +1,23 @@
.gallery {
width: 100%;
}
.gallery .gallery-images {
display: flex;
flex-direction: row;
justify-content: space-between;
gap: 1rem;
overflow: hidden;
}
.gallery .gallery-images img {
max-width: 100%;
height: auto;
border-radius: 10px;
}
.gallery h2.gallery-date {
position: relative;
top: 0;
left: 0;
}

View File

@@ -1,233 +1,3 @@
@import url('https://fonts.googleapis.com/css2?family=Fredoka:wdth,wght@125,700&family=Space+Mono:ital,wght@0,400;0,700;1,400;1,700&display=swap');
@font-face {
font-family:"Irken";
src:url("/static/content/Irken-Like-AllCaps.woff") format("woff");
font-weight:normal;
font-style:normal;
}
:root {
--primary-color: #5cdd8b;
--primary-color-but-slightly-transparent: #5cdd8b44;
--text-color: #b1b8c0;
--background-color: #020205;
--secondary-background-color: #090914;
--secondary-background-color-but-slightly-transparent: #09091444;
--font-size: 0.5cm;
--font-family: "Space Mono", "serif";
--title-font: 'Roboto Mono', sans-serif;
--irken-font: 'Irken';
}
body {
background-color: var(--background-color);
background-image: url("https://blinkies.cafe/purple-stars-bg.gif");
color: var(--text-color);
font-size: var(--font-size);
font-family: var(--font-family);
display: grid;
grid-template-columns: auto auto;
grid-template-rows: 1fr;
grid-template-areas: "main sidebar";
margin: 7% auto 7% auto;
gap: 1rem;
justify-content: center;
width: 940px;
}
#sidebar {
grid-area: sidebar;
display: flex;
flex-direction: column;
gap: 1rem;
width: 174px;
}
#sidebar section {
backdrop-filter: blur(2px) brightness(0.6);
border: var(--secondary-background-color) 2px solid;
border-radius: 10px;
padding: 10px;
}
#sidebar ul {
list-style-type: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
}
#sidebar ul li {
width: fit-content;
}
#sidebar ul li a {
color: var(--text-color);
text-decoration: none;
font-weight: 100;
transition: all 0.2s ease-in-out
}
#sidebar ul li a:hover {
color: var(--primary-color);
font-weight: 900;
}
#sidebar ul li img {
transition: all 0.2s ease-in-out;
}
#sidebar ul li img:hover {
transform: scale(1.1);
}
#sidebar h1 {
font-family: var(--title-font);
font-size: 1.5rem;
font-weight: 900;
margin: 0;
padding: 0;
}
#sidebar h6 {
font-weight: 100;
margin: 0;
padding: 0;
}
#buttons {
text-align: center;
}
#buttons h1 {
font-family: var(--title-font);
font-size: 1.3rem;
font-weight: 900;
margin: 0;
padding: 0;
text-shadow: var(--text-color) 1px 0 10px;
}
#buttons ul {
list-style-type: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
margin-top: 5px;
align-items: center;
}
.vsmoltext {
font-size: 0.5rem;
}
main {
grid-area: main;
width: 761px;
height: 100%;
display: flex;
flex-direction: column;
gap: 1rem;
}
header {
backdrop-filter: blur(2px) brightness(0.6);
border: var(--secondary-background-color) 2px solid;
border-radius: 10px;
padding: 15px;
}
header div.row {
display: flex;
flex-direction: row;
margin: 0;
gap: 1.5rem;
}
header div.column {
display: flex;
flex-direction: column;
justify-content: center;
margin: 0;
}
header img {
width: 9rem;
height: 9rem;
}
header h1 {
font-family: var(--title-font);
font-size: 5rem;
font-weight: 900;
padding: 0;
margin: 0;
}
header h2 {
font-family: var(--title-font);
font-size: 1.75rem;
font-weight: 100;
padding: 0;
margin: 0;
position: relative;
top: -1rem;
}
main section {
backdrop-filter: blur(2px) brightness(0.6);
width: 100%;
display: flex;
flex-direction: column;
border: var(--secondary-background-color) 2px solid;
border-radius: 10px;
padding: 15px;
box-sizing: border-box;
}
main section h1 {
font-size: 3rem;
font-weight: 900;
margin: 0;
padding: 0;
}
main section h2 {
font-size: 1.5rem;
font-weight: 900;
margin: 0;
padding: 0;
}
main section p {
font-size: 1rem;
margin: 0;
padding: 0;
font-weight: 300;
}
main section a {
color: var(--primary-color);
text-decoration: none;
}
#furry {
position: fixed;
left: 0;
top: 0;
right: 0;
bottom: 0;
opacity: 0.1;
background-image: url('/static/content/background.png');
background-repeat: no-repeat;
background-position: 50% 0;
background-size: cover;
z-index: -1;
display: none;
}
.blinkies { .blinkies {
justify-content: center; justify-content: center;
display: flex; display: flex;
@@ -249,22 +19,6 @@ main section a {
transform: scale(1.1) rotate(-5deg); transform: scale(1.1) rotate(-5deg);
} }
section.rowsect {
width: 100%;
display: grid;
grid-template-columns: auto auto;
gap: 1rem;
backdrop-filter: none;
border: none;
padding: 0;
}
section.rowsect>div {
backdrop-filter: blur(2px) brightness(0.6);
border: var(--secondary-background-color) 2px solid;
border-radius: 10px;
}
.stamps { .stamps {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
@@ -322,15 +76,6 @@ section.rowsect>div {
mix-blend-mode: difference; mix-blend-mode: difference;
} }
.haj {
width: 100%;
filter: drop-shadow(0 0 0.5rem rgb(88, 214, 245));
}
.irken {
font-family: var(--irken-font);
}
#button-collection { #button-collection {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
@@ -350,93 +95,7 @@ section.rowsect>div {
transform: scale(1.1) rotate(-5deg); transform: scale(1.1) rotate(-5deg);
} }
#alt-nav {
display: none;
backdrop-filter: blur(2px) brightness(0.6);
width: 100%;
border: var(--secondary-background-color) 2px solid;
border-radius: 10px;
padding: 15px;
box-sizing: border-box;
}
#alt-nav ul {
list-style-type: none;
margin: 0;
padding: 0;
display: flex;
flex-wrap: wrap;
flex-direction: row;
gap: 1.5rem;
justify-content: center;
}
#alt-nav ul li {
width: fit-content;
}
#alt-nav ul li a {
color: var(--text-color);
text-decoration: none;
font-weight: 100;
transition: all 0.2s ease-in-out
}
#alt-nav ul li a:hover {
color: var(--primary-color);
font-weight: 900;
}
@media screen and (max-width: 1000px) {
body {
background-color: var(--background-color);
background-image: url("https://blinkies.cafe/purple-stars-bg.gif");
color: var(--text-color);
font-size: var(--font-size);
font-family: var(--font-family);
display: grid;
grid-template-columns: auto;
grid-template-rows: 1fr;
grid-template-areas: "main";
margin: 7% 0 7% 0;
gap: 1rem;
justify-content: center;
width: 100%;
}
#sidebar {
display: none;
}
#alt-nav {
display: block;
}
main {
width: 100%;
box-sizing: border-box;
padding: 0 1rem 0 1rem;
}
}
@media screen and (max-width: 650px) { @media screen and (max-width: 650px) {
header img {
display: none;
}
header div.row {
justify-content: center;
}
section.rowsect {
width: 100%;
display: flex;
flex-direction: column;
gap: 1rem;
backdrop-filter: none;
border: none;
padding: 0;
}
div#spotify { div#spotify {
box-sizing: border-box; box-sizing: border-box;
background-repeat: no-repeat; background-repeat: no-repeat;

84
static/css/toaster.css Normal file
View File

@@ -0,0 +1,84 @@
ul#toaster-specs {
padding: 0;
margin: 5px 0;
display: flex;
flex-direction: column;
gap: 2px;
min-width: 400px;
}
ul#toaster-specs li {
display: flex;
justify-content: space-between;
gap: 2rem;
height: 35px;
align-items: center;
}
.color {
border-radius: 10px;
border: 2px solid var(--secondary-background-color);
padding: 1px 5px;
box-sizing: border-box;
height: min-content;
}
#toaster-img {
max-width: 100%;
object-fit: contain;
border-radius: 10px;
border: 2px solid var(--secondary-background-color);
}
.fill-height {
height: 100%;
}
.fur-meet-gallery-small {
display: flex;
flex-wrap: wrap;
gap: 5px;
}
.fur-meet-gallery-small img {
width: 150px;
height: 150px;
object-fit: cover;
border-radius: 10px;
border: 2px solid var(--secondary-background-color);
}
.fur-meet-gallery-small img:hover {
transform: scale(1.05);
transition: transform 0.2s ease-in-out;
cursor: pointer;
}
#fur-meets {
list-style: none;
padding: 0;
margin: 10px;
display: flex;
flex-direction: column;
gap: 10px;
}
@media screen and (max-width: 740px) {
.flex-row {
flex-direction: column;
}
.flex-col {
flex-direction: row;
}
#toaster-img {
width: 100%;
}
}
@media screen and (max-width: 690px) {
.flex-col {
flex-direction: column;
}
}

View File

@@ -1,5 +1,3 @@
// TYPERWRITER
const values = [ const values = [
"Web developer", "Web developer",
"Pc games enjoyer", "Pc games enjoyer",
@@ -22,12 +20,12 @@ const values = [
"Loud Music enjoyer", "Loud Music enjoyer",
"part time femboy :<", "part time femboy :<",
]; ];
var direction = 1; let typing_direction = 1;
var text = ""; let text = "";
var speed = 100; let speed = 100;
var selectedValue = 0; let selectedValue = 0;
var currentValueIndex = 0; let currentValueIndex = 0;
var pause = false; let pause = false;
function randomValue() { function randomValue() {
selectedValue = Math.floor(Math.random() * values.length); selectedValue = Math.floor(Math.random() * values.length);
@@ -35,12 +33,12 @@ function randomValue() {
} }
function type() { function type() {
if (direction == 1) { if (typing_direction == 1) {
if (currentValueIndex < values[selectedValue].length) { if (currentValueIndex < values[selectedValue].length) {
text += values[selectedValue][currentValueIndex]; text += values[selectedValue][currentValueIndex];
currentValueIndex++; currentValueIndex++;
} else { } else {
direction = -1; typing_direction = -1;
pause = true; pause = true;
} }
} else { } else {
@@ -48,7 +46,7 @@ function type() {
text = text.slice(0, -1); text = text.slice(0, -1);
currentValueIndex--; currentValueIndex--;
} else { } else {
direction = 1; typing_direction = 1;
randomValue(); randomValue();
} }
} }
@@ -57,7 +55,7 @@ function type() {
function typing() { function typing() {
type(); type();
document.getElementById("typing").innerHTML = "$ " + text; document.getElementById("typing").innerHTML = "$ " + text;
if (direction == 1) { if (typing_direction == 1) {
speed = 80 + Math.random() * 100; speed = 80 + Math.random() * 100;
} else { } else {
speed = 60 + (Math.random() * 100) / 2; speed = 60 + (Math.random() * 100) / 2;
@@ -74,7 +72,7 @@ typing();
// HIDDEN STUFF (shh don't tell anyone >:3) // HIDDEN STUFF (shh don't tell anyone >:3)
var last5Chars = ""; let last5Chars = "";
document.addEventListener('keydown', function(event) { document.addEventListener('keydown', function(event) {
last5Chars += event.key; last5Chars += event.key;
@@ -120,7 +118,7 @@ if (document.getElementById('spotify')) {
// load buttons // load buttons
function loadButtons() { function loadButtons() {
fetch('/static/content/buttons.txt').then(response => { fetch('/static/content/buttons/non_link_buttons.txt').then(response => {
return response.text(); return response.text();
}).then(data => { }).then(data => {
container = document.getElementById('button-collection'); container = document.getElementById('button-collection');

110
templates/bases/base.html Normal file
View File

@@ -0,0 +1,110 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{% block title %}Alfie's basement{% endblock %}</title>
<link rel="icon" href="/static/content/general_images/icon.webp">
<link rel="stylesheet" href="/static/css/bases/base.css">
<meta name="description" content="{% block description %}server backend survivor{% endblock %}">
<meta name="keywords" content="{% block keywords %}Alfie King, Alfie, King, Alfieking, Alfieking.dev, dev, server, developer, backend, selfhost, homelab{% endblock %}">
<meta name="author" content="Alfie King">
<meta name="robots" content="all">
<meta name="theme-color" content="#63de90" data-react-helmet="true">
<meta property="og:site_name" content="Alfieking.dev">
<meta property="og:url" content="https://alfieking.dev/">
<meta property="og:title" content="{{ self.title() }}">
<meta property="og:description" content="{{ self.description() }}">
<meta property="og:image" content="{% block og_image %}/static/content/general_images/icon.webp{% endblock %}">
{% block head %}
{% endblock %}
</head>
<body>
<div id="furry"></div>
<div id="sidebar">
<nav>
<section>
<h1>Things to see :3</h1>
<ul>
<li><a href="/">Home</a></li>
<li><a href="/toaster">Toaster</a></li>
<li><a href="/events">Events</a></li>
<li><a href="https://git.alfieking.dev/acetheking987">Gitea</a></li>
<li><a href="https://www.last.fm/user/acetheking987">LastFm</a></li>
<li><a href="https://prismic.alfieking.dev">Prismic</a></li>
<li><a href="https://open.spotify.com/user/xz02oolstlvwxqu1pfcua9exz?si=14396e637f284e03">Spotify</a></li>
<li><a href="https://steamcommunity.com/id/acetheking987/">Steam</a></li>
<li><a href="https://www.youtube.com/@acetheking987">YouTube</a></li>
<li><a href="https://acetheking987.tumblr.com/">Tumblr</a></li>
<li><a href="https://www.reddit.com/user/acetheking987">Reddit</a></li>
</ul>
</section>
</nav>
<section>
<h6 class="irken">heya, try typing "furry" and "irken" into this page!</h6>
</section>
<section id="buttons">
<h1>BUTTONS</h1>
<ul>
<li><a herf="https://hijpixel.nekoweb.org/"><img src="/static/content/buttons/hijpixel.gif" alt="hijpixel"></a></li>
<li><a href="https://lensdeer.neocities.org/"><img src="/static/content/buttons/lensdeer.gif" alt="lensdeer"></a></li>
<li><a href="https://emmixis.net/"><img src="/static/content/buttons/emmixis.gif" alt="emmixis"></a></li>
<li><a href="https://dimden.dev/"><img src="https://dimden.dev/services/images/88x31.gif" alt="dimden"></a></li><!-- hotlink on purpose -->
<li><a href="https://ne0nbandit.neocities.org/"><img src="/static/content/buttons/ne0nbandit.png" alt="ne0nbandit"></a></li>
<li><a href="https://thinliquid.dev"><img src="/static/content/buttons/thnlqd.png" alt="thinliquid"></a></li>
<li><a href="https://nekoweb.org/"><img src="/static/content/buttons/nekoweb.gif" alt="nekoweb"></a><!-- button by s1nez.nekoweb.org --></li>
<li><a href="https://s1nez.nekoweb.org/"><img src="/static/content/buttons/s1nez.gif" alt="s1nez"></a></li>
<li><a href="https://beeps.website"><img src="/static/content/buttons/beeps.gif" alt="beeps"></a></li>
<li><a href="https://itsnotstupid.com"><img src="/static/content/buttons/insia.gif" alt="itsnotstupid"></a></li>
<li><a href='https://blinkies.cafe'><img src='/static/content/buttons/blinkiescafe.gif' alt='blinkies.cafe | make your own blinkies!'></a></li>
<li><a href="https://eightyeightthirty.one"><img src="/static/content/buttons/8831.png" alt="88x31"></a></li>
<li><a href="https://neocities.org"><img src="/static/content/buttons/neocities.gif" alt="neocities"></a></li>
<li><a href="https://tuxedodragon.art"><img src="/static/content/buttons/tuxedodragon.gif" alt="tuxedodragon"></a></li>
</ul>
</section>
<section>
<div id='furryring'>
<script type="text/javascript" src="https://furryring.neocities.org/onionring-variables.js"></script>
<script type="text/javascript" src="https://furryring.neocities.org/onionring-widget.js"></script>
</div>
</section>
<section>
<pre class="vsmoltext"> |\ _,,,---,,_<br>ZZZzz /,`.-'`' -. ;-;;,_<br> |,4- ) )-,_. ,\ ( `'-'<br> '---''(_/--' `-'\_)</pre>
</section>
<img src="/static/content/general_images/haj.gif" alt="haj" class="haj">
</div>
<main id="main">
<header id="home">
<div class="row">
<img src="/static/content/general_images/icon.webp">
<div>
<h1>Alfie King</h1>
<h2 id="typing">server backend survivor</h2>
</div>
</div>
</header>
<nav id="alt-nav">
<ul>
<li><a href="/">Home</a></li>
<li><a href="/toaster">Toaster</a></li>
<li><a href="https://git.alfieking.dev/acetheking987">Gitea</a></li>
<li><a href="https://www.last.fm/user/acetheking987">LastFm</a></li>
<li><a href="https://prismic.alfieking.dev">Prismic</a></li>
<li><a href="https://open.spotify.com/user/xz02oolstlvwxqu1pfcua9exz?si=14396e637f284e03">Spotify</a></li>
<li><a href="https://steamcommunity.com/id/acetheking987/">Steam</a></li>
<li><a href="https://www.youtube.com/@acetheking987">YouTube</a></li>
<li><a href="https://acetheking987.tumblr.com/">Tumblr</a></li>
<li><a href="https://www.reddit.com/user/acetheking987">Reddit</a></li>
</ul>
</nav>
{% block content %}{% endblock %}
<section>
<footer>
<p>legal stuff idk :3 | icba to &copy; this :P | made with &hearts; and caffine</p>
</footer>
</section>
</main>
{% block scripts %}{% endblock %}
<script src="/static/js/base.js"></script>
</body>
</html>

View File

@@ -0,0 +1,22 @@
{% extends "bases/base.html" %}
{% block title %}/{{ directory }} - Alfie's basement{% endblock %}
{% block description %}server backend survivor{% endblock %}
{% block head %}
<link rel="stylesheet" href="/static/css/bases/directory.css">
{% endblock %}
{% block scripts %}
{% endblock %}
{% block content %}
<section id="directory">
<h1>/{{ directory }}</h1>
<ul>
{% for page in pages %}
<li><a href="/{{ directory }}{{ page.split('.')[0] }}">{{ page.split('.')[0] }}</a></li>
{% endfor %}
</ul>
</section>
{% endblock %}

29
templates/errors/400.html Normal file
View File

@@ -0,0 +1,29 @@
{% extends "bases/base.html" %}
{% block title %}400 - Internal Server Error{% endblock %}
{% block description %}Bad request. The server could not understand the request due to invalid syntax.{% endblock %}
{% block head %}
<link rel="stylesheet" href="/static/css/errors/400.css">
{% endblock %}
{% block content %}
<section>
<h1>400 - Bad Request</h1>
<p>
What did you do? The server could not understand the request due to invalid syntax. Please check your request and try again.
</p>
<h2>The fuckup in question</h2>
<p>
{% if error %}
{{ error }}
{% else %}
No specific error message provided.
{% endif %}
</p>
<h2>What to do now</h2>
<p>
idk :P
</p>
</section>
{% endblock %}

13
templates/errors/404.html Normal file
View File

@@ -0,0 +1,13 @@
{% extends "bases/base.html" %}
{% block title %}404 - Not Found{% endblock %}
{% block description %}The page you are looking for does not exist.{% endblock %}
{% block content %}
<section>
<h1>404</h1>
<p>
It seems like the thing you are looking for does not exist or <code>rm -rf</code> itself out of exsistance.
</p>
</section>
{% endblock %}

17
templates/errors/500.html Normal file
View File

@@ -0,0 +1,17 @@
{% extends "bases/base.html" %}
{% block title %}500 - Internal Server Error{% endblock %}
{% block description %}An unexpected error occurred on the server.{% endblock %}
{% block head %}
<link rel="stylesheet" href="/static/css/errors/500.css">
{% endblock %}
{% block content %}
<section class="bluescreen">
<h1>:(</h1>
<p>
Oopsie Woopsie! Uwu We made a fucky wucky!! A wittle fucko boingo! The code monkeys at our headquarters are working VEWY HAWD to fix this!
</p>
</section>
{% endblock %}

138
templates/index.html Normal file
View File

@@ -0,0 +1,138 @@
{% extends "bases/base.html" %}
{% block title %}Home - Alfie's basement{% endblock %}
{% block description %}server backend survivor{% endblock %}
{% block head %}
<link rel="stylesheet" href="/static/css/index.css">
{% endblock %}
{%block content %}
<section>
<h1>A lil bit abt me</h1>
<p>
Im not good with writing so dont expect much here. I was a student learning c++ and python. I've Done a few projects that i think
are decent enough to show off, so I have put them on this website. I like to mess around with linux and have a few servers that I run. I've
been running a server for a few years now, and I have learned a lot from it. I have also switched to linux on my main computer, which has been
slightly annoying at times (mainly because one of my most played games' anticheat doesn't support on linux atm. Also, the lack of photoshop is
a pain).
<br><br>
I would like to make some more projects in the future, but I am not sure what I want to make yet. I tend to make thing on impulse a lot, and motivation
is "lacking" at times. So the few ideas I do have may never come to fruition. I hope to get better at art so i could hopefully make a game that is somewhat
interesting. But im at a lack of ideas at the moment.
<br><br>
I would also like to have a functional blog on this site, but I bearly talk about much so I dont know what I would write about. I like to ramble on about
random things, but I dont think that would be very interesting to read, and I think that I would forget to update it. I have a tumblr that I have had for a few
years now, but I dont post on it (the social anxiety is too much for me :<). However I hope to get better at that in the future.
</p>
</section>
<section class="blinkies">
<img src="https://adriansblinkiecollection.neocities.org/x45.gif" alt="">
<img src="https://adriansblinkiecollection.neocities.org/t3.gif" alt="">
<img src="https://adriansblinkiecollection.neocities.org/k25.gif" alt="">
<img src="https://s1nez.nekoweb.org/img/52475686_BP77MK3UdnLmIQk.gif" alt="">
<img src="https://s1nez.nekoweb.org/img/hc/hc%20(79).gif" alt="">
<img src="https://dewside.neocities.org/blinkies/bisigns.gif" alt="">
<img src="https://s1nez.nekoweb.org/g/ggg/gg%20(32).gif" alt="">
<img src="https://s1nez.nekoweb.org/img/7dcd20d4.gif" alt="">
</section>
<div class="flex-row">
<a href="" id="spotify-link">
<div id="spotify">
<h1 id="spotify-title"></h1>
<h2 id="spotify-artist"></h2>
</div>
</a>
<section class="stamps">
<img src="https://s1nez.nekoweb.org/img/other/ba4ba47a.png" alt="">
<img src="https://s1nez.nekoweb.org/img/fa02abd7.png" alt="">
<img src="https://s1nez.nekoweb.org/img/hc/hc%20(172).gif" alt="">
<img src="https://gligar.neocities.org/furret2.png" alt="">
<img src="https://gligar.neocities.org/ralsei2.png" alt="">
<img src="https://gligar.neocities.org/tism.png" alt="">
<img src="https://64.media.tumblr.com/11957593416710af9ff049ff6ae7ab63/tumblr_pbb7cd42Ln1xz2nuuo4_100.gif" alt="">
<img src="https://dewside.neocities.org/stamps/dogofwisdom.gif" alt="">
<img src="https://dewside.neocities.org/stamps/kazookid.gif" alt="">
<img src="https://64.media.tumblr.com/3085aeace24ca0c5ddf08aac37cc3ab4/45a30eb92e06a85c-3a/s100x200/b7bfb2e91adbc310f712f4492e668298bd0779de.gif" alt="">
<img src="https://s1nez.nekoweb.org/img/hc/hc%20(27).png" alt="">
<img src="https://s1nez.nekoweb.org/g/ggg/gg%20(13).gif" alt="">
<img src="https://kopawz.neocities.org/stamphoard/stamps2/kriswhere.png" alt="">
<img src="https://adriansblinkiecollection.neocities.org/stamps/g5.gif" alt="">
<img src="https://adriansblinkiecollection.neocities.org/stamps/e40.gif" alt="">
<img src="https://adriansblinkiecollection.neocities.org/stamps/e43.gif" alt="">
</section>
</div>
<section>
<h1>Projects & stuff</h1>
<p>just some projects ive worked on over time</p>
<ul>
<li>
<h2>alfieking.dev</h2>
<p>
This website is a project that I have been working on for a while now. I have made a few versions of it, but I have
never been happy with them. I am quite happy with this version atm since it is more organized and has a design that I
like.
<a href="https://git.alfieking.dev/acetheking987/alfieking.dev">source code</a>
</p>
</li>
<li>
<h2>owo (the terminal command)</h2>
<p>
I made this project as a joke, I can't remember exactly what I baised it off other than the fact that it was somthing
similar to this but in a different language. I originally made it in python, but I have since rewritten it in c++ so
that it would be faster and so that I could learn c++.
<a href="https://git.alfieking.dev/acetheking987/term-owo-cpp">source code</a>
</p>
</li>
<li>
<h2>prismic</h2>
<p>
Prismic is a basic message board that I made, it was mainly made to learn how to use templating and more backend
web development. it uses flask for the web framework and uses a sqlite database to store the messages. I have thought
about remaking it in c++ since I found a c++ web framework that I would like to try out.
<a href="https://prismic.alfieking.dev">Primic</a> | <a href="https://git.alfieking.dev/acetheking987/prismic">source code</a>
</p>
</li>
</ul>
</section>
<section>
<h1>The button collection™</h1>
<div id="button-collection">
</div>
</section>
<section>
<h1>Some News</h1>
<h6>(dont expect this to be updated often tho :P)</h6>
<ul>
<li>
<h2>18-01-2026</h2>
<p>
:O an update! thats unheard of on this site (aleast its more often than tf2 gets updates). finding motivation to work on things has been painful
recently, but im wokring on my mental state a bit so hopefully there will be more updates. I am writing this before i make any major changes but
i hope to add a blog or something, or maybe a daily thoughts thing that pings my phone to get me to write something. I also need to rewrite most
of the home page as well since its kinda out of date :P
</p>
</li>
<li>
<h2>28-06-2025</h2>
<p>
I have updated the site a bit, I have added a few more featues, but the main update is that the site is now using flask as a backend.
I didn't want to use a framework at first, mainly because I like the simplicity of a static site, but it allows me to use templatiing and makes
adding new features easier and more organized. The site is also more interacive now, with a few secrets on some of the pages. I still plan on adding
more secrets and features. I also plan on adding a blog section, that I will move this to, so that I can give updates on the site and other things
that I find interesting.
</p>
</li>
<li>
<h2>18-06-2025</h2>
<p>
I plan on updating the site soon, I have a few ideas that I want to implement. I want to make it more
interactive and fun to use. I also want to add a blog section so that I can write about random things that I find interesting. I also
want to add a few more projects that I have been working on. Annoyingly I think it would be a good idea to remake this site with some sort of
framework so i can use templating, however this kinda bothers me since I like the simplicity of this site. And prefer to keep it as a static site
that i can just throw at nginx.
</p>
</li>
</ul>
</section>
{% endblock %}

View File

@@ -0,0 +1,53 @@
{% extends "bases/base.html" %}
{% block title %}Critters MK - Alfie's basement{% endblock %}
{% block description %}furry corner{% endblock %}
{% block og_image %}/static/content/Toaster_v1.0_Dark.png{% endblock %}
{% block keywords %}
Alfie King, Alfie, King, Alfieking, Alfieking.dev, dev, server, developer, backend, selfhost, homelab, furry, protogen, toaster,
fursona, fur, furmeet, fursuit, persona, character, protogen fursona, protogen character, protogen fursona design,
protogen character design, critters mk, critters cmk, paws n pistons, paws'n'pistons, paws n pistons furry meet, paws'n'pistons furry meet,
protogen v1.0, toaster v1.0
{% endblock %}
{% block head %}
<link rel="stylesheet" href="/static/css/gallery.css">
{% endblock %}
{% block content %}
<section>
<h1>Critters MK</h1>
<p>
Critters Mk is a fur meet based in Milton Keynes, UK. They hold a meet once a month on saturdays around the area, usually at local parks. They are a
therian friendly group, and there are a variety of fursuiters and non-fursuiters that attend. The group is very welcoming to newcomers, and the meets
are a great way to meet new people in the furry community. There is also atleast one fursuit maker in the group to my knowledge, so if you are looking
for a fursuit, you may be able to find one there. The group is also very active on Telegram, and they have a Twitter page where they post updates about
the meets.
<br><br>
I have attended a few of the meets, and I enjoyed talking to the people there. I plan on attending every meet I can in the future, as well as any other local events
that I can find. If you are in the area, I highly recommend checking them out. You can find more information about the group on their
<a href="https://x.com/cmkfurmeet" target="_blank">Twitter page</a> (I don't know if I can link their Telegram group :<)
</p>
</section>
<section>
<h1>Photos :3</h1>
<p>
Here are some photos from the meets I have attended. I will add more as I attend more meets.
</p>
<div class="gallery">
<h2 class="gallery-date">26th July 2025</h2>
<div class="gallery-images">
<img src="/static/content/fur_meets/26-07-2025_critters_mk/PXL_20250726_152110445.jpg" alt="Critters MK">
<img src="/static/content/fur_meets/26-07-2025_critters_mk/PXL_20250726_155134418.jpg" alt="Critters MK">
<img src="/static/content/fur_meets/26-07-2025_critters_mk/PXL_20250726_155226274.jpg" alt="Critters MK">
<img src="/static/content/fur_meets/26-07-2025_critters_mk/PXL_20250726_155434701.jpg" alt="Critters MK">
</div>
</div>
<h2 class="gallery-date">23rd Aug 2025</h2>
<div class="gallery">
<img src="/static/content/fur_meets/23-08-2025_critters_mk/PXL_20250823_130640362.jpg" alt="Critters MK">
<img src="/static/content/fur_meets/23-08-2025_critters_mk/PXL_20250823_130648109.jpg" alt="Critters MK">
<img src="/static/content/fur_meets/23-08-2025_critters_mk/PXL_20250823_130659800.jpg" alt="Critters MK">
</div>
</section>
{% endblock %}

View File

@@ -0,0 +1,64 @@
{% extends "bases/base.html" %}
{% block title %}Paws'N'Pistons - Alfie's basement{% endblock %}
{% block description %}furry corner{% endblock %}
{% block og_image %}/static/content/Toaster_v1.0_Dark.png{% endblock %}
{% block keywords %}
Alfie King, Alfie, King, Alfieking, Alfieking.dev, dev, server, developer, backend, selfhost, homelab, furry, protogen, toaster,
fursona, fur, furmeet, fursuit, persona, character, protogen fursona, protogen character, protogen fursona design,
protogen character design, critters mk, critters cmk, paws n pistons, paws'n'pistons, paws n pistons furry meet, paws'n'pistons furry meet,
protogen v1.0, toaster v1.0
{% endblock %}
{% block head %}
<link rel="stylesheet" href="/static/css/gallery.css">
<style>
#woooooo {
max-width: 50%;
height: auto;
border-radius: 10px;
margin: 10px;
}
@media (max-width: 600px) {
#woooooo {
max-width: 100%;
}
}
</style>
{% endblock %}
{% block content %}
<section>
<h1>Paws'N'Pistons</h1>
<p>
Paws'N'Pistons is a furry car meet that takes place across the UK. They are a very welcoming group that is open to all furries, regardless
of whether you have a car or not. Their meets last all day and involve multiple hours of driving across the country to various locations. They
also have a <a href="https://pawsnpistons.com" target="_blank">shop</a> where you can buy car stickers and other merch. They also hand out free
stickers at their meets. Their main social media is their <a href="https://www.instagram.com/paws_n_pistons/" target="_blank">Instagram</a>, where
they post photos from their meets and updates about upcoming events.
<br><br>
I've only attended one meet on the 3rd of August 2025, and it was a great experience. The people were very chill and I enjoyed driving around with them.
ALSO, one of them offered to let me try their fursuit!!! Im now going to speedrun going broke trying to get a fursuit of my own cus of this :3 (I was
already planning on getting one, but this just made me want one more).
<br>
<img src="/static/content/fur_meets/03-08-2025_paws_n_pistons/PXL_20250803_200906329.jpg" alt="me in a fursuit" id="woooooo">
<br>
The fursuit belongs to <a href="https://www.tiktok.com/@trickythefox" target="_blank">Tricky the Fox</a>, they are a very chill person and I had a great time talking to them ^w^.
<h1>Photos :3</h1>
<p>
Here are some photos from the meets I have attended. I will add more as I attend more meets.
</p>
<h2 class="gallery-date">3rd Aug 2025</h2>
<div class="gallery">
<img src="/static/content/fur_meets/03-08-2025_paws_n_pistons/PXL_20250803_141943558.jpg" alt="Paws'N'Pistons">
<img src="/static/content/fur_meets/03-08-2025_paws_n_pistons/PXL_20250803_150138054.jpg" alt="Paws'N'Pistons">
<img src="/static/content/fur_meets/03-08-2025_paws_n_pistons/PXL_20250803_150249916.jpg" alt="Paws'N'Pistons">
<img src="/static/content/fur_meets/03-08-2025_paws_n_pistons/PXL_20250803_183614897.jpg" alt="Paws'N'Pistons">
<img src="/static/content/fur_meets/03-08-2025_paws_n_pistons/PXL_20250803_140629639.jpg" alt="Paws'N'Pistons">
<img src="/static/content/fur_meets/03-08-2025_paws_n_pistons/PXL_20250803_141242090.jpg" alt="Paws'N'Pistons">
<img src="/static/content/fur_meets/03-08-2025_paws_n_pistons/PXL_20250803_182023562.jpg" alt="Paws'N'Pistons">
<img src="/static/content/fur_meets/03-08-2025_paws_n_pistons/PXL_20250803_184321576.jpg" alt="Paws'N'Pistons">
</div>
</section>
{% endblock %}

View File

@@ -0,0 +1,107 @@
{% extends "bases/base.html" %}
{% block title %}Toaster - Alfie's basement{% endblock %}
{% block description %}furry corner{% endblock %}
{% block og_image %}/static/content/Toaster_v1.0_Dark.png{% endblock %}
{% block keywords %}
Alfie King, Alfie, King, Alfieking, Alfieking.dev, dev, server, developer, backend, selfhost, homelab, furry, protogen, toaster,
fursona, fur, furmeet, fursuit, persona, character, protogen fursona, protogen character, protogen fursona design,
protogen character design, critters mk, critters cmk, paws n pistons, paws'n'pistons, paws n pistons furry meet, paws'n'pistons furry meet,
protogen v1.0, toaster v1.0
{% endblock %}
{% block head %}
<link rel="stylesheet" href="/static/css/toaster.css">
{% endblock %}
{% block content %}
<section>
<h1>Toaster</h1>
<p>
heya, you may have guessed by now that I am a furry. Specifically my fursona is a protogen called Toaster. I didn't actually choose the name,
I just couldn't think of a name and a few people just started calling me Toaster because I am a protogen.
<br><br>
Originally (before I was a furry), I had a unnamed charcater that was just saved as "lil_guy.png" in my files. He is the tv head character
that I the main "mascot" of my website, I drew him a while ago when I was planning to make a functional tv head.
<br><br>
Once I eventually got out of the furry closet, I was trying to think of a species to choose and I thought that protogens are a mix of having a
screen for a face and being fluffy, so I thought it would be a good fit. I still want to keep the tv head character in some places since I rly like him,
however I plan on using Toaster more. So he may become the main mascot of my website "soon ish".
</p>
</section>
<div class="flex-row">
<section>
<h1>Specs</h1>
<h6>(Additional specs coming "soon ish", Very subject to change :P)</h6>
<ul id="toaster-specs">
<li><b>Species:</b><span>Protogen</span></li>
<li><b>Version:</b><span>v1.0</span></li>
<li><b>Height:</b><span>1.73m</span></li>
<li><b>Weight:</b><span>Mild Chonk</span></li>
<li><b>Base Color:</b><span class="color" style="background-color: #0e0c11">#0e0c11</span></li>
<li><b>Accent Color:</b><span class="color" style="background-color: #a685c6">#a685c6</span></li>
<li><b>Operating System:</b><span>Proot OS&trade;</span></li>
<li><b>Processor:</b><span>Fried Potato</span></li>
<li><b>RAM:</b><span>Not Enough</span></li>
<li><b>Storage:</b><span>1.44MB Floppy</span></li>
<li><b>Ports:</b><span>USB-C</span></li> <!-- You know exactly where this is dont you :3 (note: this is a joke (probably), there are ports are behind the round screens tho)-->
<li><b>Accessories:</b><span>"Neck Armor"</span></li>
<li><b>Bugs:</b><span>Anxiety<sup>2</sup></span></li>
<li><b>Gender:</b><span>Male</span></li>
</ul>
</section>
<div class="flex-col">
<img src="/static/content/toaster/Toaster_v1.0_Dark.png" alt="toaster" id="toaster-img">
<section class="fill-height">
<p>
NEW AND IMPROVED! Toaster v1.0 is here!
<br><br>
Toaster v1.0 is the first version of Toaster that I have drawn that I am actually happy with.
Im still working on the design, so it may change in the future, but I think I like this enough to keep it for now.
</p>
</section>
</div>
</div>
<section>
<h1>Plans</h1>
<p>
I plan on drawing Toaster "properly" soon, im quite happy with the current design, but I want to add more detail and personality to him.
I also want to make a proper ref sheet for him, so it looks like I have a decent idea of what im doing, cus im kinda winging it right now.
<br><br>
I also wanna try make a fursuit head of Toaster, but I am not sure how well that will go. I can handle the electronics and I know a few people
with 3d printers, so I can get the base printed. However I have never made a fursuit before, so idk how well it will go, expecially with the fur.
I have no clue how to make the fur look good, so I may just end up getting someone else to help me with that. Budget is also a concern, cus im
clinically broke. So rn im working of whatever I can buy from shady chinese websites for electronics and whatever I can find in my local area for the fur.
<br><br>
If I end up making a fursuit, I will probably make a post about it on my site and maybe even make a video of it (but dont hold me to that).
</p>
</section>
<section>
<h1>Events</h1>
<p>
There are a few events that ive been to, however I plan on trying to go to more in the future.
<br>
</p>
<ul id="fur-meets">
<li>
<a href="/events/crittersmk"><b>Critters MK</b></a> - A furmeet in Milton Keynes.
<div class="fur-meet-gallery-small">
<img src="/static/content/fur_meets/26-07-2025_critters_mk/PXL_20250726_152110445.jpg" alt="Critters MK">
<img src="/static/content/fur_meets/26-07-2025_critters_mk/PXL_20250726_155134418.jpg" alt="Critters MK">
<img src="/static/content/fur_meets/26-07-2025_critters_mk/PXL_20250726_155226274.jpg" alt="Critters MK">
<img src="/static/content/fur_meets/26-07-2025_critters_mk/PXL_20250726_155434701.jpg" alt="Critters MK">
</div>
</li>
<li>
<a href="/events/paws-n-pistons"><b>Paws'N'Pistons</b></a> - A furry car meet around the UK.
<div class="fur-meet-gallery-small">
<img src="/static/content/fur_meets/03-08-2025_paws_n_pistons/PXL_20250803_141943558.jpg" alt="Paws'N'Pistons">
<img src="/static/content/fur_meets/03-08-2025_paws_n_pistons/PXL_20250803_150138054.jpg" alt="Paws'N'Pistons">
<img src="/static/content/fur_meets/03-08-2025_paws_n_pistons/PXL_20250803_150249916.jpg" alt="Paws'N'Pistons">
<img src="/static/content/fur_meets/03-08-2025_paws_n_pistons/PXL_20250803_183614897.jpg" alt="Paws'N'Pistons">
</div>
</li>
<p>Click on the links to view more photos from each event :3</p>
</ul>
</section>
{% endblock %}