12 releases

Uses new Rust 2024

0.2.0-alpha.13 Apr 25, 2025
0.2.0-alpha.12 Apr 18, 2025
0.2.0-alpha.7 Mar 11, 2025
0.2.0-alpha.6 Jan 9, 2025
0.2.0-alpha.3 Sep 9, 2024

#25 in #rama

Download history 78/week @ 2025-01-13 72/week @ 2025-01-20 20/week @ 2025-01-27 29/week @ 2025-02-03 38/week @ 2025-02-10 50/week @ 2025-02-17 36/week @ 2025-02-24 25/week @ 2025-03-03 137/week @ 2025-03-10 46/week @ 2025-03-17 20/week @ 2025-03-24 11/week @ 2025-03-31 167/week @ 2025-04-07 671/week @ 2025-04-14 238/week @ 2025-04-21 82/week @ 2025-04-28

1,160 downloads per month
Used in 18 crates (16 directly)

MIT/Apache

360KB
8K SLoC

rama banner

Crates.io Docs.rs MIT License Apache 2.0 License rust version Build Status

Discord Buy Me A Coffee GitHub Sponsors Paypal Donation

🦙 Rama (ラマ) is a modular service framework for the 🦀 Rust language to move and transform your network packets. The reasons behind the creation of rama can be read in the "Why Rama" chapter.

rama-core

async fn serve(&self, Context<S>, Request) -> Result<Response, Error>

Crate used by the end-user rama crate and rama crate authors alike.

Learn more about rama:

rama service

Heavily inspired by tower-service and the vast Tokio ecosystem which makes use of it.

Initially the goal was to rely on tower-service directly, but it turned out to be too restrictive and difficult to work with, for the use cases we have in Rama. See https://ramaproxy.org/book/faq.html for more information regarding this and more.

Dependencies

~5–32MB
~445K SLoC