Skip to content

Instantly share code, notes, and snippets.

@xacrimon
Created May 5, 2025 15:51
Show Gist options
  • Save xacrimon/9978fad0364fb4f39823d52e0f60e8ff to your computer and use it in GitHub Desktop.
Save xacrimon/9978fad0364fb4f39823d52e0f60e8ff to your computer and use it in GitHub Desktop.
{
log default {
output stdout
format json
include admin.api
}
log access {
output file /data/caddy/log/access.log {
roll_size 10MiB
roll_keep 5
roll_keep_for 720h
}
format json
exclude admin.api
}
grace_period 15s
shutdown_delay 0s
email [email protected]
servers {
timeouts {
read_body 30m
read_header 15s
write 30m
idle 5m
}
keepalive_interval 15s
max_header_size 8KiB
log_credentials
enable_full_duplex
}
}
(site-net-cfg) {
request_body {
max_size 128KiB
}
encode {
zstd
gzip
minimum_length 1400
}
}
(proxy-stream-conf) {
flush_interval 5s
stream_timeout 24h
stream_close_delay 15s
}
(proxy-transport-conf-anubis-serve) {
transport http {
read_buffer 4KiB
write_buffer 4KiB
max_response_header 8KiB
dial_timeout 3s
dial_fallback_delay -1s
response_header_timeout 15s
expect_continue_timeout 15s
read_timeout 15s
write_timeout 15s
keepalive 30s
keepalive_idle_conns 1
keepalive_idle_conns_per_host 0
compression off
max_conns_per_host 2
}
}
(proxy-transport-conf-anubis-auth) {
transport http {
read_buffer 4KiB
write_buffer 4KiB
max_response_header 8KiB
dial_timeout 3s
dial_fallback_delay 300ms
response_header_timeout 5s
expect_continue_timeout 5s
read_timeout 5s
write_timeout 5s
keepalive 2m
keepalive_idle_conns 4
keepalive_idle_conns_per_host 0
compression off
max_conns_per_host 4
}
}
(protect-anubis-serve) {
@anubis path /.within.website/* /robots.txt /.well-known/robots.txt
handle @anubis {
reverse_proxy anubis:3000 {
import proxy-stream-conf
import proxy-transport-conf-anubis-serve
header_up X-Http-Version {http.request.proto}
header_up X-Real-Ip {remote_host}
header_up X-Tls-Version {http.request.tls.version}
}
}
}
(protect-anubis-auth) {
reverse_proxy anubis:3000 {
import proxy-stream-conf
import proxy-transport-conf-anubis-auth
method GET
rewrite /.within.website/x/cmd/anubis/api/check
header_up X-Http-Version {http.request.proto}
header_up X-Real-Ip {remote_host}
header_up X-Tls-Version {http.request.tls.version}
@bad status 4xx
handle_response @bad {
redir * /.within.website/?redir={uri} 307
}
@good status 2xx
handle_response @good {
}
}
}
acrimon.net {
import site-net-cfg
import protect-anubis-serve
handle {
route {
import protect-anubis-auth
respond "teehee"
}
}
}
www.acrimon.net {
import site-net-cfg
redir https://acrimon.net{uri} temporary
}
seaforge.org {
import site-net-cfg
import protect-anubis-serve
handle /httpdebug {
reverse_proxy httpdebug:3000
}
handle {
import protect-anubis-auth
reverse_proxy forgejo:3000
}
}
www.seaforge.org {
import site-net-cfg
redir https://seaforge.org{uri} temporary
}
goobers.lgbt {
import site-net-cfg
import protect-anubis-serve
handle {
route {
import protect-anubis-auth
respond "get m0ggd"
}
}
}
www.goobers.lgbt {
import site-net-cfg
redir https://goobers.lgbt{uri} temporary
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment