v1.8.0 — Останній стабільний випуск

Безпечний для пам’яті
Edge-сервер
Створено на Rust

Модульний reverse proxy, кеш, балансувальник навантаження і статичний хост, написаний на Rust. Безпечний за замовчуванням з TLS, ACME, стисканням, edge-політиками, динамічним виявленням upstream і безпечним 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, активними health checks, HTTP/2, WebSocket upgrades і gRPC pass-through.

Розширення WASM

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

Площина керування балансувальником навантаження

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

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

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

TLS і керований ACME

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

Розширена система кешу

Кеш-бекенди в пам’яті, на диску, багаторівневі й зашифровані з 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 / Геоконтекст

Опційні локальні MMDB lookup для country і ASN policy з MaxMind GeoIP2/GeoLite2 або CIRCL Geo Open. Без remote lookup чи downloader у шляху запиту.

Проксі TCP-потоків

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 запитів.

Керування 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

# Перемістити бінарний файл у системний шлях
sudo mv fluxheim /usr/local/bin/

# Перевірити config перед запуском
fluxheim --check-config --config /etc/fluxheim/fluxheim.toml

# Запустити з systemd (unit file включено)
sudo systemctl enable --now fluxheim
bash
# Завантажити з GHCR або Quay
podman pull ghcr.io/valkyoth/fluxheim:v1.8.0
podman pull quay.io/valkyoth/fluxheim:v1.8.0

# Запустити без root із змонтованим 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, cache, proxy, wasm, php
bash
# Клонувати й зібрати профіль за замовчуванням
git clone https://github.com/valkyoth/fluxheim
cd fluxheim

# Збірка за замовчуванням (proxy + web + cache + 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-поведінки.

Без прихованого 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
Українська