2025-08-25 16:49:04 -04:00
|
|
|
|
{
|
|
|
|
|
|
# we’re behind cloudflare tunnel; terminate tls there
|
|
|
|
|
|
auto_https off
|
2025-08-25 14:15:52 -04:00
|
|
|
|
}
|
|
|
|
|
|
|
2025-08-25 16:49:04 -04:00
|
|
|
|
:8550 {
|
|
|
|
|
|
# route by host header to each backend
|
2025-08-25 17:48:21 -04:00
|
|
|
|
|
2025-08-25 16:49:04 -04:00
|
|
|
|
@paste host {env.PASTE_DOMAIN}
|
|
|
|
|
|
handle @paste {
|
2025-08-25 17:48:21 -04:00
|
|
|
|
# privatebin ui
|
2025-08-25 16:49:04 -04:00
|
|
|
|
reverse_proxy privatebin:8080
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@files host {env.FILES_DOMAIN}
|
|
|
|
|
|
handle @files {
|
2025-08-25 17:48:21 -04:00
|
|
|
|
# lufi ui
|
2025-08-25 16:49:04 -04:00
|
|
|
|
reverse_proxy lufi:8081
|
|
|
|
|
|
}
|
2025-08-25 14:15:52 -04:00
|
|
|
|
|
2025-08-25 16:49:04 -04:00
|
|
|
|
@short host {env.SHORT_DOMAIN}
|
|
|
|
|
|
handle @short {
|
2025-08-25 17:48:21 -04:00
|
|
|
|
# shlink ui/api default
|
2025-08-25 16:49:04 -04:00
|
|
|
|
reverse_proxy shlink:8080
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-08-25 17:48:21 -04:00
|
|
|
|
# --- adapter endpoint so privatebin can call a simple ?link=... and get a plain-text short url ---
|
|
|
|
|
|
# this lives on the same short domain; it just proxies to your tiny bun adapter service
|
|
|
|
|
|
@shorten host {env.SHORT_DOMAIN} && path /shorten
|
|
|
|
|
|
handle @shorten {
|
|
|
|
|
|
# allow browser calls from your privatebin origin
|
|
|
|
|
|
header {
|
|
|
|
|
|
Access-Control-Allow-Origin https://{env.PASTE_DOMAIN}
|
|
|
|
|
|
Access-Control-Allow-Methods GET, OPTIONS
|
|
|
|
|
|
Access-Control-Allow-Headers *
|
|
|
|
|
|
# do not cache shortened responses; they contain the full (keyed) url
|
|
|
|
|
|
Cache-Control no-store
|
|
|
|
|
|
}
|
|
|
|
|
|
# forward to the adapter (which turns GET ?link=... into a shlink POST and replies with text)
|
|
|
|
|
|
reverse_proxy shlink-adapter:3000
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
# preflight for /shorten
|
|
|
|
|
|
@shortenPre host {env.SHORT_DOMAIN} && method OPTIONS && path /shorten
|
|
|
|
|
|
respond @shortenPre 204
|
|
|
|
|
|
|
2025-08-25 17:00:44 -04:00
|
|
|
|
respond "unauthorized domain" 404
|
2025-08-25 16:49:04 -04:00
|
|
|
|
}
|