Skip to content

fuunshi/repoxy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Repoxy

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.


✨ Goals

  • 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.)

πŸ“¦ Installation

Clone the repo and build with Cargo:

git clone https://github.com/fuunshi/repoxy.git
cd repoxy
cargo build --release

Run:

cargo run

πŸ› οΈ Example Config (repoxy.toml)

[[routes]]
path = "/api/users"
backends = ["http://localhost:5000", "http://localhost:5001"]

[[routes]]
path = "/api/orders"
backends = ["http://localhost:6000"]

πŸ“ Roadmap

  • 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)

⚠️ Disclaimer

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).


πŸ“œ License

Licensed under the Apache License, Version 2.0. See LICENSE for details.

About

Rust Reverse Proxy & API Gateway (WIP / Learning Project)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Languages