v1.6.30 — Última versão estável

Seguro para memória
Servidor edge
Construído em Rust

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.

Rust Núcleo Fluxheim EUPL-1.2 x86_64 Linux ARM64 Linux Desenvolvimento macOS Contentores rootless
/etc/fluxheim/fluxheim.toml
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"]

Tudo o que precisa no edge

Fluxheim é entregue como builds focadas e modulares - use apenas o que o seu deployment precisa.

Seguro para memória por design

Escrito em Rust com uma toolchain estável fixada. Sem buffer overflows, sem use-after-free e sem data races por construção.

Núcleo HTTP do Fluxheim

Um runtime edge nativo em Rust com connection pooling, upstream retries, active health checks, HTTP/2, WebSocket upgrades e gRPC pass-through.

Plano de controlo do balanceador

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.

Perfis de build modulares

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.

TLS e ACME gerido

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.

Sistema de cache avançado

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.

Nativo para contentores

Imagens Podman rootless para Wolfi, Alpine, SUSE Micro e Debian. Systemd/RPM para deployments nativos. Zero assets externos no arranque.

Prometheus e OpenTelemetry

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.

GeoIP / Geo-contexto

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.

TCP stream proxy

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.

Suporte PHP-FPM

Ponte PHP-FPM FastCGI opcional para aplicações front-controller estilo WordPress. Resolução estrita de scripts e tratamento limitado de requests.

Controlos de política edge

ACLs aware de trusted proxy, rate limits, auth subrequests, traffic mirroring, regex rewrites, filas limitadas, validação estrita de config e request handling endurecido.

A funcionar em minutos

Download a pre-built binary, drop in a config file, and start serving. Native systemd units and container images included.

bash
# 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
bash
# 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
bash
# 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

Porquê Fluxheim?

Construído para operadores que querem uma stack moderna e auditável sem comportamento legacy escondido.

Sem fallback legacy escondido

A validação de config é estrita. Opções ambíguas ou inseguras são rejeitadas, não aceites silenciosamente.

Cargo.lock incluído

Builds reproduzíveis. Cada dependência está fixada. cargo audit and cargo deny run in CI.

Contentores rootless-first

Execute sem root. Portas internas 8080/8443 por predefinição. Imagens runtime explícitas para diferentes políticas operacionais.

Open source EUPL-1.2

Licença copyleft compatível com muitas licenças OSS. Originada na UE e juridicamente clara para governo e empresas.

Visão geral

Uma visão rápida de como o Fluxheim fica num deployment de produção.

Visão geral da arquitetura Fluxheim
Português