A modular Rust service framework for building programmable network proxies, clients, and servers with fine-grained control over packet flow.
Rama is a modular service framework written in Rust for building programmable network services such as proxies, clients, and servers. It provides fine-grained control over transports, protocols, and data flow, enabling developers to construct networked systems at any point in the input or output path. The framework is designed for high performance, correctness, and long-running production workloads, already used in production for network security, data extraction, and API gateways.
Developers and teams who need fine-grained control over transport, TLS, and HTTP layers while staying in safe Rust, particularly those building custom proxies, intermediaries, or network platforms. Organizations seeking a maintainable, composable foundation for networked services in production environments.
Rama offers a unique combination of modular service architecture, extensive protocol support, and production-ready design, all within a safe Rust ecosystem. Its composable layers and emphasis on programmable packet flow provide a level of control and flexibility not found in generic web frameworks, making it ideal for specialized network engineering tasks.
modular service framework to move and transform network packets
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Built on composable Service and Layer abstractions, enabling developers to build clients, servers, and intermediaries with reusable primitives, as highlighted in the README's key features.
Handles TCP, UDP, HTTP/1.1, HTTP/2, WebSockets, SSE, gRPC, and proxy protocols like SOCKS5, making it versatile for diverse network services, per the feature list.
Already used in production by companies for network security, data extraction, and API gateways, indicating reliability for long-running workloads, as stated in the README.
Integrates with tracing and OpenTelemetry, and provides HAR export and curl conversion utilities for comprehensive diagnostics, supporting observability in complex deployments.
The README explicitly labels rama as 'experimental software for the foreseeable future,' which may deter teams needing stable, long-term guarantees or enterprise support without commercial contracts.
With a modular crate ecosystem and fine-grained control over network layers, rama requires deep knowledge of Rust's async ecosystem and network programming, increasing initial development time.
Key features like HTTP/3 support are only planned for v0.4.0 (ETA 2026 Q1), and graphical interfaces or browser emulation are not yet implemented, limiting some advanced use cases.