From 91ff76ac29d45c82d149316e993abaff52f7d6b9 Mon Sep 17 00:00:00 2001 From: Theresa Treimer Date: Thu, 10 Jul 2025 20:18:49 +0200 Subject: [PATCH] Initial commit --- Dockerfile | 66 +++++++++ docker-compose.yml | 10 ++ lapis/app.lua | 62 +++++++++ lapis/config.lua | 14 ++ lapis/logs/access.log | 256 +++++++++++++++++++++++++++++++++++ lapis/logs/error.log | 7 + lapis/logs/nginx.pid | 1 + lapis/mime.types | 81 +++++++++++ lapis/models.lua | 2 + lapis/nginx.conf | 36 +++++ lapis/nginx.conf.compiled | 37 +++++ lapis/static/arrow_left.svg | 91 +++++++++++++ lapis/static/arrow_right.svg | 91 +++++++++++++ lapis/static/logo.svg | 28 ++++ lapis/static/logo_cut.svg | 103 ++++++++++++++ logo.svg | 28 ++++ 16 files changed, 913 insertions(+) create mode 100644 Dockerfile create mode 100644 docker-compose.yml create mode 100644 lapis/app.lua create mode 100644 lapis/config.lua create mode 100644 lapis/logs/access.log create mode 100644 lapis/logs/error.log create mode 100644 lapis/logs/nginx.pid create mode 100644 lapis/mime.types create mode 100644 lapis/models.lua create mode 100644 lapis/nginx.conf create mode 100644 lapis/nginx.conf.compiled create mode 100644 lapis/static/arrow_left.svg create mode 100644 lapis/static/arrow_right.svg create mode 100644 lapis/static/logo.svg create mode 100644 lapis/static/logo_cut.svg create mode 100644 logo.svg diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..96435d5 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,66 @@ +# Dockerfile - alpine-fat +# https://github.com/openresty/docker-openresty +# +# This builds upon the base OpenResty alpine image that adds +# some build-related packages, has perl installed for opm, +# and includes luarocks and envsubst. +# +# NOTE: For envsubst, we install gettext (envsubst's source package), +# copy it out, then uninstall gettext (to save some space as envsubst is very small) +# libintl and musl are dependencies of envsubst, so those are installed as well + +ARG RESTY_FAT_IMAGE_BASE="openresty/openresty" +ARG RESTY_FAT_IMAGE_TAG="alpine" + +FROM ${RESTY_FAT_IMAGE_BASE}:${RESTY_FAT_IMAGE_TAG} + +ARG RESTY_FAT_IMAGE_BASE="openresty/openresty" +ARG RESTY_FAT_IMAGE_TAG="alpine" + +ARG RESTY_LUAROCKS_VERSION="3.12.0" + +LABEL maintainer="Evan Wies " +LABEL resty_fat_image_base="${RESTY_FAT_IMAGE_BASE}" +LABEL resty_fat_image_tag="${RESTY_FAT_IMAGE_TAG}" +LABEL resty_luarocks_version="${RESTY_LUAROCKS_VERSION}" + +RUN apk add --no-cache --virtual .build-deps \ + perl-dev \ + && apk add --no-cache \ + bash \ + build-base \ + curl \ + libintl \ + linux-headers \ + make \ + musl \ + outils-md5 \ + perl \ + unzip \ + wget \ + openssl-dev\ + && cd /tmp \ + && curl -fSL https://luarocks.github.io/luarocks/releases/luarocks-${RESTY_LUAROCKS_VERSION}.tar.gz -o luarocks-${RESTY_LUAROCKS_VERSION}.tar.gz \ + && tar xzf luarocks-${RESTY_LUAROCKS_VERSION}.tar.gz \ + && cd luarocks-${RESTY_LUAROCKS_VERSION} \ + && ./configure \ + --prefix=/usr/local/openresty/luajit \ + --with-lua=/usr/local/openresty/luajit \ + --with-lua-include=/usr/local/openresty/luajit/include/luajit-2.1 \ + && make build \ + && make install \ + && cd /tmp \ + && rm -rf luarocks-${RESTY_LUAROCKS_VERSION} luarocks-${RESTY_LUAROCKS_VERSION}.tar.gz \ + && apk add --no-cache --virtual .gettext gettext \ + && mv /usr/bin/envsubst /tmp/ \ + && apk del .build-deps .gettext \ + && mv /tmp/envsubst /usr/local/bin/ \ + && luarocks install lapis + +# Add LuaRocks paths +# If OpenResty changes, these may need updating: +# /usr/local/openresty/bin/resty -e 'print(package.path)' +# /usr/local/openresty/bin/resty -e 'print(package.cpath)' +ENV LUA_PATH="/usr/local/openresty/site/lualib/?.ljbc;/usr/local/openresty/site/lualib/?/init.ljbc;/usr/local/openresty/lualib/?.ljbc;/usr/local/openresty/lualib/?/init.ljbc;/usr/local/openresty/site/lualib/?.lua;/usr/local/openresty/site/lualib/?/init.lua;/usr/local/openresty/lualib/?.lua;/usr/local/openresty/lualib/?/init.lua;./?.lua;/usr/local/openresty/luajit/share/luajit-2.1/?.lua;/usr/local/share/lua/5.1/?.lua;/usr/local/share/lua/5.1/?/init.lua;/usr/local/openresty/luajit/share/lua/5.1/?.lua;/usr/local/openresty/luajit/share/lua/5.1/?/init.lua" + +ENV LUA_CPATH="/usr/local/openresty/site/lualib/?.so;/usr/local/openresty/lualib/?.so;./?.so;/usr/local/lib/lua/5.1/?.so;/usr/local/openresty/luajit/lib/lua/5.1/?.so;/usr/local/lib/lua/5.1/loadall.so;/usr/local/openresty/luajit/lib/lua/5.1/?.so" diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..cbd5595 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,10 @@ +services: + resty: + image: rest-alpine-fat:2 + ports: + - "8080:8080" + volumes: + - ./lapis:/lapis + command: sh -c "cd /lapis && lapis server" + #environment: + #LAPIS_ENVIRONMENT: "production" diff --git a/lapis/app.lua b/lapis/app.lua new file mode 100644 index 0000000..b97e00f --- /dev/null +++ b/lapis/app.lua @@ -0,0 +1,62 @@ +local lapis = require("lapis") +local app = lapis.Application() + +local config = require("lapis.config").get() + +members = {{"fynn","https://fynngodau.de"}, + {"anton","https://anton.ehrmanntraut.de"}, + {"max","https://aaahhh.de"}, + {"cups",config.host}} +members[#members+1] = members[1] + +math.randomseed(os.time()) + +app:get("/", function() + return 'Welcome to the CUPS (Cool Unique People System) webring
' +end) + +app:get("/embed", function(self) + local from = self.params.from + if from == nil then + return {"cups webring embed needs from defined (.../embed?from=me)"} + end + return string.format('
', config.host, from, config.host, config.host, config.host, from, config.host), {layout = false, content_type="text/html"} +end) + +app:get("/random", function(self) + rand = math.random(1,#members-1) + return {redirect_to=members[rand][2]} +end) + +app:get("/next", function(self) + local found + for _, elem in ipairs(members) do + local name = elem[1] + local url = elem[2] + if found == true then + return {redirect_to=url} + end + if name == self.params.from then + found = true + end + end + return {redirect_to="/"} +end) + + +app:get("/prev", function(self) + local found + for i=#members, 1, -1 do + local name = members[i][1] + local url = members[i][2] + if found == true then + return {redirect_to=url} + end + if name == self.params.from then + found = true + end + end + return {redirect_to="/"} +end) + +return app diff --git a/lapis/config.lua b/lapis/config.lua new file mode 100644 index 0000000..544604a --- /dev/null +++ b/lapis/config.lua @@ -0,0 +1,14 @@ +local config = require("lapis.config") + +config("development", { + server = "nginx", + code_cache = "off", + num_workers = "1", + host = "http://localhost:8080" +}) + +config("production", { + server = "nginx", + num_workers= "1", + host = "https://cups.teabucket.eu" +}) diff --git a/lapis/logs/access.log b/lapis/logs/access.log new file mode 100644 index 0000000..b936b46 --- /dev/null +++ b/lapis/logs/access.log @@ -0,0 +1,256 @@ +172.21.0.1 - - [08/Jul/2025:18:27:06 +0000] "GET / HTTP/1.1" 200 123 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:18:27:07 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:18:27:09 +0000] "GET / HTTP/1.1" 200 123 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:18:27:09 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:18:30:15 +0000] "GET / HTTP/1.1" 200 123 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:18:30:15 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:18:30:22 +0000] "GET /next?from=haha HTTP/1.1" 500 1532 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:18:30:22 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/next?from=haha" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:18:32:11 +0000] "GET /next?from=haha HTTP/1.1" 500 1515 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:18:32:12 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/next?from=haha" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:18:32:19 +0000] "GET /next?from_page=haha HTTP/1.1" 200 115 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:18:32:19 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/next?from_page=haha" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:18:33:52 +0000] "GET /next?from_page=fynngodau.de HTTP/1.1" 200 100 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:18:33:52 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/next?from_page=fynngodau.de" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:18:34:06 +0000] "GET /next?from=fynngodau.de HTTP/1.1" 200 100 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:18:34:06 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/next?from=fynngodau.de" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:18:36:49 +0000] "GET /next?from=https://fynngodau.de HTTP/1.1" 200 100 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:18:36:49 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/next?from=https://fynngodau.de" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:18:36:56 +0000] "GET /next?from=https://ww.fynngodau.de HTTP/1.1" 200 100 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:18:36:56 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/next?from=https://ww.fynngodau.de" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:18:37:27 +0000] "GET /next?from=https://ww.fynngodau.de HTTP/1.1" 200 100 "-" "curl/8.9.1" +172.21.0.1 - - [08/Jul/2025:18:37:30 +0000] "GET /next?from=https://ww.fynngodau.de HTTP/1.1" 200 100 "-" "curl/8.9.1" +172.21.0.1 - - [08/Jul/2025:18:38:17 +0000] "GET /next?from=https://www.fynngodau.de HTTP/1.1" 200 100 "-" "curl/8.9.1" +172.21.0.1 - - [08/Jul/2025:18:38:50 +0000] "GET /next?from=https://www.fynngodau.de HTTP/1.1" 302 5 "-" "curl/8.9.1" +172.21.0.1 - - [08/Jul/2025:18:39:02 +0000] "GET /next?from=https://ww.fynngodau.de HTTP/1.1" 302 5 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:18:39:05 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/next?from=https://fynngodau.de" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:18:39:09 +0000] "GET /next?from=https://fynngodau.de HTTP/1.1" 302 5 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:18:39:11 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/next?from=fynngodau.de" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:18:47:48 +0000] "GET /next?from=fynngodau.de HTTP/1.1" 500 183 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:18:47:52 +0000] "GET /next?from=fynn HTTP/1.1" 500 183 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:18:47:55 +0000] "GET /next?from=fynn HTTP/1.1" 500 183 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:18:48:31 +0000] "GET /next?from=fynn HTTP/1.1" 500 183 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:18:49:37 +0000] "GET /next?from=fynn HTTP/1.1" 500 183 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:18:49:37 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/next?from=fynn" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:18:49:38 +0000] "GET /next?from=fynn HTTP/1.1" 500 183 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:18:50:12 +0000] "GET /next?from=fynn HTTP/1.1" 302 5 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:18:50:12 +0000] "GET / HTTP/1.1" 200 123 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:18:50:50 +0000] "GET /next?from=fynn HTTP/1.1" 302 5 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:18:50:50 +0000] "GET / HTTP/1.1" 200 123 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:18:51:00 +0000] "GET /next?from=anton HTTP/1.1" 302 5 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:18:51:00 +0000] "GET / HTTP/1.1" 200 123 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:18:53:07 +0000] "GET /next?from=fynn HTTP/1.1" 302 5 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:18:53:07 +0000] "GET / HTTP/1.1" 200 123 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:18:54:21 +0000] "GET /next?from=fynn HTTP/1.1" 302 5 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:18:54:21 +0000] "GET / HTTP/1.1" 200 123 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:18:54:27 +0000] "GET /next?from=fynn HTTP/1.1" 302 5 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:18:54:27 +0000] "GET / HTTP/1.1" 200 123 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:18:55:02 +0000] "GET /next?from=fynn HTTP/1.1" 200 104 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:18:55:23 +0000] "GET /next?from=fynn HTTP/1.1" 500 183 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:18:58:14 +0000] "GET /next?from=fynn HTTP/1.1" 500 183 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:18:58:33 +0000] "GET /next?from=fynn HTTP/1.1" 500 183 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:18:58:40 +0000] "GET /next?from=fynn HTTP/1.1" 200 158 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:18:59:44 +0000] "GET /next?from=fynn HTTP/1.1" 200 105 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:19:01:12 +0000] "GET /next?from=fynn HTTP/1.1" 200 104 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:19:01:12 +0000] "GET /next?from=fynn HTTP/1.1" 200 104 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:19:01:32 +0000] "GET /next?from=fynn HTTP/1.1" 302 5 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:19:01:32 +0000] "GET /anton.ehrmanntraut.de HTTP/1.1" 500 1539 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:19:01:59 +0000] "GET /next?from=fynn HTTP/1.1" 302 5 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:19:02:12 +0000] "GET /next?from=anton HTTP/1.1" 302 5 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:19:05:51 +0000] "GET /prev?from=max HTTP/1.1" 500 183 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:19:05:51 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/prev?from=max" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:19:07:20 +0000] "GET /prev?from=max HTTP/1.1" 500 183 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:19:07:47 +0000] "GET /prev?from=max HTTP/1.1" 500 183 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:19:09:37 +0000] "GET /prev?from=max HTTP/1.1" 500 183 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:19:10:01 +0000] "GET /prev?from=max HTTP/1.1" 302 5 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:19:10:19 +0000] "GET /prev?from=anton HTTP/1.1" 302 5 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:19:10:28 +0000] "GET /prev?from=fynn HTTP/1.1" 302 5 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:19:11:25 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/next?from=fynngodau.de" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:19:11:27 +0000] "GET /next?from=fynngodau.de HTTP/1.1" 302 5 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:19:11:27 +0000] "GET / HTTP/1.1" 200 142 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:19:13:21 +0000] "GET /random HTTP/1.1" 500 183 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:19:13:43 +0000] "GET /random HTTP/1.1" 302 5 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:19:13:48 +0000] "GET /ransom HTTP/1.1" 500 1524 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:19:13:54 +0000] "GET /random HTTP/1.1" 302 5 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:19:13:59 +0000] "GET /random HTTP/1.1" 302 5 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:19:14:02 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/ransom" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:19:14:07 +0000] "GET /random HTTP/1.1" 302 5 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:19:14:08 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/ransom" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:19:15:17 +0000] "GET /random HTTP/1.1" 302 5 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:19:15:20 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/ransom" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:19:15:24 +0000] "GET /random HTTP/1.1" 302 5 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:19:15:26 +0000] "GET /random HTTP/1.1" 302 5 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:19:15:29 +0000] "GET /random HTTP/1.1" 302 5 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:19:15:33 +0000] "GET / HTTP/1.1" 200 144 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:19:15:34 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:19:18:54 +0000] "GET / HTTP/1.1" 500 183 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:19:18:54 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:19:19:05 +0000] "GET / HTTP/1.1" 200 221 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:19:19:05 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:19:19:07 +0000] "GET /prev?from=webring HTTP/1.1" 302 5 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:19:19:08 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:19:19:08 +0000] "GET /next?from=webring HTTP/1.1" 302 5 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:19:19:37 +0000] "GET / HTTP/1.1" 200 212 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:19:19:38 +0000] "GET /prev?from=webring HTTP/1.1" 302 5 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [08/Jul/2025:19:20:10 +0000] "GET / HTTP/1.1" 200 212 "-" "curl/8.9.1" +172.21.0.1 - - [08/Jul/2025:19:22:58 +0000] "GET / HTTP/1.1" 200 212 "-" "curl/8.9.1" +172.21.0.1 - - [08/Jul/2025:19:23:00 +0000] "GET / HTTP/1.1" 200 212 "-" "curl/8.9.1" +172.21.0.1 - - [10/Jul/2025:13:21:15 +0000] "GET / HTTP/1.1" 200 212 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:13:21:15 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:13:21:17 +0000] "GET /next?from=webring HTTP/1.1" 302 5 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:13:21:20 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:13:21:20 +0000] "GET /prev?from=webring HTTP/1.1" 302 5 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:13:21:25 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:13:21:52 +0000] "GET /next?from=fynn HTTP/1.1" 302 5 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:13:35:09 +0000] "GET / HTTP/1.1" 200 212 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:13:35:10 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:14:56:34 +0000] "GET / HTTP/1.1" 200 243 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:14:56:35 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:14:56:37 +0000] "GET /next?from=webring HTTP/1.1" 302 5 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:14:56:46 +0000] "GET /prev?from=fynn HTTP/1.1" 302 5 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:14:56:46 +0000] "GET / HTTP/1.1" 200 243 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:14:58:46 +0000] "GET / HTTP/1.1" 200 243 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:14:58:46 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:14:58:53 +0000] "GET /prev?from=fynn HTTP/1.1" 302 5 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:15:04:21 +0000] "GET / HTTP/1.1" 500 183 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:15:04:21 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:15:10:15 +0000] "GET / HTTP/1.1" 500 183 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:15:10:16 +0000] "GET / HTTP/1.1" 500 183 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:15:12:08 +0000] "GET / HTTP/1.1" 500 183 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:15:12:39 +0000] "GET / HTTP/1.1" 500 183 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:15:12:40 +0000] "GET / HTTP/1.1" 500 183 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:15:13:11 +0000] "GET / HTTP/1.1" 200 214 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:15:13:12 +0000] "GET / HTTP/1.1" 200 214 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:15:13:36 +0000] "GET / HTTP/1.1" 200 230 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:15:13:36 +0000] "GET /embed?from=cups HTTP/1.1" 200 218 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:15:13:38 +0000] "GET /next?from=cups HTTP/1.1" 302 5 "http://localhost:8080/embed?from=cups" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:15:15:38 +0000] "GET / HTTP/1.1" 200 217 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:15:15:39 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:15:15:53 +0000] "GET / HTTP/1.1" 200 214 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:15:15:53 +0000] "GET /embed?from=cups HTTP/1.1" 200 218 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:15:15:55 +0000] "GET /next?from=cups HTTP/1.1" 302 5 "http://localhost:8080/embed?from=cups" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:15:20:30 +0000] "GET / HTTP/1.1" 200 214 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:15:20:30 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:15:20:30 +0000] "GET /embed?from=cups HTTP/1.1" 200 235 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:15:20:31 +0000] "GET /next?from=cups HTTP/1.1" 302 5 "http://localhost:8080/embed?from=cups" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:15:20:34 +0000] "GET /prev?from=cups HTTP/1.1" 302 5 "http://localhost:8080/embed?from=cups" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:15:21:18 +0000] "GET / HTTP/1.1" 200 230 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:15:21:18 +0000] "GET /embed?from=cups HTTP/1.1" 200 250 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:15:21:19 +0000] "GET /next?from=cups HTTP/1.1" 302 5 "http://localhost:8080/embed?from=cups" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:15:21:21 +0000] "GET /prev?from=cups HTTP/1.1" 302 5 "http://localhost:8080/embed?from=cups" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:15:21:26 +0000] "GET / HTTP/1.1" 200 230 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:15:21:26 +0000] "GET /embed?from=cups HTTP/1.1" 200 250 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:15:21:38 +0000] "GET / HTTP/1.1" 200 230 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:15:21:38 +0000] "GET /embed?from=cups HTTP/1.1" 200 250 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:15:21:42 +0000] "GET /next?from=cups HTTP/1.1" 302 5 "http://localhost:8080/embed?from=cups" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:15:21:44 +0000] "GET /prev?from=cups HTTP/1.1" 302 5 "http://localhost:8080/embed?from=cups" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:15:21:48 +0000] "GET / HTTP/1.1" 200 230 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:15:21:48 +0000] "GET /embed?from=cups HTTP/1.1" 200 250 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:15:22:20 +0000] "GET / HTTP/1.1" 200 230 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:15:22:21 +0000] "GET /embed?from=cups HTTP/1.1" 200 252 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:15:22:21 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:15:22:23 +0000] "GET /prev?from=cups HTTP/1.1" 302 5 "http://localhost:8080/embed?from=cups" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:15:23:59 +0000] "GET /next?from=cups HTTP/1.1" 302 5 "http://localhost:8080/embed?from=cups" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:15:24:02 +0000] "GET /prev?from=cups HTTP/1.1" 302 5 "http://localhost:8080/embed?from=cups" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:16:32:05 +0000] "GET /logo.svg HTTP/1.1" 500 1526 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:16:32:06 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/logo.svg" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:16:37:44 +0000] "GET /logo.svg HTTP/1.1" 500 1526 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:16:37:44 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/logo.svg" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:16:37:45 +0000] "GET /logo.svg HTTP/1.1" 500 1526 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:16:37:49 +0000] "GET /static/logo.svg HTTP/1.1" 200 7376 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:16:42:39 +0000] "GET / HTTP/1.1" 200 230 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:16:42:39 +0000] "GET /embed?from=cups HTTP/1.1" 500 1547 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:16:42:42 +0000] "GET / HTTP/1.1" 200 230 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:16:42:42 +0000] "GET /embed?from=cups HTTP/1.1" 500 1547 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:16:46:43 +0000] "GET / HTTP/1.1" 200 230 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:16:46:43 +0000] "GET /embed?from=cups HTTP/1.1" 200 291 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:16:46:44 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:16:46:44 +0000] "GET /static/logo.svg HTTP/1.1" 200 7376 "http://localhost:8080/embed?from=cups" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:16:47:25 +0000] "GET / HTTP/1.1" 200 230 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:16:47:25 +0000] "GET /embed?from=cups HTTP/1.1" 200 312 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:16:47:25 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:16:47:25 +0000] "GET /static/logo.svg HTTP/1.1" 200 7376 "http://localhost:8080/embed?from=cups" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:16:47:33 +0000] "GET /embed?from=cups HTTP/1.1" 200 312 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:16:47:34 +0000] "GET /static/logo.svg HTTP/1.1" 200 7376 "http://localhost:8080/embed?from=cups" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:16:47:34 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/embed?from=cups" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:16:47:35 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:16:49:47 +0000] "GET / HTTP/1.1" 200 230 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:16:49:47 +0000] "GET /embed?from=cups HTTP/1.1" 200 384 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:16:49:47 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:16:49:47 +0000] "GET /static/logo.svg HTTP/1.1" 200 7376 "http://localhost:8080/embed?from=cups" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:16:50:28 +0000] "GET / HTTP/1.1" 200 230 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:16:50:28 +0000] "GET /embed?from=cups HTTP/1.1" 200 385 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:16:50:28 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:16:50:28 +0000] "GET /static/logo.svg HTTP/1.1" 200 7376 "http://localhost:8080/embed?from=cups" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:04:45 +0000] "GET / HTTP/1.1" 200 230 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:04:45 +0000] "GET /embed?from=cups HTTP/1.1" 200 389 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:04:45 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:04:46 +0000] "GET /static/logo_cut.svg HTTP/1.1" 200 6790 "http://localhost:8080/embed?from=cups" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:04:54 +0000] "GET /prev?from=cups HTTP/1.1" 302 5 "http://localhost:8080/embed?from=cups" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:21:37 +0000] "GET / HTTP/1.1" 200 230 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:21:37 +0000] "GET /embed?from=cups HTTP/1.1" 200 457 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:21:37 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:21:37 +0000] "GET /static/logo_cut.svg HTTP/1.1" 200 6790 "http://localhost:8080/embed?from=cups" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:21:48 +0000] "GET / HTTP/1.1" 200 230 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:21:48 +0000] "GET /embed?from=cups HTTP/1.1" 200 458 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:21:49 +0000] "GET /static/arrow_left HTTP/1.1" 404 159 "http://localhost:8080/embed?from=cups" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:21:50 +0000] "GET /prev?from=cups HTTP/1.1" 302 5 "http://localhost:8080/embed?from=cups" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:22:20 +0000] "GET / HTTP/1.1" 200 230 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:22:21 +0000] "GET /embed?from=cups HTTP/1.1" 200 462 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:22:21 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:22:21 +0000] "GET /static/arrow_left.svg HTTP/1.1" 200 2669 "http://localhost:8080/embed?from=cups" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:22:21 +0000] "GET /static/logo_cut.svg HTTP/1.1" 200 6790 "http://localhost:8080/embed?from=cups" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:22:29 +0000] "GET /prev?from=cups HTTP/1.1" 302 5 "http://localhost:8080/embed?from=cups" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:22:30 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:23:22 +0000] "GET / HTTP/1.1" 200 230 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:23:22 +0000] "GET /embed?from=cups HTTP/1.1" 200 462 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:23:22 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:23:22 +0000] "GET /static/arrow_left.svg HTTP/1.1" 200 2924 "http://localhost:8080/embed?from=cups" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:23:22 +0000] "GET /static/logo_cut.svg HTTP/1.1" 200 6790 "http://localhost:8080/embed?from=cups" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:23:27 +0000] "GET /prev?from=cups HTTP/1.1" 302 5 "http://localhost:8080/embed?from=cups" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:23:28 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:28:14 +0000] "GET / HTTP/1.1" 200 230 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:28:14 +0000] "GET /embed?from=cups HTTP/1.1" 500 1550 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:28:14 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:28:44 +0000] "GET / HTTP/1.1" 200 230 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:28:45 +0000] "GET /embed?from=cups HTTP/1.1" 200 536 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:28:45 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:28:45 +0000] "GET /static/arrow_left.svg HTTP/1.1" 200 2924 "http://localhost:8080/embed?from=cups" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:28:45 +0000] "GET /static/logo_cut.svg HTTP/1.1" 200 6790 "http://localhost:8080/embed?from=cups" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:28:45 +0000] "GET /cups/static/arrow_right.svg HTTP/1.1" 500 1545 "http://localhost:8080/embed?from=cups" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:29:21 +0000] "GET / HTTP/1.1" 200 230 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:29:21 +0000] "GET /embed?from=cups HTTP/1.1" 200 536 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:29:21 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:29:21 +0000] "GET /static/arrow_left.svg HTTP/1.1" 200 2924 "http://localhost:8080/embed?from=cups" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:29:21 +0000] "GET /static/logo_cut.svg HTTP/1.1" 200 6790 "http://localhost:8080/embed?from=cups" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:29:21 +0000] "GET /static/arrow_right.svg HTTP/1.1" 200 2955 "http://localhost:8080/embed?from=cups" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:30:46 +0000] "GET / HTTP/1.1" 200 256 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:30:46 +0000] "GET /embed?from=cups HTTP/1.1" 200 536 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:30:46 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:30:46 +0000] "GET /static/arrow_left.svg HTTP/1.1" 200 2924 "http://localhost:8080/embed?from=cups" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:30:46 +0000] "GET /static/logo_cut.svg HTTP/1.1" 200 6790 "http://localhost:8080/embed?from=cups" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:30:46 +0000] "GET /static/arrow_right.svg HTTP/1.1" 200 2955 "http://localhost:8080/embed?from=cups" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:37:05 +0000] "GET / HTTP/1.1" 200 257 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:37:05 +0000] "GET /embed?from=cups HTTP/1.1" 200 447 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:37:05 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:37:05 +0000] "GET /static/arrow_left.svg HTTP/1.1" 200 2924 "http://localhost:8080/embed?from=cups" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:37:05 +0000] "GET /static/logo_cut.svg HTTP/1.1" 200 6790 "http://localhost:8080/embed?from=cups" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:37:05 +0000] "GET /static/arrow_right.svg HTTP/1.1" 200 2955 "http://localhost:8080/embed?from=cups" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:38:10 +0000] "GET / HTTP/1.1" 200 249 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:38:10 +0000] "GET /embed?from=cups HTTP/1.1" 200 447 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:38:10 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:38:10 +0000] "GET /static/arrow_left.svg HTTP/1.1" 200 2924 "http://localhost:8080/embed?from=cups" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:38:10 +0000] "GET /static/logo_cut.svg HTTP/1.1" 200 6790 "http://localhost:8080/embed?from=cups" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:38:10 +0000] "GET /static/arrow_right.svg HTTP/1.1" 200 2955 "http://localhost:8080/embed?from=cups" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:38:16 +0000] "GET / HTTP/1.1" 200 249 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:38:16 +0000] "GET /embed?from=cups HTTP/1.1" 200 447 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:38:16 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:38:16 +0000] "GET /static/arrow_left.svg HTTP/1.1" 200 2924 "http://localhost:8080/embed?from=cups" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:38:16 +0000] "GET /static/logo_cut.svg HTTP/1.1" 200 6790 "http://localhost:8080/embed?from=cups" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:38:16 +0000] "GET /static/arrow_right.svg HTTP/1.1" 200 2955 "http://localhost:8080/embed?from=cups" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:38:31 +0000] "GET / HTTP/1.1" 200 251 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:38:31 +0000] "GET /embed?from=cups HTTP/1.1" 200 447 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:38:31 +0000] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:38:31 +0000] "GET /static/arrow_left.svg HTTP/1.1" 200 2924 "http://localhost:8080/embed?from=cups" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:38:31 +0000] "GET /static/logo_cut.svg HTTP/1.1" 200 6790 "http://localhost:8080/embed?from=cups" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" +172.21.0.1 - - [10/Jul/2025:17:38:31 +0000] "GET /static/arrow_right.svg HTTP/1.1" 200 2955 "http://localhost:8080/embed?from=cups" "Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" diff --git a/lapis/logs/error.log b/lapis/logs/error.log new file mode 100644 index 0000000..2699cf2 --- /dev/null +++ b/lapis/logs/error.log @@ -0,0 +1,7 @@ +2025/07/08 18:26:59 [alert] 12#12: lua_code_cache is off; this will hurt performance in /lapis/nginx.conf.compiled:20 +2025/07/08 18:30:12 [alert] 13#13: lua_code_cache is off; this will hurt performance in /lapis/nginx.conf.compiled:20 +2025/07/08 18:32:04 [alert] 12#12: lua_code_cache is off; this will hurt performance in /lapis/nginx.conf.compiled:20 +2025/07/08 18:33:30 [alert] 13#13: lua_code_cache is off; this will hurt performance in /lapis/nginx.conf.compiled:20 +2025/07/08 18:48:19 [alert] 13#13: lua_code_cache is off; this will hurt performance in /lapis/nginx.conf.compiled:20 +2025/07/10 14:58:41 [alert] 13#13: lua_code_cache is off; this will hurt performance in /lapis/nginx.conf.compiled:20 +2025/07/10 15:00:18 [alert] 13#13: lua_code_cache is off; this will hurt performance in /lapis/nginx.conf.compiled:20 diff --git a/lapis/logs/nginx.pid b/lapis/logs/nginx.pid new file mode 100644 index 0000000..b1bd38b --- /dev/null +++ b/lapis/logs/nginx.pid @@ -0,0 +1 @@ +13 diff --git a/lapis/mime.types b/lapis/mime.types new file mode 100644 index 0000000..2e62062 --- /dev/null +++ b/lapis/mime.types @@ -0,0 +1,81 @@ +types { + text/html html htm shtml; + text/css css; + text/xml xml; + image/gif gif; + image/jpeg jpeg jpg; + application/x-lua lua; + application/x-moonscript moon; + application/x-javascript js; + application/atom+xml atom; + application/rss+xml rss; + + text/mathml mml; + text/plain txt; + text/vnd.sun.j2me.app-descriptor jad; + text/vnd.wap.wml wml; + text/x-component htc; + + image/png png; + image/tiff tif tiff; + image/vnd.wap.wbmp wbmp; + image/x-icon ico; + image/x-jng jng; + image/x-ms-bmp bmp; + image/svg+xml svg svgz; + image/webp webp; + + application/java-archive jar war ear; + application/mac-binhex40 hqx; + application/msword doc; + application/pdf pdf; + application/postscript ps eps ai; + application/rtf rtf; + application/vnd.ms-excel xls; + application/vnd.ms-powerpoint ppt; + application/vnd.wap.wmlc wmlc; + application/vnd.google-earth.kml+xml kml; + application/vnd.google-earth.kmz kmz; + application/x-7z-compressed 7z; + application/x-cocoa cco; + application/x-java-archive-diff jardiff; + application/x-java-jnlp-file jnlp; + application/x-makeself run; + application/x-perl pl pm; + application/x-pilot prc pdb; + application/x-rar-compressed rar; + application/x-redhat-package-manager rpm; + application/x-sea sea; + application/x-shockwave-flash swf; + application/x-stuffit sit; + application/x-tcl tcl tk; + application/x-x509-ca-cert der pem crt; + application/x-xpinstall xpi; + application/xhtml+xml xhtml; + application/zip zip; + + application/octet-stream bin exe dll; + application/octet-stream deb; + application/octet-stream dmg; + application/octet-stream eot; + application/octet-stream iso img; + application/octet-stream msi msp msm; + + audio/midi mid midi kar; + audio/mpeg mp3; + audio/ogg ogg; + audio/x-m4a m4a; + audio/x-realaudio ra; + + video/3gpp 3gpp 3gp; + video/mp4 mp4; + video/mpeg mpeg mpg; + video/quicktime mov; + video/webm webm; + video/x-flv flv; + video/x-m4v m4v; + video/x-mng mng; + video/x-ms-asf asx asf; + video/x-ms-wmv wmv; + video/x-msvideo avi; +} diff --git a/lapis/models.lua b/lapis/models.lua new file mode 100644 index 0000000..baa96c0 --- /dev/null +++ b/lapis/models.lua @@ -0,0 +1,2 @@ +local autoload = require("lapis.util").autoload +return autoload("models") diff --git a/lapis/nginx.conf b/lapis/nginx.conf new file mode 100644 index 0000000..e9bcd06 --- /dev/null +++ b/lapis/nginx.conf @@ -0,0 +1,36 @@ +worker_processes ${{NUM_WORKERS}}; +error_log stderr notice; +daemon off; +pid logs/nginx.pid; + +events { + worker_connections 1024; +} + +http { + include mime.types; + + init_by_lua_block { + require "lpeg" + } + + server { + listen ${{PORT}}; + lua_code_cache ${{CODE_CACHE}}; + + location / { + default_type text/html; + content_by_lua_block { + require("lapis").serve("app") + } + } + + location /static/ { + alias static/; + } + + location /favicon.ico { + alias static/favicon.ico; + } + } +} diff --git a/lapis/nginx.conf.compiled b/lapis/nginx.conf.compiled new file mode 100644 index 0000000..eae3968 --- /dev/null +++ b/lapis/nginx.conf.compiled @@ -0,0 +1,37 @@ +env LAPIS_ENVIRONMENT=development; +worker_processes 1; +error_log stderr notice; +daemon off; +pid logs/nginx.pid; + +events { + worker_connections 1024; +} + +http { + include mime.types; + + init_by_lua_block { + require "lpeg" + } + + server { + listen 8080; + lua_code_cache off; + + location / { + default_type text/html; + content_by_lua_block { + require("lapis").serve("app") + } + } + + location /static/ { + alias static/; + } + + location /favicon.ico { + alias static/favicon.ico; + } + } +} diff --git a/lapis/static/arrow_left.svg b/lapis/static/arrow_left.svg new file mode 100644 index 0000000..b7d9dc2 --- /dev/null +++ b/lapis/static/arrow_left.svg @@ -0,0 +1,91 @@ + + + + + + + + + + + + diff --git a/lapis/static/arrow_right.svg b/lapis/static/arrow_right.svg new file mode 100644 index 0000000..1bd58d0 --- /dev/null +++ b/lapis/static/arrow_right.svg @@ -0,0 +1,91 @@ + + + + + + + + + + + + diff --git a/lapis/static/logo.svg b/lapis/static/logo.svg new file mode 100644 index 0000000..bb70d53 --- /dev/null +++ b/lapis/static/logo.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lapis/static/logo_cut.svg b/lapis/static/logo_cut.svg new file mode 100644 index 0000000..cecb1db --- /dev/null +++ b/lapis/static/logo_cut.svg @@ -0,0 +1,103 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/logo.svg b/logo.svg new file mode 100644 index 0000000..bb70d53 --- /dev/null +++ b/logo.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + +