Reverse proxy modular, cache, balanceador de carga e host estático escrito em Rust. Seguro por predefinição com TLS, ACME, compressão, política edge, dynamic upstream discovery e espelhamento seguro de tráfego integrados.
include_conf_d = false
[server]
listen = ["0.0.0.0:80"]
tls_listen = ["0.0.0.0:443"]
default_vhost = "fluxheim.eu"
[tls]
enabled = true
backend = "rustls"
profile = "intermediate"
min_protocol = "tls1.2"
alpn = "http1-and-http2"
curve_preferences = ["X25519", "CurveP256", "CurveP384"]
[[vhosts]]
name = "fluxheim.eu"
hosts = ["fluxheim.eu"]
[vhosts.tls]
enabled = true
[vhosts.tls.certificate]
cert_path = "/etc/fluxheim/tls/fluxheim.eu/fullchain.pem"
key_path = "/etc/fluxheim/tls/fluxheim.eu/privkey.pem"
[vhosts.web]
root = "/srv/sites/fluxheim.eu"
index_files = ["index.html"]
Fluxheim é entregue como builds focadas e modulares - use apenas o que o seu deployment precisa.
Escrito em Rust com uma toolchain estável fixada. Sem buffer overflows, sem use-after-free e sem data races por construção.
Um runtime edge nativo em Rust com connection pooling, upstream retries, active health checks, HTTP/2, WebSocket upgrades e gRPC pass-through.
Binário e imagem load-balancer 1.5 focados com seleção avançada, persistência local, política health/ejection, filas limitadas e controlos de membros em runtime.
Compile apenas o que precisa. Perfis focados para static site, cache edge, reverse proxy, load balancing, TCP stream proxying, PHP-FPM, GeoIP, traffic mirroring e bundles de produção com compressão.
rustls-first com caminhos de build OpenSSL e FIPS/ISO suportados, client certificate auth, upstream mTLS, emissão ACME automática e SNI multi-cert.
Backends de cache em memória, disco, tiered e encriptados com compressão gzip, Zstandard e Brotli segura para cache, além de range caching para objetos grandes.
Imagens Podman rootless para Wolfi, Alpine, SUSE Micro e Debian. Systemd/RPM para deployments nativos. Zero assets externos no arranque.
Listener opcional de métricas Prometheus, exportação OTLP de métricas, propagação de trace context e exportação OTLP de traces para observability completa.
Consultas MMDB locais opcionais para políticas de país e ASN usando MaxMind GeoIP2/GeoLite2 ou datasets CIRCL Geo Open. Sem consulta remota nem downloader no request path.
Serviços TCP L4 raw com stream routes dedicadas, limites reais idle/lifetime/byte, controlos upstream TLS/mTLS, política weighted/drain/backup e PROXY protocol local à route.
Ponte PHP-FPM FastCGI opcional para aplicações front-controller estilo WordPress. Resolução estrita de scripts e tratamento limitado de requests.
ACLs aware de trusted proxy, rate limits, auth subrequests, traffic mirroring, regex rewrites, filas limitadas, validação estrita de config e request handling endurecido.
Download a pre-built binary, drop in a config file, and start serving. Native systemd units and container images included.
# Transferir e extrair o build completo
curl -L https://github.com/valkyoth/fluxheim/releases/download/v1.6.30/fluxheim-1.6.30-full-x86_64-linux.tar.gz \
| tar xz
# Mover binário para system path
sudo mv fluxheim /usr/local/bin/
# Validar a config antes de iniciar
fluxheim --check-config --config /etc/fluxheim/fluxheim.toml
# Executar com systemd (unit file incluído)
sudo systemctl enable --now fluxheim
# Pull de GHCR ou Quay
podman pull ghcr.io/valkyoth/fluxheim:v1.6.30
podman pull quay.io/valkyoth/fluxheim:v1.6.30
# Executar rootless com a config montada
podman run -d \
--name fluxheim \
-p 8080:8080 -p 8443:8443 \
-v /srv/sites:/srv/sites:ro \
-v ./fluxheim.toml:/etc/fluxheim/fluxheim.toml:ro \
ghcr.io/valkyoth/fluxheim:v1.6.30
# Variantes de imagem disponíveis: full, load-balancer, cache, proxy, php
# Clonar e construir o perfil default
git clone https://github.com/valkyoth/fluxheim
cd fluxheim
# Build default (proxy + web + cache + tls-rustls + security)
cargo build --release
# Ou construir um perfil focado
cargo build --release --no-default-features \
--features profile-proxy-edge,acme-client
# Validar config e executar
cargo run --release -- \
--check-config --config examples/fluxheim.toml
Construído para operadores que querem uma stack moderna e auditável sem comportamento legacy escondido.
A validação de config é estrita. Opções ambíguas ou inseguras são rejeitadas, não aceites silenciosamente.
Builds reproduzíveis. Cada dependência está fixada. cargo audit and cargo deny run in CI.
Execute sem root. Portas internas 8080/8443 por predefinição. Imagens runtime explícitas para diferentes políticas operacionais.
Licença copyleft compatível com muitas licenças OSS. Originada na UE e juridicamente clara para governo e empresas.
Uma visão rápida de como o Fluxheim fica num deployment de produção.