Repoxy is a lightweight, experimental reverse proxy / API gateway written in Rust.
Itβs currently a WIP / learning project, built as part of my journey into Rust, systems programming, and network infrastructure.
- High-performance reverse proxy built on async Rust (
tokio,hyper,axum) - Configurable routing (via
repoxy.toml) - TLS termination (via
rustls) - API Gateway features:
- β Path-based routing
- π JWT / API key authentication
- β‘ Rate limiting
- π Observability (logging, metrics, tracing)
- Load balancing (round-robin / least-connections)
- Extensible middleware (filters, request rewriting, etc.)
Clone the repo and build with Cargo:
git clone https://github.com/fuunshi/repoxy.git
cd repoxy
cargo build --releaseRun:
cargo run[[routes]]
path = "/api/users"
backends = ["http://localhost:5000", "http://localhost:5001"]
[[routes]]
path = "/api/orders"
backends = ["http://localhost:6000"]- Minimal reverse proxy (forward requests β backend)
- Configurable routes via TOML
- JWT & API key validation
- Rate limiting per client
- TLS termination
- Load balancing
- Prometheus metrics & tracing
- Plugin system (maybe WASM-based)
This project is a work in progress (WIP) and part of my learning journey in Rust. Expect breaking changes, missing features, and experiments. Not production-ready (yet).
Licensed under the Apache License, Version 2.0. See LICENSE for details.