Thanks to visit codestin.com
Credit goes to github.com

Skip to content
/ rama Public
forked from plabayo/rama

modular proxy framework to move and transform network packets

License

Notifications You must be signed in to change notification settings

nomadenss/rama

Β 
Β 

rama banner

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

Discord Buy Me A Coffee GitHub Sponsors

πŸ¦™ Rama is a modular proxy 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.

You can use it to develop:

Rama is async-first using Tokio as its only Async Runtime. Please refer to the examples found in the ./examples dir to get inspired on how you can use it for your purposes.

There is no crates.io release of rama yet. If you already want to start using rama already your can do so by referring to it in your Cargo.toml as follows:

rama = { git = "https://github.com/plabayo/rama" }

πŸ’¬ Come join us at Discord on the #rama public channel. To ask questions, discuss ideas and ask how rama may be useful for you.

⚠️ rama is early work in progress, use at your own risk.

Not everything that exists is documented and not everything that is documented is implemented.

πŸ“– Rama's full documentatuon, references and background material can be found in the form of the "rama book" at https://ramaproxy.org/.

⛨ | Safety

This crate uses #![forbid(unsafe_code)] to ensure everything is implemented in 100% safe Rust.

πŸ¦€ | Minimum supported Rust version

Rama's MSRV is 1.75.

🧭 | Roadmap

Please refer to https://github.com/plabayo/rama/milestones to know what's on the roadmap. Is there something not on the roadmap for the next version that you would really like? Please create a feature request to request it and become a sponsor if you can.

πŸ’Ό | License

This project is dual-licensed under both the MIT license and Apache 2.0 License.

πŸ‘‹ | Contributing

🎈 Thanks for your help improving the project! We are so happy to have you! We have a contributing guide to help you get involved in the rama project.

Should you want to contribure this project but you do not yet know how to program in Rust, you could start learning Rust with as goal to contribute as soon as possible to rama by using "the Rust 101 Learning Guide" as your study companion. Glen can also be hired as a mentor or teacher to give you paid 1-on-1 lessons and other similar consultancy services. You can find his contact details at https://www.glendc.com/.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in rama by you, shall be licensed as both MIT and Apache 2.0, without any additional terms or conditions.

Acknowledgements

Special thanks goes to all involved in developing, maintaining and supporting the Rust programming language, the Tokio ecosystem and all other crates that we depend upon.

Extra credits also go to Axum, from which ideas and code were copied as its a project very much in line with the kind of software we want Rama to be, but for a different purpose. Our hats also go off to Tower, its inventors and all the people and creatures that help make it be every day. The initial code for the SOCKS5 support was copied from EAimTY's codebases.

πŸ’– | Sponsors

Rama is completely free, open-source software which needs lots of effort and time to develop and maintain.

Support this project by becoming a sponsor. One time payments are accepted at GitHub as well as at "Buy me a Coffee"

Sponsors help us continue to maintain and improve rama, as well as other Free and Open Source (FOSS) technology. It also helps us to create educational content such as https://github.com/plabayo/learn-rust-101, and other open source libraries such as https://github.com/plabayo/tower-async.

Sponsors receive perks and depending on your regular contribution it also allows you to rely on us for support and consulting.

Contribute to Open Source

Part of the money we receive from sponsors is used to contribute to other projects that we depend upon. Plabayo sponsors the following organisations and individuals building and maintaining open source software that rama depends upon:

name projects
πŸ’Œ Tokio (Tokio Project and Ecosystem)
πŸ’Œ Sean McArthur (Hyper and Tokio)
πŸ’Œ Ratatui (TUI framework)
πŸ’Œ Ulixee (Browser Profile Data)

❓| FAQ

Available at https://ramaproxy.org/book/faq.html.

About

modular proxy framework to move and transform network packets

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 99.5%
  • Other 0.5%