v1.8.0 — Апошні стабільны выпуск

Бяспечны для памяці
Edge-сервер
Створана на Rust

Модульны reverse proxy, кэш, балансіроўшчык нагрузкі і статычны хост, напісаны на Rust. Бяспечны па змаўчанні з TLS, ACME, сцісканнем, edge-палітыкамі, dynamic upstream discovery і бяспечным traffic mirroring.

Rust Ядро Fluxheim EUPL-1.2 x86_64 Linux ARM64 Linux Распрацоўка macOS Кантэйнеры без root
/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"]

Усё патрэбнае на edge-рівні

Fluxheim пастаўляецца як сфакусаваныя модульныя зборкі: выкарыстоўвайце толькі тое, што патрэбна вашаму разгортванню.

Бяспечны для памяці па задуме

Напісана на Rust з зафіксаваным стабільным toolchain. Без buffer overflow, use-after-free і data race па канструкцыі.

HTTP-ядро Fluxheim

Rust-native edge runtime з connection pooling, upstream retries, active health checks, HTTP/2, WebSocket upgrades і gRPC pass-through.

Пашырення WASM

Асобная зборка Wasm на аснове поўнага вытворчага профілю з абмежаванымі перахопнікамі палітык, ACME, метрыкамі і OpenTelemetry.

Плоскасць кіравання балансіроўшчыкам

Сфакусаваны бінарны файл і вобраз load-balancer 1.5 з пашыраным выбарам, лакальнай устойлівасцю, палітыкай health/ejection, абмежаванымі чэргамі і runtime-кіраваннем удзельнікамі.

Модульныя профілі зборкі

Кампілюйце толькі тое, што патрэбна. Сфакусаваныя профілі для static site, cache edge, reverse proxy, load balancing, TCP stream proxying, PHP-FPM, GeoIP, traffic mirroring і production bundles са сцісканнем.

TLS і кіраваны ACME

rustls-first з падтрымкай шляхоў build OpenSSL і FIPS/ISO proof, client certificate auth, upstream mTLS, аўтаматычным выпускам ACME і multi-cert SNI.

Пашыраная сістэма кэшу

Кэш-бэкенды ў памяці, на дыску, tiered і зашыфраваныя з cache-safe gzip, Zstandard і Brotli, плюс range caching для вялікіх аб'ектаў.

Натыўны для кантэйнераў

Rootless Podman images для Wolfi, Alpine, SUSE Micro і Debian. Systemd/RPM для натыўных разгортванняў. Без знешніх assets падчас старту.

Prometheus і OpenTelemetry

Opt-in listener метрык Prometheus, экспарт метрык OTLP, propagation trace context і экспарт trace OTLP для поўнай назіральнасці.

GeoIP / Geo-кантэкст

Апцыянальныя лакальныя MMDB lookup для country і ASN policy з MaxMind GeoIP2/GeoLite2 або CIRCL Geo Open. Без remote lookup ці downloader у request path.

TCP stream proxy

Raw L4 TCP services з dedicated stream routes, сапраўднымі idle/lifetime/byte caps, upstream TLS/mTLS controls, weighted/drain/backup policy і route-local PROXY protocol.

Падтрымка PHP-FPM

Opt-in PHP-FPM FastCGI bridge для front-controller прыкладанняў накшталт WordPress. Строгае resolution script і абмежаванае handling requests.

Кіраванне edge-палітыкамі

Trusted-proxy-aware ACLs, rate limits, auth subrequests, traffic mirroring, regex rewrites, bounded queues, строгая config validation і hardened request handling.

Запуск за некалькі хвілін

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

bash
# Спампаваць і распакаваць поўную зборку
curl -L https://github.com/valkyoth/fluxheim/releases/download/v1.8.0/fluxheim-1.8.0-full-x86_64-linux.tar.gz \
  | tar xz

# Перамясціць бінарнік у system path
sudo mv fluxheim /usr/local/bin/

# Валідаваць config перад запускам
fluxheim --check-config --config /etc/fluxheim/fluxheim.toml

# Запусціць з systemd (unit file уключаны)
sudo systemctl enable --now fluxheim
bash
# Pull з GHCR або Quay
podman pull ghcr.io/valkyoth/fluxheim:v1.8.0
podman pull quay.io/valkyoth/fluxheim:v1.8.0

# Запусціць rootless з падмантаваным config
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.8.0

# Доступні варіанти образів: full, load-balancer, кэш, proxy, wasm, php
bash
# Кланаваць й сабраць профіль за змаўчанні
git clone https://github.com/valkyoth/fluxheim
cd fluxheim

# Зборка за змаўчанні (proxy + web + кэш + tls-rustls + security)
cargo build --release

# Або сабраць сфокусований профіль
cargo build --release --no-default-features \
  --features profile-proxy-edge,acme-client

# Праверыць config і запусціць
cargo run --release -- \
  --check-config --config examples/fluxheim.toml

Чаму Fluxheim?

Створана для аператараў, якім патрэбны сучасны, аўдытабельны stack без схаваных legacy-паводзін.

Без схаванага legacy fallback

Валідацыя config строгая. Неадназначныя або небяспечныя опцыі адхіляюцца, а не прымаюцца моўчкі.

Cargo.lock у рэпазіторыі

Узнаўляльныя зборкі. Кожная залежнасць зафіксавана. cargo audit and cargo deny run in CI.

Кантэйнеры rootless-first

Запускайце без root. Унутраныя парты 8080/8443 па змаўчанні. Яўныя runtime images для розных аперацыйных палітык.

Адкрыты код EUPL-1.2

Copyleft-ліцэнзія, сумяшчальная з многімі OSS-ліцэнзіямі. Паходзіць з ЕС і юрыдычна зразумелая для дзяржаўнага і карпаратыўнага выкарыстання.

Агляд

Кароткі погляд на тое, як Fluxheim выглядае ў production-разгортванні.

Агляд архітэктуры Fluxheim
Беларуская