aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md3
-rwxr-xr-xcgi-bin/guide/cryptexisting.lua6
-rwxr-xr-xcgi-bin/guide/iproute2tun.lua6
-rwxr-xr-xcgi-bin/guide/kppp.lua6
-rwxr-xr-xcgi-bin/guide/krbnfs.lua6
-rwxr-xr-xcgi-bin/guide/ovpnip6.lua6
-rwxr-xr-xcgi-bin/guide/vf6.lua6
-rwxr-xr-xcgi-bin/guide/wifi103.lua6
-rwxr-xr-xcgi-bin/guides.lua6
-rwxr-xr-xcgi-bin/index.lua6
-rwxr-xr-xcgi-bin/password_generator.lua43
-rwxr-xr-xcgi-bin/rsdsl.lua6
-rwxr-xr-xcgi-bin/rustkrazy.lua6
-rw-r--r--common/cgi.lua234
-rw-r--r--common/file.lua68
-rw-r--r--httpd.conf610
-rw-r--r--src/guide/cryptexisting.md (renamed from htdocs/guide/cryptexisting.md)0
-rw-r--r--src/guide/iproute2tun.md (renamed from htdocs/guide/iproute2tun.md)0
-rw-r--r--src/guide/kppp.md (renamed from htdocs/guide/kppp.md)0
-rw-r--r--src/guide/krbnfs.md (renamed from htdocs/guide/krbnfs.md)0
-rw-r--r--src/guide/ovpnip6.md (renamed from htdocs/guide/ovpnip6.md)0
-rw-r--r--src/guide/vf6.md (renamed from htdocs/guide/vf6.md)0
-rw-r--r--src/guide/wifi103.md (renamed from htdocs/guide/wifi103.md)0
-rw-r--r--src/guides.md (renamed from htdocs/guides.md)0
-rw-r--r--src/index.md (renamed from htdocs/index.md)0
-rw-r--r--src/password_generator.md (renamed from htdocs/password_generator.md)0
-rw-r--r--src/rsdsl.md (renamed from htdocs/rsdsl.md)0
-rw-r--r--src/rustkrazy.md (renamed from htdocs/rustkrazy.md)0
-rw-r--r--static/common.css (renamed from htdocs/common.css)0
-rw-r--r--static/favicon.ico (renamed from htdocs/favicon.ico)bin161442 -> 161442 bytes
-rw-r--r--static/pgp/2152D04DBFFE3567CD15F58BA3D3E205DA0B0401.asc (renamed from htdocs/pgp/2152D04DBFFE3567CD15F58BA3D3E205DA0B0401.asc)bin1763 -> 1763 bytes
-rw-r--r--static/pgp/F740BD951299D26B8B4FF28B2E6C9B91802EDCC4.asc (renamed from htdocs/pgp/F740BD951299D26B8B4FF28B2E6C9B91802EDCC4.asc)bin1763 -> 1763 bytes
32 files changed, 1 insertions, 1023 deletions
diff --git a/README.md b/README.md
index b56e8c7..45fc57c 100644
--- a/README.md
+++ b/README.md
@@ -3,8 +3,7 @@
Himbeerserver v3, formerly known as
[www.himbeerserver.de](https://github.com/HimbeerserverDE/www.himbeerserver.de).
-This is a simple static markdown website with a Lua preprocessor
-allowing dynamic content for placeholders in the markdown source.
+This is a simple static markdown website powered by pandoc and caddy.
No JavaScript is used, but there is a global CSS stylesheet.
diff --git a/cgi-bin/guide/cryptexisting.lua b/cgi-bin/guide/cryptexisting.lua
deleted file mode 100755
index 9859340..0000000
--- a/cgi-bin/guide/cryptexisting.lua
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/usr/bin/env lua
-
-local cgi = require "cgi"
-local file = require "file"
-
-cgi.serve(file.process("/guide/cryptexisting.md", nil, "--toc"))
diff --git a/cgi-bin/guide/iproute2tun.lua b/cgi-bin/guide/iproute2tun.lua
deleted file mode 100755
index 8b72c80..0000000
--- a/cgi-bin/guide/iproute2tun.lua
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/usr/bin/env lua
-
-local cgi = require "cgi"
-local file = require "file"
-
-cgi.serve(file.process("/guide/iproute2tun.md", nil, "--toc"))
diff --git a/cgi-bin/guide/kppp.lua b/cgi-bin/guide/kppp.lua
deleted file mode 100755
index 20a9636..0000000
--- a/cgi-bin/guide/kppp.lua
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/usr/bin/env lua
-
-local cgi = require "cgi"
-local file = require "file"
-
-cgi.serve(file.process("/guide/kppp.md", nil, "--toc"))
diff --git a/cgi-bin/guide/krbnfs.lua b/cgi-bin/guide/krbnfs.lua
deleted file mode 100755
index bd82ee6..0000000
--- a/cgi-bin/guide/krbnfs.lua
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/usr/bin/env lua
-
-local cgi = require "cgi"
-local file = require "file"
-
-cgi.serve(file.process("/guide/krbnfs.md", nil, "--toc"))
diff --git a/cgi-bin/guide/ovpnip6.lua b/cgi-bin/guide/ovpnip6.lua
deleted file mode 100755
index dad2adc..0000000
--- a/cgi-bin/guide/ovpnip6.lua
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/usr/bin/env lua
-
-local cgi = require "cgi"
-local file = require "file"
-
-cgi.serve(file.process("/guide/ovpnip6.md", nil, "--toc"))
diff --git a/cgi-bin/guide/vf6.lua b/cgi-bin/guide/vf6.lua
deleted file mode 100755
index b2dd047..0000000
--- a/cgi-bin/guide/vf6.lua
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/usr/bin/env lua
-
-local cgi = require "cgi"
-local file = require "file"
-
-cgi.serve(file.process("/guide/vf6.md", nil, "--toc"))
diff --git a/cgi-bin/guide/wifi103.lua b/cgi-bin/guide/wifi103.lua
deleted file mode 100755
index 7a3a12f..0000000
--- a/cgi-bin/guide/wifi103.lua
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/usr/bin/env lua
-
-local cgi = require "cgi"
-local file = require "file"
-
-cgi.serve(file.process("/guide/wifi103.md", nil, "--toc"))
diff --git a/cgi-bin/guides.lua b/cgi-bin/guides.lua
deleted file mode 100755
index 7482e72..0000000
--- a/cgi-bin/guides.lua
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/usr/bin/env lua
-
-local cgi = require "cgi"
-local file = require "file"
-
-cgi.serve(file.process("/guides.md"))
diff --git a/cgi-bin/index.lua b/cgi-bin/index.lua
deleted file mode 100755
index 8889a60..0000000
--- a/cgi-bin/index.lua
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/usr/bin/env lua
-
-local cgi = require "cgi"
-local file = require "file"
-
-cgi.serve(file.process("/index.md", nil, "--toc"))
diff --git a/cgi-bin/password_generator.lua b/cgi-bin/password_generator.lua
deleted file mode 100755
index d50c022..0000000
--- a/cgi-bin/password_generator.lua
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/usr/bin/env lua
-
-local cgi = require "cgi"
-local file = require "file"
-
-local f = io.open("/dev/random", "r")
-local rand = f:read(64)
-f:close()
-
-local seed = 0
-for i = 1, #rand do
- local c = rand:sub(i, i)
- seed = seed + string.byte(c)
-end
-math.randomseed(seed)
-
-local chars = {
- strongest = "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_abcdefghijklmnopqrstuvwxyz{|}~",
- strong = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",
- medium = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",
- weak = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",
-}
-
--- generator function
-local function gen(from, len)
- local result = ""
- for i = 1, len do
- local j = math.random(1, #from)
- result = result .. from:sub(j, j)
- end
-
- return result:gsub("%%", "%%%%")
-end
-
-local passwords = {}
-for i = 1, 5 do
- passwords["strongest" .. tostring(i)] = gen(chars.strongest, 32)
- passwords["strong" .. tostring(i)] = gen(chars.strong, 32)
- passwords["medium" .. tostring(i)] = gen(chars.medium, 32)
- passwords["weak" .. tostring(i)] = gen(chars.weak, 16)
-end
-
-cgi.serve(file.process("/password_generator.md", passwords))
diff --git a/cgi-bin/rsdsl.lua b/cgi-bin/rsdsl.lua
deleted file mode 100755
index 9f6f103..0000000
--- a/cgi-bin/rsdsl.lua
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/usr/bin/env lua
-
-local cgi = require "cgi"
-local file = require "file"
-
-cgi.serve(file.process("/rsdsl.md"))
diff --git a/cgi-bin/rustkrazy.lua b/cgi-bin/rustkrazy.lua
deleted file mode 100755
index 41421ff..0000000
--- a/cgi-bin/rustkrazy.lua
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/usr/bin/env lua
-
-local cgi = require "cgi"
-local file = require "file"
-
-cgi.serve(file.process("/rustkrazy.md"))
diff --git a/common/cgi.lua b/common/cgi.lua
deleted file mode 100644
index 8f2acef..0000000
--- a/common/cgi.lua
+++ /dev/null
@@ -1,234 +0,0 @@
-cgi = {}
-
-cgi.none = "None"
-cgi.lax = "Lax"
-cgi.strict = "Strict"
-
--- global helpers
-function string.split(self, sep)
- if not sep then sep = "%s" end
-
- local t = {}
- for match in (self .. sep):gmatch("(.-)" .. sep) do
- table.insert(t, match)
- end
-
- return t
-end
-
-function string.fromhex(self)
- return (self:gsub("..", function(cc)
- return string.char(tonumber(cc, 16))
- end))
-end
-
-function string.tohex(self)
- return (self:gsub(".", function(c)
- return string.format("%02x", string.byte(c))
- end))
-end
-
-function cgi.encode_uri(str)
- if str then
- str = str:gsub("\n", "\r\n")
- str = str:gsub("([^%w _ %- . ~])",
- function(c) return string.format("%%%02X", string.byte(c)) end)
- str = str:gsub(" ", "+")
- end
-
- return str
-end
-
-function cgi.decode_uri(str)
- if str then
- str = str:gsub("+", " ")
- str = str:gsub("%%(%x%x)",
- function(hex) return string.char(tonumber(hex, 16)) end)
- end
-
- return str
-end
-
-local function parse_params(dst, src)
- for _, pair in ipairs(src:split("&")) do
- local kv = pair:split("=")
- local key = kv[1]
- local value = kv[2]
-
- dst[key] = cgi.decode_uri(value)
- end
-end
-
-local function params_tostring(src)
- local dst = ""
- for k, v in pairs(src) do
- local kv = k .. "=" .. cgi.encode_uri(v)
- dst = dst .. kv .. "&"
- end
-
- return dst:sub(1, #dst - 1)
-end
-
-local function parse_cookies(dst, src)
- for _, pair in ipairs(src:split("; ")) do
- local kv = pair:split("=")
- local key = kv[1]
- local value = kv[2]
-
- dst[key] = cgi.decode_uri(value)
- end
-end
-
--- method
-cgi.method = os.getenv("REQUEST_METHOD")
-
--- GET/POST params
-cgi.get = {}
-cgi.post = {}
-
-if cgi.method == "GET" then
- local get_params = os.getenv("QUERY_STRING")
- if get_params then
- parse_params(cgi.get, get_params)
- end
-elseif cgi.method == "POST" then
- local post_params = io.read("*a")
- if post_params then
- parse_params(cgi.post, post_params)
- end
-end
-
--- cookies
-local cookies = {}
-
-local cookie = os.getenv("HTTP_COOKIE")
-if cookie then
- local c = {}
- parse_cookies(c, cookie)
-
- for k, v in pairs(c) do
- cookies[k] = {value = v}
- end
-end
-
-function cgi.get_cookie(name)
- if not cookies[name] then return nil end
- return cookies[name].value
-end
-
-function cgi.set_cookie(name, cookie)
- cookie._modified = true
- cookies[name] = cookie
-end
-
--- custom headers
-function cgi.request_header(name)
- return os.getenv("HTTP_" .. name:upper())
-end
-
-local resp_headers = {}
-local headers_complete = false
-function cgi.header(key, value)
- if not value then
- return false
- end
-
- if not headers_complete then
- resp_headers[key] = value
- print(key .. ": " .. value)
- end
-
- return not headers_complete
-end
-
--- set cookies on exit
-local function set_cookies()
- for name, c in pairs(cookies) do
- if c._modified then
- local cookie = name .. "=" .. cgi.encode_uri(c.value or "")
-
- if c.domain then
- cookie = cookie .. "; Domain=" .. c.domain
- end
- if c.path then
- cookie = cookie .. "; Path=" .. c.path
- end
- if c.expires then
- cookie = cookie .. "; Expires=" .. c.expires
- end
- if c.http_only then
- cookie = cookie .. "; HttpOnly"
- end
- if c.https_only then
- cookie = cookie .. "; Secure"
- end
- if c.same_site then
- cookie = cookie .. "; SameSite=" .. c.same_site
- end
-
- cgi.header("Set-Cookie", cookie)
- end
- end
-end
-
--- special date format
-function cgi.date(t)
- return os.date("!%a, %d %b %Y %H:%M:%S GMT", t)
-end
-
--- (custom) content
-function cgi.content(data)
- if not headers_complete then
- set_cookies()
- print()
- headers_complete = true
- end
-
- if data then
- print(data)
- end
-
- return not not data
-end
-
-function cgi.serve(data)
- if data then
- cgi.content(data)
- else
- cgi.status(500)
- end
-
- cgi.done()
-end
-
--- finish response
-function cgi.done()
- if not headers_complete then
- local body
-
- local status = tonumber(resp_headers["Status"])
- if status and status >= 400 and status < 600 then
- -- error but no content: display error page
- local f = io.open("/var/www/html/error/" .. tostring(status) .. ".html")
- if f then
- body = f:read("*a")
- f:close()
- end
- end
-
- cgi.content(body)
- end
-
- os.exit(0)
-end
-
--- frequently used header utilities
-function cgi.content_type(type)
- return cgi.header("Content-Type", type)
-end
-
-function cgi.status(code)
- return cgi.header("Status", tostring(code))
-end
-
-return cgi
diff --git a/common/file.lua b/common/file.lua
deleted file mode 100644
index 5b5ebed..0000000
--- a/common/file.lua
+++ /dev/null
@@ -1,68 +0,0 @@
-file = {}
-
-local mdroot = "/usr/local/apache2/htdocs"
-
-function string.split(self, sep)
- if not sep then sep = "%s" end
-
- local t = {}
- for match in (self .. sep):gmatch("(.-)" .. sep) do
- table.insert(t, match)
- end
-
- return t
-end
-
-function file.read(path)
- local f = io.open(path, "r")
- if not f then
- return nil
- end
-
- local contents = f:read("*a")
- f:close()
-
- return contents
-end
-
-function file.write(path, contents)
- local f = io.open(path, "w")
- if not f then
- return false
- end
-
- f:write(contents)
- f:close()
-
- return true
-end
-
-function file.process(uri, templates, params)
- path = mdroot .. uri
-
- local contents = file.read(path)
- if not contents then
- return nil
- end
-
- if templates then
- for template, value in pairs(templates) do
- contents = contents:gsub("%${" .. template .. "}", value)
- end
- end
-
- local filename = os.tmpname()
- file.write(filename, contents)
-
- params = (params or ""):match("^([%a%d-=]*)$") or ""
-
- local static_params = '--css /common.css -f markdown --standalone '
- local cmd = 'pandoc ' .. params .. ' ' .. static_params .. ' ' .. filename
- local handle = io.popen(cmd)
- local html = handle:read("*a")
- handle:close()
-
- return html
-end
-
-return file
diff --git a/httpd.conf b/httpd.conf
deleted file mode 100644
index 6e19f1d..0000000
--- a/httpd.conf
+++ /dev/null
@@ -1,610 +0,0 @@
-#
-# This is the main Apache HTTP server configuration file. It contains the
-# configuration directives that give the server its instructions.
-# See <URL:http://httpd.apache.org/docs/2.4/> for detailed information.
-# In particular, see
-# <URL:http://httpd.apache.org/docs/2.4/mod/directives.html>
-# for a discussion of each configuration directive.
-#
-# Do NOT simply read the instructions in here without understanding
-# what they do. They're here only as hints or reminders. If you are unsure
-# consult the online docs. You have been warned.
-#
-# Configuration and logfile names: If the filenames you specify for many
-# of the server's control files begin with "/" (or "drive:/" for Win32), the
-# server will use that explicit path. If the filenames do *not* begin
-# with "/", the value of ServerRoot is prepended -- so "logs/access_log"
-# with ServerRoot set to "/usr/local/apache2" will be interpreted by the
-# server as "/usr/local/apache2/logs/access_log", whereas "/logs/access_log"
-# will be interpreted as '/logs/access_log'.
-
-#
-# ServerRoot: The top of the directory tree under which the server's
-# configuration, error, and log files are kept.
-#
-# Do not add a slash at the end of the directory path. If you point
-# ServerRoot at a non-local disk, be sure to specify a local disk on the
-# Mutex directive, if file-based mutexes are used. If you wish to share the
-# same ServerRoot for multiple httpd daemons, you will need to change at
-# least PidFile.
-#
-ServerRoot "/usr/local/apache2"
-
-#
-# Mutex: Allows you to set the mutex mechanism and mutex file directory
-# for individual mutexes, or change the global defaults
-#
-# Uncomment and change the directory if mutexes are file-based and the default
-# mutex file directory is not on a local disk or is not appropriate for some
-# other reason.
-#
-# Mutex default:logs
-
-#
-# Listen: Allows you to bind Apache to specific IP addresses and/or
-# ports, instead of the default. See also the <VirtualHost>
-# directive.
-#
-# Change this to Listen on specific IP addresses as shown below to
-# prevent Apache from glomming onto all bound IP addresses.
-#
-#Listen 12.34.56.78:80
-Listen 80
-
-#
-# Dynamic Shared Object (DSO) Support
-#
-# To be able to use the functionality of a module which was built as a DSO you
-# have to place corresponding `LoadModule' lines at this location so the
-# directives contained in it are actually available _before_ they are used.
-# Statically compiled modules (those listed by `httpd -l') do not need
-# to be loaded here.
-#
-# Example:
-# LoadModule foo_module modules/mod_foo.so
-#
-LoadModule mpm_event_module modules/mod_mpm_event.so
-#LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
-#LoadModule mpm_worker_module modules/mod_mpm_worker.so
-LoadModule authn_file_module modules/mod_authn_file.so
-#LoadModule authn_dbm_module modules/mod_authn_dbm.so
-#LoadModule authn_anon_module modules/mod_authn_anon.so
-#LoadModule authn_dbd_module modules/mod_authn_dbd.so
-#LoadModule authn_socache_module modules/mod_authn_socache.so
-LoadModule authn_core_module modules/mod_authn_core.so
-LoadModule authz_host_module modules/mod_authz_host.so
-LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
-LoadModule authz_user_module modules/mod_authz_user.so
-#LoadModule authz_dbm_module modules/mod_authz_dbm.so
-#LoadModule authz_owner_module modules/mod_authz_owner.so
-#LoadModule authz_dbd_module modules/mod_authz_dbd.so
-LoadModule authz_core_module modules/mod_authz_core.so
-#LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
-#LoadModule authnz_fcgi_module modules/mod_authnz_fcgi.so
-LoadModule access_compat_module modules/mod_access_compat.so
-LoadModule auth_basic_module modules/mod_auth_basic.so
-#LoadModule auth_form_module modules/mod_auth_form.so
-#LoadModule auth_digest_module modules/mod_auth_digest.so
-#LoadModule allowmethods_module modules/mod_allowmethods.so
-#LoadModule isapi_module modules/mod_isapi.so
-#LoadModule file_cache_module modules/mod_file_cache.so
-#LoadModule cache_module modules/mod_cache.so
-#LoadModule cache_disk_module modules/mod_cache_disk.so
-#LoadModule cache_socache_module modules/mod_cache_socache.so
-LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
-#LoadModule socache_dbm_module modules/mod_socache_dbm.so
-#LoadModule socache_memcache_module modules/mod_socache_memcache.so
-#LoadModule socache_redis_module modules/mod_socache_redis.so
-#LoadModule watchdog_module modules/mod_watchdog.so
-#LoadModule macro_module modules/mod_macro.so
-#LoadModule dbd_module modules/mod_dbd.so
-#LoadModule bucketeer_module modules/mod_bucketeer.so
-#LoadModule dumpio_module modules/mod_dumpio.so
-#LoadModule echo_module modules/mod_echo.so
-#LoadModule example_hooks_module modules/mod_example_hooks.so
-#LoadModule case_filter_module modules/mod_case_filter.so
-#LoadModule case_filter_in_module modules/mod_case_filter_in.so
-#LoadModule example_ipc_module modules/mod_example_ipc.so
-#LoadModule buffer_module modules/mod_buffer.so
-#LoadModule data_module modules/mod_data.so
-#LoadModule ratelimit_module modules/mod_ratelimit.so
-LoadModule reqtimeout_module modules/mod_reqtimeout.so
-#LoadModule ext_filter_module modules/mod_ext_filter.so
-#LoadModule request_module modules/mod_request.so
-#LoadModule include_module modules/mod_include.so
-LoadModule filter_module modules/mod_filter.so
-#LoadModule reflector_module modules/mod_reflector.so
-#LoadModule substitute_module modules/mod_substitute.so
-#LoadModule sed_module modules/mod_sed.so
-#LoadModule charset_lite_module modules/mod_charset_lite.so
-#LoadModule deflate_module modules/mod_deflate.so
-#LoadModule xml2enc_module modules/mod_xml2enc.so
-#LoadModule proxy_html_module modules/mod_proxy_html.so
-#LoadModule brotli_module modules/mod_brotli.so
-LoadModule mime_module modules/mod_mime.so
-#LoadModule ldap_module modules/mod_ldap.so
-LoadModule log_config_module modules/mod_log_config.so
-#LoadModule log_debug_module modules/mod_log_debug.so
-#LoadModule log_forensic_module modules/mod_log_forensic.so
-#LoadModule logio_module modules/mod_logio.so
-#LoadModule lua_module modules/mod_lua.so
-LoadModule env_module modules/mod_env.so
-#LoadModule mime_magic_module modules/mod_mime_magic.so
-#LoadModule cern_meta_module modules/mod_cern_meta.so
-#LoadModule expires_module modules/mod_expires.so
-LoadModule headers_module modules/mod_headers.so
-#LoadModule ident_module modules/mod_ident.so
-#LoadModule usertrack_module modules/mod_usertrack.so
-#LoadModule unique_id_module modules/mod_unique_id.so
-LoadModule setenvif_module modules/mod_setenvif.so
-LoadModule version_module modules/mod_version.so
-#LoadModule remoteip_module modules/mod_remoteip.so
-#LoadModule proxy_module modules/mod_proxy.so
-#LoadModule proxy_connect_module modules/mod_proxy_connect.so
-#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
-#LoadModule proxy_http_module modules/mod_proxy_http.so
-#LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
-#LoadModule proxy_scgi_module modules/mod_proxy_scgi.so
-#LoadModule proxy_uwsgi_module modules/mod_proxy_uwsgi.so
-#LoadModule proxy_fdpass_module modules/mod_proxy_fdpass.so
-#LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
-#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
-#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
-#LoadModule proxy_express_module modules/mod_proxy_express.so
-#LoadModule proxy_hcheck_module modules/mod_proxy_hcheck.so
-#LoadModule session_module modules/mod_session.so
-#LoadModule session_cookie_module modules/mod_session_cookie.so
-#LoadModule session_crypto_module modules/mod_session_crypto.so
-#LoadModule session_dbd_module modules/mod_session_dbd.so
-#LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
-#LoadModule slotmem_plain_module modules/mod_slotmem_plain.so
-#LoadModule ssl_module modules/mod_ssl.so
-#LoadModule optional_hook_export_module modules/mod_optional_hook_export.so
-#LoadModule optional_hook_import_module modules/mod_optional_hook_import.so
-#LoadModule optional_fn_import_module modules/mod_optional_fn_import.so
-#LoadModule optional_fn_export_module modules/mod_optional_fn_export.so
-#LoadModule dialup_module modules/mod_dialup.so
-#LoadModule http2_module modules/mod_http2.so
-#LoadModule proxy_http2_module modules/mod_proxy_http2.so
-#LoadModule md_module modules/mod_md.so
-#LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
-#LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so
-#LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so
-#LoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so
-LoadModule unixd_module modules/mod_unixd.so
-#LoadModule heartbeat_module modules/mod_heartbeat.so
-#LoadModule heartmonitor_module modules/mod_heartmonitor.so
-#LoadModule dav_module modules/mod_dav.so
-LoadModule status_module modules/mod_status.so
-LoadModule autoindex_module modules/mod_autoindex.so
-#LoadModule asis_module modules/mod_asis.so
-#LoadModule info_module modules/mod_info.so
-#LoadModule suexec_module modules/mod_suexec.so
-<IfModule !mpm_prefork_module>
- LoadModule cgid_module modules/mod_cgid.so
-</IfModule>
-<IfModule mpm_prefork_module>
- LoadModule cgi_module modules/mod_cgi.so
-</IfModule>
-#LoadModule dav_fs_module modules/mod_dav_fs.so
-#LoadModule dav_lock_module modules/mod_dav_lock.so
-#LoadModule vhost_alias_module modules/mod_vhost_alias.so
-#LoadModule negotiation_module modules/mod_negotiation.so
-LoadModule dir_module modules/mod_dir.so
-#LoadModule imagemap_module modules/mod_imagemap.so
-#LoadModule actions_module modules/mod_actions.so
-#LoadModule speling_module modules/mod_speling.so
-#LoadModule userdir_module modules/mod_userdir.so
-LoadModule alias_module modules/mod_alias.so
-LoadModule rewrite_module modules/mod_rewrite.so
-
-<IfModule unixd_module>
-#
-# If you wish httpd to run as a different user or group, you must run
-# httpd as root initially and it will switch.
-#
-# User/Group: The name (or #number) of the user/group to run httpd as.
-# It is usually good practice to create a dedicated user and group for
-# running httpd, as with most system services.
-#
-User www-data
-Group www-data
-
-</IfModule>
-
-# 'Main' server configuration
-#
-# The directives in this section set up the values used by the 'main'
-# server, which responds to any requests that aren't handled by a
-# <VirtualHost> definition. These values also provide defaults for
-# any <VirtualHost> containers you may define later in the file.
-#
-# All of these directives may appear inside <VirtualHost> containers,
-# in which case these default settings will be overridden for the
-# virtual host being defined.
-#
-
-#
-# ServerAdmin: Your address, where problems with the server should be
-# e-mailed. This address appears on some server-generated pages, such
-# as error documents. e.g. admin@your-domain.com
-#
-#ServerAdmin webmaster@localhost
-ServerAdmin himbeerserverde@gmail.com
-
-#
-# ServerName gives the name and port that the server uses to identify itself.
-# This can often be determined automatically, but we recommend you specify
-# it explicitly to prevent problems during startup.
-#
-# If your host doesn't have a registered DNS name, enter its IP address here.
-#
-#ServerName www.example.com:80
-ServerName himbeerserver.de:80
-
-#
-# Deny access to the entirety of your server's filesystem. You must
-# explicitly permit access to web content directories in other
-# <Directory> blocks below.
-#
-<Directory />
- AllowOverride none
- Require all denied
-</Directory>
-
-#
-# Note that from this point forward you must specifically allow
-# particular features to be enabled - so if something's not working as
-# you might expect, make sure that you have specifically enabled it
-# below.
-#
-
-<VirtualHost *:80>
- ServerAdmin himbeerserverde@gmail.com
- ServerName himbeerserver.de
- ServerAlias www.himbeerserver.de
-
- #
- # DocumentRoot: The directory out of which you will serve your
- # documents. By default, all requests are taken from this directory, but
- # symbolic links and aliases may be used to point to other locations.
- #
- DocumentRoot "/usr/local/apache2/htdocs"
- <Directory "/usr/local/apache2/htdocs">
- #
- # Possible values for the Options directive are "None", "All",
- # or any combination of:
- # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
- #
- # Note that "MultiViews" must be named *explicitly* --- "Options All"
- # doesn't give it to you.
- #
- # The Options directive is both complicated and important. Please see
- # http://httpd.apache.org/docs/2.4/mod/core.html#options
- # for more information.
- #
- #Options Indexes FollowSymLinks
-
- #
- # AllowOverride controls what directives may be placed in .htaccess files.
- # It can be "All", "None", or any combination of the keywords:
- # AllowOverride FileInfo AuthConfig Limit
- #
- AllowOverride None
-
- #
- # Enables the rewrite engine.
- #
- RewriteEngine on
- RewriteBase /
-
- #
- # Redirects clients from / to the index page.
- #
- RewriteCond %{REQUEST_URI} ^/$
- RewriteRule ^/?(.*) /cgi-bin/index.lua [L,R=308]
-
- #
- # Strips the www prefix from the server name.
- #
- RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
- RewriteRule ^/?(.*)$ %{REQUEST_SCHEME}://%1/$1 [L,R=308]
-
- #
- # Controls who can get stuff from this server.
- #
- Require all denied
- </Directory>
-
- <LocationMatch "^/$">
- Require all granted
- </LocationMatch>
-
- <Location "/common.css">
- Require all granted
- </Location>
-
- <Location "/favicon.ico">
- Require all granted
- </Location>
-
- <Location "/.well-known">
- Require all granted
- </Location>
-
- <LocationMatch "^/pgp/.*\.asc$">
- Require all granted
- </LocationMatch>
-</VirtualHost>
-
-#
-# DirectoryIndex: sets the file that Apache will serve if a directory
-# is requested.
-#
-<IfModule dir_module>
- DirectoryIndex index.html
-</IfModule>
-
-#
-# The following lines prevent .htaccess and .htpasswd files from being
-# viewed by Web clients.
-#
-<Files ".ht*">
- Require all denied
-</Files>
-
-#
-# ErrorLog: The location of the error log file.
-# If you do not specify an ErrorLog directive within a <VirtualHost>
-# container, error messages relating to that virtual host will be
-# logged here. If you *do* define an error logfile for a <VirtualHost>
-# container, that host's errors will be logged there and not here.
-#
-ErrorLog /proc/self/fd/2
-
-#
-# LogLevel: Control the number of messages logged to the error_log.
-# Possible values include: debug, info, notice, warn, error, crit,
-# alert, emerg.
-#
-LogLevel warn
-
-<IfModule log_config_module>
- #
- # The following directives define some format nicknames for use with
- # a CustomLog directive (see below).
- #
- LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
- LogFormat "%h %l %u %t \"%r\" %>s %b" common
-
- <IfModule logio_module>
- # You need to enable mod_logio.c to use %I and %O
- LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
- </IfModule>
-
- #
- # The location and format of the access logfile (Common Logfile Format).
- # If you do not define any access logfiles within a <VirtualHost>
- # container, they will be logged here. Contrariwise, if you *do*
- # define per-<VirtualHost> access logfiles, transactions will be
- # logged therein and *not* in this file.
- #
- CustomLog /proc/self/fd/1 common
-
- #
- # If you prefer a logfile with access, agent, and referer information
- # (Combined Logfile Format) you can use the following directive.
- #
- #CustomLog "logs/access_log" combined
-</IfModule>
-
-<IfModule alias_module>
- #
- # Redirect: Allows you to tell clients about documents that used to
- # exist in your server's namespace, but do not anymore. The client
- # will make a new request for the document at its new location.
- # Example:
- # Redirect permanent /foo http://www.example.com/bar
-
- #
- # Alias: Maps web paths into filesystem paths and is used to
- # access content that does not live under the DocumentRoot.
- # Example:
- # Alias /webpath /full/filesystem/path
- #
- # If you include a trailing / on /webpath then the server will
- # require it to be present in the URL. You will also likely
- # need to provide a <Directory> section to allow access to
- # the filesystem path.
-
- #
- # ScriptAlias: This controls which directories contain server scripts.
- # ScriptAliases are essentially the same as Aliases, except that
- # documents in the target directory are treated as applications and
- # run by the server when requested rather than as documents sent to the
- # client. The same rules about trailing "/" apply to ScriptAlias
- # directives as to Alias.
- #
- ScriptAlias /cgi-bin/ "/usr/local/apache2/cgi-bin/"
-
-</IfModule>
-
-<IfModule cgid_module>
- #
- # ScriptSock: On threaded servers, designate the path to the UNIX
- # socket used to communicate with the CGI daemon of mod_cgid.
- #
- #Scriptsock cgisock
-</IfModule>
-
-#
-# "/usr/local/apache2/cgi-bin" should be changed to whatever your ScriptAliased
-# CGI directory exists, if you have that configured.
-#
-<Directory "/usr/local/apache2/cgi-bin">
- Options +ExecCGI
-
- AllowOverride None
-
- #
- # Enables the rewrite engine.
- #
- RewriteEngine on
- RewriteBase /
-
- #
- # Strips the www prefix from the server name.
- #
- RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
- RewriteRule ^/?(.*)$ %{REQUEST_SCHEME}://%1/cgi-bin/$1 [L,R=308]
-
- Require all granted
-</Directory>
-
-<IfModule headers_module>
- #
- # Avoid passing HTTP_PROXY environment to CGI's on this or any proxied
- # backend servers which have lingering "httpoxy" defects.
- # 'Proxy' request header is undefined by the IETF, not listed by IANA
- #
- RequestHeader unset Proxy early
-</IfModule>
-
-<IfModule mime_module>
- #
- # TypesConfig points to the file containing the list of mappings from
- # filename extension to MIME-type.
- #
- TypesConfig conf/mime.types
-
- #
- # AddType allows you to add to or override the MIME configuration
- # file specified in TypesConfig for specific file types.
- #
- #AddType application/x-gzip .tgz
- #
- # AddEncoding allows you to have certain browsers uncompress
- # information on the fly. Note: Not all browsers support this.
- #
- #AddEncoding x-compress .Z
- #AddEncoding x-gzip .gz .tgz
- #
- # If the AddEncoding directives above are commented-out, then you
- # probably should define those extensions to indicate media types:
- #
- AddType application/x-compress .Z
- AddType application/x-gzip .gz .tgz
-
- #
- # AddHandler allows you to map certain file extensions to "handlers":
- # actions unrelated to filetype. These can be either built into the server
- # or added with the Action directive (see below)
- #
- # To use CGI scripts outside of ScriptAliased directories:
- # (You will also need to add "ExecCGI" to the "Options" directive.)
- #
- #AddHandler cgi-script .cgi
-
- # For type maps (negotiated resources):
- #AddHandler type-map var
-
- #
- # Filters allow you to process content before it is sent to the client.
- #
- # To parse .shtml files for server-side includes (SSI):
- # (You will also need to add "Includes" to the "Options" directive.)
- #
- #AddType text/html .shtml
- #AddOutputFilter INCLUDES .shtml
-</IfModule>
-
-#
-# The mod_mime_magic module allows the server to use various hints from the
-# contents of the file itself to determine its type. The MIMEMagicFile
-# directive tells the module where the hint definitions are located.
-#
-#MIMEMagicFile conf/magic
-
-#
-# Customizable error responses come in three flavors:
-# 1) plain text 2) local redirects 3) external redirects
-#
-# Some examples:
-#ErrorDocument 500 "The server made a boo boo."
-#ErrorDocument 404 /missing.html
-#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
-#ErrorDocument 402 http://www.example.com/subscription_info.html
-#
-
-#
-# MaxRanges: Maximum number of Ranges in a request before
-# returning the entire resource, or one of the special
-# values 'default', 'none' or 'unlimited'.
-# Default setting is to accept 200 Ranges.
-#MaxRanges unlimited
-
-#
-# EnableMMAP and EnableSendfile: On systems that support it,
-# memory-mapping or the sendfile syscall may be used to deliver
-# files. This usually improves server performance, but must
-# be turned off when serving from networked-mounted
-# filesystems or if support for these functions is otherwise
-# broken on your system.
-# Defaults: EnableMMAP On, EnableSendfile Off
-#
-#EnableMMAP off
-#EnableSendfile on
-
-# Supplemental configuration
-#
-# The configuration files in the conf/extra/ directory can be
-# included to add extra features or to modify the default configuration of
-# the server, or you may simply copy their contents here and change as
-# necessary.
-
-# Server-pool management (MPM specific)
-#Include conf/extra/httpd-mpm.conf
-
-# Multi-language error messages
-#Include conf/extra/httpd-multilang-errordoc.conf
-
-# Fancy directory listings
-#Include conf/extra/httpd-autoindex.conf
-
-# Language settings
-#Include conf/extra/httpd-languages.conf
-
-# User home directories
-#Include conf/extra/httpd-userdir.conf
-
-# Real-time info on requests and configuration
-#Include conf/extra/httpd-info.conf
-
-# Virtual hosts
-#Include conf/extra/httpd-vhosts.conf
-
-# Local access to the Apache HTTP Server Manual
-#Include conf/extra/httpd-manual.conf
-
-# Distributed authoring and versioning (WebDAV)
-#Include conf/extra/httpd-dav.conf
-
-# Various default settings
-#Include conf/extra/httpd-default.conf
-
-# Configure mod_proxy_html to understand HTML4/XHTML1
-<IfModule proxy_html_module>
-Include conf/extra/proxy-html.conf
-</IfModule>
-
-# Secure (SSL/TLS) connections
-#Include conf/extra/httpd-ssl.conf
-#
-# Note: The following must must be present to support
-# starting without SSL on platforms with no /dev/random equivalent
-# but a statically compiled-in mod_ssl.
-#
-<IfModule ssl_module>
-SSLRandomSeed startup builtin
-SSLRandomSeed connect builtin
-</IfModule>
diff --git a/htdocs/guide/cryptexisting.md b/src/guide/cryptexisting.md
index a77eba2..a77eba2 100644
--- a/htdocs/guide/cryptexisting.md
+++ b/src/guide/cryptexisting.md
diff --git a/htdocs/guide/iproute2tun.md b/src/guide/iproute2tun.md
index 3c049d9..3c049d9 100644
--- a/htdocs/guide/iproute2tun.md
+++ b/src/guide/iproute2tun.md
diff --git a/htdocs/guide/kppp.md b/src/guide/kppp.md
index 059af0f..059af0f 100644
--- a/htdocs/guide/kppp.md
+++ b/src/guide/kppp.md
diff --git a/htdocs/guide/krbnfs.md b/src/guide/krbnfs.md
index bc388f1..bc388f1 100644
--- a/htdocs/guide/krbnfs.md
+++ b/src/guide/krbnfs.md
diff --git a/htdocs/guide/ovpnip6.md b/src/guide/ovpnip6.md
index 10921d5..10921d5 100644
--- a/htdocs/guide/ovpnip6.md
+++ b/src/guide/ovpnip6.md
diff --git a/htdocs/guide/vf6.md b/src/guide/vf6.md
index 548b2a3..548b2a3 100644
--- a/htdocs/guide/vf6.md
+++ b/src/guide/vf6.md
diff --git a/htdocs/guide/wifi103.md b/src/guide/wifi103.md
index d929c28..d929c28 100644
--- a/htdocs/guide/wifi103.md
+++ b/src/guide/wifi103.md
diff --git a/htdocs/guides.md b/src/guides.md
index 8004b87..8004b87 100644
--- a/htdocs/guides.md
+++ b/src/guides.md
diff --git a/htdocs/index.md b/src/index.md
index 1a70855..1a70855 100644
--- a/htdocs/index.md
+++ b/src/index.md
diff --git a/htdocs/password_generator.md b/src/password_generator.md
index 1cc7761..1cc7761 100644
--- a/htdocs/password_generator.md
+++ b/src/password_generator.md
diff --git a/htdocs/rsdsl.md b/src/rsdsl.md
index f38c524..f38c524 100644
--- a/htdocs/rsdsl.md
+++ b/src/rsdsl.md
diff --git a/htdocs/rustkrazy.md b/src/rustkrazy.md
index 24a312e..24a312e 100644
--- a/htdocs/rustkrazy.md
+++ b/src/rustkrazy.md
diff --git a/htdocs/common.css b/static/common.css
index e776162..e776162 100644
--- a/htdocs/common.css
+++ b/static/common.css
diff --git a/htdocs/favicon.ico b/static/favicon.ico
index 04b29bf..04b29bf 100644
--- a/htdocs/favicon.ico
+++ b/static/favicon.ico
Binary files differ
diff --git a/htdocs/pgp/2152D04DBFFE3567CD15F58BA3D3E205DA0B0401.asc b/static/pgp/2152D04DBFFE3567CD15F58BA3D3E205DA0B0401.asc
index 8358179..8358179 100644
--- a/htdocs/pgp/2152D04DBFFE3567CD15F58BA3D3E205DA0B0401.asc
+++ b/static/pgp/2152D04DBFFE3567CD15F58BA3D3E205DA0B0401.asc
Binary files differ
diff --git a/htdocs/pgp/F740BD951299D26B8B4FF28B2E6C9B91802EDCC4.asc b/static/pgp/F740BD951299D26B8B4FF28B2E6C9B91802EDCC4.asc
index c0662f3..c0662f3 100644
--- a/htdocs/pgp/F740BD951299D26B8B4FF28B2E6C9B91802EDCC4.asc
+++ b/static/pgp/F740BD951299D26B8B4FF28B2E6C9B91802EDCC4.asc
Binary files differ