📣 Rama Ecosystem
For now there are only the rama crates found in this repository, also referred to as "official" rama crates.
We welcome however community contributions not only in the form of contributions to this repository, but also have people write their own crates as extensions to the rama ecosystem. E.g. perhaps you wish to support an alternative http/tls backend.
In case you have ideas for new features or stacks please let us know first. Perhaps there is room for these within an official rama crate. In case it is considered out of scope you are free to make your own community rama crate. Please prefix all rama community crates with "rama-x", this way the crates are easy to find, and are sufficiently different from "official" rama crates".
Once you have such a crate published do let us know it, such that we can list them here.
📦 | Rama Crates
The rama
crate can be used as the one and only dependency.
However, as you can also read in the "DIY" chapter of the book
at https://ramaproxy.org/book/diy.html#empowering, you are able
to pick and choose not only what specific parts of rama
you wish to use,
but also in fact what specific (sub) crates.
Here is a list of all rama
crates:
rama
: one crate to rule them allrama-error
: error utilities for rama and its usersrama-macros
: contains the procedural macros used byrama
rama-utils
: utilities crate for ramarama-core
: core crate containing the service, layer and context used by all otherrama
code, as well as some other core utilitiesrama-net
: rama network types and utilitiesrama-dns
: DNS support for ramarama-tcp
: TCP support for ramarama-udp
: UDP support for ramarama-tls
: TLS support for rama (types,rustls
andboring
)rama-proxy
: proxy types and utilities for ramarama-socks5
: SOCKS5 support for ramarama-haproxy
: rama HaProxy supportrama-ua
: User-Agent (UA) support forrama
rama-http-types
: http types and utilitiesrama-http
: rama http services, layers and utilitiesrama-http-backend
: default http backend forrama