# hudsucker
[](https://crates.io/crates/hudsucker)
[](https://docs.rs/hudsucker)
[](https://github.com/omjadas/hudsucker/actions/workflows/build.yml)
Hudsucker is a MITM HTTP/S proxy written in Rust that allows you to:
- Modify HTTP/S requests
- Modify HTTP/S responses
- Modify WebSocket messages
## Features
- `decoder`: Enables `decode_request` and `decode_response` helpers (enabled by default).
- `full`: Enables all features.
- `http2`: Enables HTTP/2 support.
- `native-tls-client`: Enables `ProxyBuilder::with_native_tls_connector`.
- `openssl-ca`: Enables `certificate_authority::OpensslAuthority`.
- `rcgen-ca`: Enables `certificate_authority::RcgenAuthority` (enabled by default).
- `rustls-client`: Enables `ProxyBuilder::with_rustls_connector` (enabled by default).
## Usage
For usage, refer to the [provided examples](https://github.com/omjadas/hudsucker/tree/main/examples).
### Built With Hudsucker
- [Cruster](https://github.com/sinKettu/cruster)
## License
Licensed under either of
- [Apache License, Version 2.0](LICENSE-APACHE)
- [MIT license](LICENSE-MIT)
at your option.
## Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in the work by you, as defined in the Apache-2.0 license, shall be
dual licensed as above, without any additional terms or conditions.