Compare commits
28 Commits
bd51c6316d
...
master
Author | SHA1 | Date | |
---|---|---|---|
426afc4f79 | |||
84470571d8 | |||
aee17c11e3 | |||
34affedd0b | |||
033ee5c253 | |||
34131debb5 | |||
4c641ef08d | |||
58ff080106 | |||
047f6943a3 | |||
d66f822573 | |||
e5b5f10225 | |||
14d2955153 | |||
3f2eceb101 | |||
97c4af2318 | |||
39afa5b8dd | |||
f2f6027e43 | |||
018dc3742c | |||
8958017294 | |||
26bb61b449 | |||
6321e97af2 | |||
e3926aa2ea | |||
030bf31bca | |||
47c1780ebb | |||
5e4f85a2c5 | |||
cd00151fbd | |||
e12a37546b | |||
18266d5499 | |||
d10b3caf42 |
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,3 +1 @@
|
|||||||
email
|
email
|
||||||
|
|
||||||
errors/img/
|
|
||||||
|
30
Caddyfile
30
Caddyfile
@ -1,22 +1,12 @@
|
|||||||
# vim: ft=caddyfile
|
# vim: ft=caddyfile
|
||||||
{
|
{
|
||||||
grace_period 30s
|
grace_period 30s
|
||||||
import email
|
import email
|
||||||
}
|
}
|
||||||
|
|
||||||
(basicerrors) {
|
(basicerrors) {
|
||||||
# servers :443 {
|
|
||||||
# protocol {
|
|
||||||
# experimental_http3
|
|
||||||
# }
|
|
||||||
# }
|
|
||||||
#}
|
|
||||||
|
|
||||||
(basicerrors) {
|
|
||||||
handle_errors {
|
handle_errors {
|
||||||
templates
|
templates
|
||||||
|
|
||||||
templates
|
|
||||||
rewrite * /index.html
|
rewrite * /index.html
|
||||||
root * /etc/caddy/errors
|
root * /etc/caddy/errors
|
||||||
file_server
|
file_server
|
||||||
@ -28,22 +18,4 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
import conf.d/*
|
import conf.d/*
|
||||||
handle_path /.well-known/matrix/* {
|
|
||||||
header Access-Control-Allow-Origin "*"
|
|
||||||
header Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS"
|
|
||||||
header Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept, Authorization"
|
|
||||||
|
|
||||||
rewrite * {path}.json
|
|
||||||
root * /etc/caddy/matrix_well_known
|
|
||||||
file_server
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
(log) {
|
|
||||||
log {
|
|
||||||
output file /var/log/caddy/access.log
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
import conf.d/*
|
|
||||||
import conf.d/*
|
import conf.d/*
|
||||||
|
@ -1,12 +0,0 @@
|
|||||||
# vim: ft=caddyfile
|
|
||||||
|
|
||||||
bin.boba.best {
|
|
||||||
encode zstd gzip
|
|
||||||
import hsts
|
|
||||||
import log
|
|
||||||
|
|
||||||
root * /var/www/bin.boba.best
|
|
||||||
php_fastcgi unix//run/php/php-fpm.sock
|
|
||||||
file_server
|
|
||||||
import basicerrors
|
|
||||||
}
|
|
@ -1,18 +0,0 @@
|
|||||||
# vim: ft=caddyfile
|
|
||||||
|
|
||||||
www.boba.best {
|
|
||||||
redir https://boba.best{uri}
|
|
||||||
}
|
|
||||||
boba.best {
|
|
||||||
import matrix-well-known
|
|
||||||
import hsts
|
|
||||||
|
|
||||||
header Access-Control-Allow-Origin *
|
|
||||||
header Cache-Control no-cache
|
|
||||||
root * /var/www/boba.best/public
|
|
||||||
file_server {
|
|
||||||
precompressed br gzip
|
|
||||||
}
|
|
||||||
|
|
||||||
import basicerrors
|
|
||||||
}
|
|
@ -1,8 +0,0 @@
|
|||||||
# vim: ft=caddyfile
|
|
||||||
|
|
||||||
dorito.boba.best {
|
|
||||||
#import hsts
|
|
||||||
import log
|
|
||||||
redir https://discord.gg/NZWzSCY5UE
|
|
||||||
import basicerrors
|
|
||||||
}
|
|
@ -1,13 +0,0 @@
|
|||||||
# vim: ft=caddyfile
|
|
||||||
|
|
||||||
drone.boba.best {
|
|
||||||
encode zstd gzip
|
|
||||||
import hsts
|
|
||||||
import log
|
|
||||||
|
|
||||||
reverse_proxy localhost:8081 {
|
|
||||||
header_up X-Real-IP {remote_host}
|
|
||||||
}
|
|
||||||
|
|
||||||
import basicerrors
|
|
||||||
}
|
|
@ -1,14 +0,0 @@
|
|||||||
# vim: ft=caddyfile
|
|
||||||
|
|
||||||
emotes.boba.best {
|
|
||||||
encode zstd gzip
|
|
||||||
import hsts
|
|
||||||
import log
|
|
||||||
|
|
||||||
root * /var/www/emotes.boba.best/public
|
|
||||||
file_server {
|
|
||||||
index index.json
|
|
||||||
}
|
|
||||||
|
|
||||||
import basicerrors
|
|
||||||
}
|
|
@ -1,10 +0,0 @@
|
|||||||
# vim: ft=caddyfile
|
|
||||||
|
|
||||||
errors.boba.best {
|
|
||||||
encode zstd gzip
|
|
||||||
import hsts
|
|
||||||
import log
|
|
||||||
root * /etc/caddy/errors/img
|
|
||||||
file_server
|
|
||||||
import basicerrors
|
|
||||||
}
|
|
@ -1,15 +0,0 @@
|
|||||||
# vim: ft=caddyfile
|
|
||||||
|
|
||||||
flower.boba.best {
|
|
||||||
encode zstd gzip
|
|
||||||
import hsts
|
|
||||||
import log
|
|
||||||
|
|
||||||
root * /var/www/flower.boba.best
|
|
||||||
handle {
|
|
||||||
rewrite * /flowerpet.gif
|
|
||||||
file_server
|
|
||||||
}
|
|
||||||
|
|
||||||
import basicerrors
|
|
||||||
}
|
|
@ -1,15 +0,0 @@
|
|||||||
# vim: ft=caddyfile
|
|
||||||
|
|
||||||
furry.boba.best {
|
|
||||||
encode zstd gzip
|
|
||||||
import hsts
|
|
||||||
import log
|
|
||||||
|
|
||||||
root * /var/www/furry.boba.best
|
|
||||||
handle {
|
|
||||||
rewrite * /alien_furry.gif
|
|
||||||
file_server
|
|
||||||
}
|
|
||||||
|
|
||||||
import basicerrors
|
|
||||||
}
|
|
@ -3,12 +3,6 @@
|
|||||||
git.boba.best {
|
git.boba.best {
|
||||||
encode zstd gzip
|
encode zstd gzip
|
||||||
import hsts
|
import hsts
|
||||||
import log
|
|
||||||
|
|
||||||
handle_path /_/static/assets/* {
|
|
||||||
root * /var/www/git.boba.best/public
|
|
||||||
file_server
|
|
||||||
}
|
|
||||||
|
|
||||||
handle {
|
handle {
|
||||||
reverse_proxy localhost:85 {
|
reverse_proxy localhost:85 {
|
||||||
|
@ -3,7 +3,6 @@
|
|||||||
grafana.boba.best {
|
grafana.boba.best {
|
||||||
encode zstd gzip
|
encode zstd gzip
|
||||||
import hsts
|
import hsts
|
||||||
import log
|
|
||||||
|
|
||||||
reverse_proxy localhost:84
|
reverse_proxy localhost:84
|
||||||
import basicerrors
|
import basicerrors
|
||||||
|
@ -1,14 +0,0 @@
|
|||||||
# vim: ft=caddyfile
|
|
||||||
|
|
||||||
hetz.boba.best {
|
|
||||||
import hsts
|
|
||||||
import log
|
|
||||||
|
|
||||||
header Access-Control-Allow-Origin *
|
|
||||||
root * /var/www/hetz.boba.best/public
|
|
||||||
file_server {
|
|
||||||
precompressed br gzip
|
|
||||||
}
|
|
||||||
|
|
||||||
import basicerrors
|
|
||||||
}
|
|
@ -1,9 +0,0 @@
|
|||||||
# vim: ft=caddyfile
|
|
||||||
|
|
||||||
lag.matrix.boba.best {
|
|
||||||
encode zstd gzip
|
|
||||||
import hsts
|
|
||||||
import log
|
|
||||||
reverse_proxy localhost:8001
|
|
||||||
import basicerrors
|
|
||||||
}
|
|
@ -3,7 +3,6 @@
|
|||||||
mail.boba.best mail.bbaovanc.com autodiscover.boba.best autodiscover.bbaovanc.com autoconfig.boba.best autoconfig.bbaovanc.com {
|
mail.boba.best mail.bbaovanc.com autodiscover.boba.best autodiscover.bbaovanc.com autoconfig.boba.best autoconfig.bbaovanc.com {
|
||||||
encode zstd gzip
|
encode zstd gzip
|
||||||
import hsts
|
import hsts
|
||||||
import log
|
|
||||||
|
|
||||||
reverse_proxy localhost:8082 {
|
reverse_proxy localhost:8082 {
|
||||||
header_up X-Real-IP {remote_host}
|
header_up X-Real-IP {remote_host}
|
||||||
|
@ -1,167 +0,0 @@
|
|||||||
# vim: ft=caddyfile
|
|
||||||
|
|
||||||
matrix.boba.best {
|
|
||||||
encode zstd gzip
|
|
||||||
import hsts
|
|
||||||
log {
|
|
||||||
output file /var/log/caddy/matrix.boba.best.log
|
|
||||||
}
|
|
||||||
|
|
||||||
import matrix-well-known
|
|
||||||
|
|
||||||
|
|
||||||
redir /admin /admin/
|
|
||||||
handle_path /admin/* {
|
|
||||||
file_server {
|
|
||||||
root /var/www/synapse-admin/build
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@generic {
|
|
||||||
# Sync requests
|
|
||||||
path /_matrix/client/*/events
|
|
||||||
|
|
||||||
# Federation requests
|
|
||||||
path /_matrix/federation/v1/event/*
|
|
||||||
path /_matrix/federation/v1/state/*
|
|
||||||
path /_matrix/federation/v1/state_ids/*
|
|
||||||
path /_matrix/federation/v1/backfill/*
|
|
||||||
path /_matrix/federation/v1/get_missing_events/*
|
|
||||||
path /_matrix/federation/v1/publicRooms*
|
|
||||||
path /_matrix/federation/v1/query/*
|
|
||||||
path /_matrix/federation/v1/make_join/*
|
|
||||||
path /_matrix/federation/v1/make_leave/*
|
|
||||||
path /_matrix/federation/v1/send_join/*
|
|
||||||
path /_matrix/federation/v2/send_join/*
|
|
||||||
path /_matrix/federation/v1/send_leave/*
|
|
||||||
path /_matrix/federation/v2/send_leave/*
|
|
||||||
path /_matrix/federation/v1/invite/*
|
|
||||||
path /_matrix/federation/v2/invite/*
|
|
||||||
path /_matrix/federation/v1/query_auth/*
|
|
||||||
path /_matrix/federation/v1/event_auth/*
|
|
||||||
path /_matrix/federation/v1/exchange_third_party_invite/*
|
|
||||||
path /_matrix/federation/v1/user/devices/*
|
|
||||||
path /_matrix/federation/v1/get_groups_publicised
|
|
||||||
path /_matrix/key/v2/query
|
|
||||||
path /_matrix/key/v2/query/*
|
|
||||||
path /_matrix/federation/unstable/org.matrix.msc2946/spaces/*
|
|
||||||
path /_matrix/federation/unstable/org.matrix.msc2946/hierarchy/*
|
|
||||||
|
|
||||||
# Client API requests
|
|
||||||
path /_matrix/client/*/createRoom
|
|
||||||
path /_matrix/client/*/publicRooms
|
|
||||||
path /_matrix/client/*/rooms/*/joined_members
|
|
||||||
path /_matrix/client/*/rooms/*/context/*
|
|
||||||
path /_matrix/client/*/rooms/*/members
|
|
||||||
path /_matrix/client/*/rooms/*/state
|
|
||||||
path /_matrix/client/unstable/org.matrix.msc2946/rooms/*/spaces
|
|
||||||
path /_matrix/client/unstable/org.matrix.msc2946/rooms/*/hierarchy
|
|
||||||
path /_matrix/client/unstable/im.nheko.summary/rooms/*/summary
|
|
||||||
path /_matrix/client/*/account/3pid
|
|
||||||
path /_matrix/client/*/devices
|
|
||||||
path /_matrix/client/*/keys/query
|
|
||||||
path /_matrix/client/*/keys/changes
|
|
||||||
path /_matrix/client/versions
|
|
||||||
path /_matrix/client/*/voip/turnServer
|
|
||||||
path /_matrix/client/*/joined_groups
|
|
||||||
path /_matrix/client/*/publicised_groups
|
|
||||||
path /_matrix/client/*/publicised_groups/*
|
|
||||||
path /_matrix/client/*/rooms/*/event/*
|
|
||||||
path /_matrix/client/*/joined_rooms
|
|
||||||
path /_matrix/client/*/search
|
|
||||||
|
|
||||||
# Registration/login requests
|
|
||||||
path /_matrix/client/*/login
|
|
||||||
path /_matrix/client/*/register
|
|
||||||
path /_matrix/client/unstable/org.matrix.msc3231/register/org.matrix.msc3231.login.registration_token/validity
|
|
||||||
|
|
||||||
# Event sending requests
|
|
||||||
path /_matrix/client/*/rooms/*/redact
|
|
||||||
path /_matrix/client/*/rooms/*/send
|
|
||||||
path /_matrix/client/*/rooms/*/state/*
|
|
||||||
path_regexp /_matrix/client/*/rooms/*/(join|invite|leave|ban|unban|kick)$
|
|
||||||
path /_matrix/client/*/join/*
|
|
||||||
path /_matrix/client/*/profile/*
|
|
||||||
|
|
||||||
# Additionally, the following REST endpoints can be handled for GET requests:
|
|
||||||
path /_matrix/federation/v1/groups/*
|
|
||||||
}
|
|
||||||
|
|
||||||
@generic_iphash {
|
|
||||||
path /_matrix/client/*/rooms/*/messages
|
|
||||||
|
|
||||||
# Sync requests (again)
|
|
||||||
path /_matrix/client/*/sync
|
|
||||||
path /_matrix/client/*/initialSync
|
|
||||||
path /_matrix/client/*/rooms/*/initialSync
|
|
||||||
|
|
||||||
# Inbound federation transaction request
|
|
||||||
path /_matrix/federation/v1/send/*
|
|
||||||
}
|
|
||||||
|
|
||||||
@media {
|
|
||||||
path /_matrix/media/*
|
|
||||||
|
|
||||||
path /_synapse/admin/v1/purge_media_cache
|
|
||||||
path /_synapse/admin/v1/room/*/media*
|
|
||||||
path /_synapse/admin/v1/user/*/media*
|
|
||||||
path /_synapse/admin/v1/media/*
|
|
||||||
path /_synapse/admin/v1/quarantine_media/*
|
|
||||||
path /_synapse/admin/v1/users/*/media
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
handle @generic {
|
|
||||||
reverse_proxy {
|
|
||||||
to localhost:8010
|
|
||||||
to localhost:8011
|
|
||||||
to localhost:8012
|
|
||||||
to localhost:8013
|
|
||||||
lb_policy round_robin
|
|
||||||
health_uri /health
|
|
||||||
health_interval 15s
|
|
||||||
health_timeout 5s
|
|
||||||
}
|
|
||||||
}
|
|
||||||
handle @generic_iphash {
|
|
||||||
reverse_proxy {
|
|
||||||
to localhost:8010
|
|
||||||
to localhost:8011
|
|
||||||
to localhost:8012
|
|
||||||
to localhost:8013
|
|
||||||
lb_policy ip_hash
|
|
||||||
health_uri /health
|
|
||||||
health_interval 15s
|
|
||||||
health_timeout 5s
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
handle @media {
|
|
||||||
reverse_proxy {
|
|
||||||
to localhost:8000
|
|
||||||
health_uri /healthz
|
|
||||||
health_interval 15s
|
|
||||||
health_timeout 5s
|
|
||||||
header_up Host boba.best
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
handle /_matrix/* {
|
|
||||||
reverse_proxy localhost:8008
|
|
||||||
}
|
|
||||||
handle /_synapse/client/* {
|
|
||||||
reverse_proxy localhost:8008
|
|
||||||
}
|
|
||||||
handle /_synapse/admin/* {
|
|
||||||
reverse_proxy localhost:8008
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
handle {
|
|
||||||
redir https://boba.best/services/bobachat/
|
|
||||||
}
|
|
||||||
|
|
||||||
import basicerrors
|
|
||||||
}
|
|
@ -1,5 +0,0 @@
|
|||||||
# vim: ft=caddyfile
|
|
||||||
|
|
||||||
:2020 {
|
|
||||||
metrics
|
|
||||||
}
|
|
@ -1,13 +0,0 @@
|
|||||||
# vim: ft=caddyfile
|
|
||||||
|
|
||||||
remark.boba.best {
|
|
||||||
encode zstd gzip
|
|
||||||
import hsts
|
|
||||||
import log
|
|
||||||
|
|
||||||
reverse_proxy localhost:86 {
|
|
||||||
header_up X-Real-IP {remote_host}
|
|
||||||
}
|
|
||||||
|
|
||||||
import basicerrors
|
|
||||||
}
|
|
@ -1,8 +0,0 @@
|
|||||||
# vim: ft=caddyfile
|
|
||||||
|
|
||||||
rick.boba.best {
|
|
||||||
import log
|
|
||||||
encode zstd gzip
|
|
||||||
redir https://www.youtube.com/watch?v=dQw4w9WgXcQ temporary
|
|
||||||
import basicerrors
|
|
||||||
}
|
|
@ -1,11 +1,12 @@
|
|||||||
# vim: ft=caddyfile
|
# vim: ft=caddyfile
|
||||||
|
|
||||||
peertube.boba.best {
|
share.boba.best {
|
||||||
encode zstd gzip
|
encode zstd gzip
|
||||||
import hsts
|
import hsts
|
||||||
import log
|
|
||||||
|
|
||||||
error * "Not found" 404
|
handle {
|
||||||
|
reverse_proxy localhost:87
|
||||||
|
}
|
||||||
|
|
||||||
import basicerrors
|
import basicerrors
|
||||||
}
|
}
|
@ -1,9 +1,8 @@
|
|||||||
# vim: ft=caddyfile
|
# vim: ft=caddyfile
|
||||||
|
|
||||||
status.boba.best {
|
status.boba.best, status.bbaovanc.com {
|
||||||
encode zstd gzip
|
encode zstd gzip
|
||||||
import hsts
|
import hsts
|
||||||
import log
|
|
||||||
|
|
||||||
reverse_proxy localhost:83
|
reverse_proxy localhost:83
|
||||||
|
|
||||||
|
@ -1,15 +0,0 @@
|
|||||||
# vim: ft=caddyfile
|
|
||||||
|
|
||||||
stib.boba.best {
|
|
||||||
encode zstd gzip
|
|
||||||
import hsts
|
|
||||||
import log
|
|
||||||
|
|
||||||
root * /var/www/stib.boba.best
|
|
||||||
handle {
|
|
||||||
rewrite * /stib.gif
|
|
||||||
file_server
|
|
||||||
}
|
|
||||||
|
|
||||||
import basicerrors
|
|
||||||
}
|
|
@ -1,7 +0,0 @@
|
|||||||
# vim: ft=caddyfile
|
|
||||||
|
|
||||||
turn.boba.best {
|
|
||||||
encode zstd gzip
|
|
||||||
import log
|
|
||||||
respond "where are you"
|
|
||||||
}
|
|
@ -3,7 +3,6 @@
|
|||||||
vault.boba.best {
|
vault.boba.best {
|
||||||
encode zstd gzip
|
encode zstd gzip
|
||||||
import hsts
|
import hsts
|
||||||
import log
|
|
||||||
|
|
||||||
header {
|
header {
|
||||||
X-XSS-Protection "1; mode=block"
|
X-XSS-Protection "1; mode=block"
|
||||||
|
@ -1,5 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
mkdir -p img/
|
|
||||||
cd img/
|
|
||||||
curl https://http.cat | grep -oE '[0-9]{3}\.jpg' | sort | uniq | parallel $@ 'wget -q https://http.cat/{} && echo "DL {}"'
|
|
@ -1,28 +1,29 @@
|
|||||||
{{ $code := placeholder "http.error.status_code" -}}
|
{{ $code := placeholder "http.error.status_code" -}}
|
||||||
{{ $text := placeholder "http.error.status_text" -}}
|
{{ $text := placeholder "http.error.status_text" -}}
|
||||||
|
{{ $full_text := printf "%s %s" (placeholder "http.error.status_code") (placeholder "http.error.status_text") -}}
|
||||||
{{ $host := placeholder "http.request.host" -}}
|
{{ $host := placeholder "http.request.host" -}}
|
||||||
{{ $img_url := (printf "https://errors.boba.best/%s.jpg" $code) -}}
|
{{ $img_url := (printf "https://http.cat/%s.jpg" $code) -}}
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>{{ $code }} {{ $text }}</title>
|
<title>{{ $full_text }}</title>
|
||||||
|
|
||||||
<meta name="title" content="{{ $code }} {{ $text }}" />
|
<meta name="title" content="{{ $full_text }}" />
|
||||||
<meta name="description" content="{{ $code }} {{ $text }}" />
|
<meta name="description" content="{{ $full_text }}" />
|
||||||
|
|
||||||
<meta property="og:title" content="{{ $code }} {{ $text }}" />
|
<meta property="og:title" content="{{ $full_text }}" />
|
||||||
<meta property="og:description" content="{{ $code }} {{ $text }}" />
|
<meta property="og:description" content="{{ $full_text }}" />
|
||||||
<meta property="og:image" content="{{ $img_url }}"/>
|
<meta property="og:image" content="{{ $img_url }}"/>
|
||||||
<meta property="og:site_name" content="{{ $host }}" />
|
<meta property="og:site_name" content="{{ $host }}" />
|
||||||
|
|
||||||
<meta name="twitter:card" content="summary"/>
|
<meta name="twitter:card" content="summary"/>
|
||||||
<meta name="twitter:image" content="{{ $img_url }}"/>
|
<meta name="twitter:image" content="{{ $img_url }}"/>
|
||||||
<meta name="twitter:title" content="{{ $code }} {{ $text }}" />
|
<meta name="twitter:title" content="{{ $full_text }}" />
|
||||||
<meta name="twitter:description" content="{{ $code }} {{ $text }}" />
|
<meta name="twitter:description" content="{{ $full_text }}" />
|
||||||
</head>
|
</head>
|
||||||
<body bgcolor="black" text="white">
|
<body bgcolor="black" text="white">
|
||||||
<center>
|
<center>
|
||||||
<h1>{{ $code }} {{ $text }}</h1>
|
<h1>{{ $full_text }}</h1>
|
||||||
<img src='{{ $img_url }}' alt="cat" />
|
<img src="{{ $img_url }}" alt="cat" />
|
||||||
</center>
|
</center>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
Reference in New Issue
Block a user