Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/emanuele-em/proxelar
A MITM Proxy 🧑💻! Toolkit for HTTP/1, HTTP/2, and WebSockets with SSL/TLS Capabilities. Learning Project.
https://github.com/emanuele-em/proxelar
hacktoberfest http http2 mitm mitmproxy proxy proxy-server rust rust-lang websocket
Last synced: 7 days ago
JSON representation
A MITM Proxy 🧑💻! Toolkit for HTTP/1, HTTP/2, and WebSockets with SSL/TLS Capabilities. Learning Project.
- Host: GitHub
- URL: https://github.com/emanuele-em/proxelar
- Owner: emanuele-em
- License: apache-2.0
- Created: 2023-01-19T18:52:31.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2024-07-23T08:38:55.000Z (4 months ago)
- Last Synced: 2024-08-02T09:10:23.016Z (3 months ago)
- Topics: hacktoberfest, http, http2, mitm, mitmproxy, proxy, proxy-server, rust, rust-lang, websocket
- Language: Rust
- Homepage:
- Size: 22.4 MB
- Stars: 384
- Watchers: 6
- Forks: 27
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE-APACHE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
- awesome-rust - Man In The Middle Proxy
- awesome-rust - emanuele-em/proxelar - em/proxelar/actions/workflows/rust.yml/badge.svg)](https://github.com/emanuele-em/proxelar/actions/workflows/rust.yml) (Applications / Web Servers)
- awesome-yew - Proxelar - Rust-based Man in the Middle proxy, an early-stage project aimed at providing visibility into network traffic. (Projects)
- fucking-awesome-rust - emanuele-em/proxelar - A MITM Proxy 🦀! Toolkit for HTTP/1, HTTP/2, and WebSockets with SSL/TLS Capabilities [![Rust](https://github.com/emanuele-em/proxelar/actions/workflows/rust.yml/badge.svg)](https://github.com/emanuele-em/proxelar/actions/workflows/rust.yml) (Applications / Web Servers)
- fucking-awesome-rust - emanuele-em/proxelar - A MITM Proxy 🦀! Toolkit for HTTP/1, HTTP/2, and WebSockets with SSL/TLS Capabilities [![Rust](https://github.com/emanuele-em/proxelar/actions/workflows/rust.yml/badge.svg)](https://github.com/emanuele-em/proxelar/actions/workflows/rust.yml) (Applications / Web Servers)
- awesome-rust - emanuele-em/proxelar - A MITM Proxy 🦀! Toolkit for HTTP/1, HTTP/2, and WebSockets with SSL/TLS Capabilities [![Rust](https://github.com/emanuele-em/proxelar/actions/workflows/rust.yml/badge.svg)](https://github.com/emanuele-em/proxelar/actions/workflows/rust.yml) (Applications / Web Servers)
README
Proxelar
A simple Man In The Middle proxy
[![build](https://github.com/emanuele-em/proxelar/actions/workflows/autofix.yml/badge.svg?branch=master)](https://github.com/emanuele-em/proxelar/actions/workflows/autofix.yml)
![GitHub](https://img.shields.io/github/license/emanuele-em/proxelar)
![GitHub last commit](https://img.shields.io/github/last-commit/emanuele-em/proxelar)
![GitHub top language](https://img.shields.io/github/languages/top/emanuele-em/proxelar)## Description
Rust-based **Man in the Middle proxy**, an early-stage project aimed at providing visibility into network traffic. Currently, it displays both HTTP and HTTPS requests and responses, but our future goal is to allow for manipulation of the traffic for more advanced use cases.![Cast](assets/screenshots/0.gif)
## Features
- 🔐 HTTP / HTTP(s)
- 🖱️ Gui
- ⌨️ Possibility of choosing a customised address and listening port
- 🔍 Details for each request and response
- 🎯 Filtering the list of requests by method
- ❌ Deleting a single request from the list
- 🚫 Clear all requests and clean the table
- 🌌 Dark / light theme## Getting Started
1. Generate a Certificate:
```bash
sh install_cer.sh
```
The just generated certificate is located in `./proxyapi/src/ca/proxelar.cer`2. Install `.cer` file locally and trust it.
- [MacOS guide](https://support.apple.com/guide/keychain-access/change-the-trust-settings-of-a-certificate-kyca11871/mac#:~:text=In%20the%20Keychain%20Access%20app,from%20the%20pop%2Dup%20menus.)
- [Ubuntu guide](https://ubuntu.com/server/docs/security-trust-store)
- [Windows guide](https://learn.microsoft.com/en-us/skype-sdk/sdn/articles/installing-the-trusted-root-certificate)3. Configure your local system proxy on `127.0.0.1:8100`.
- [MacOS guide](https://support.apple.com/it-it/guide/mac-help/mchlp2591/mac)
- [Ubuntu guide](https://help.ubuntu.com/stable/ubuntu-help/net-proxy.html.en)
- [Windows guide](https://support.microsoft.com/en-us/windows/use-a-proxy-server-in-windows-03096c53-0554-4ffe-b6ab-8b1deee8dae1#:~:text=a%20VPN%20connection-,Select%20the%20Start%20button%2C%20then%20select%20Settings%20%3E%20Network%20%26%20Internet,information%20for%20that%20VPN%20connection.)## Start Development
```bash
cargo tauri dev
```## Documentation and Help
If you have questions on how to use [Proxelar](https://github.com/emanuele-em/proxelar), please use GitHub Discussions!
![GitHub Discussions](https://img.shields.io/github/discussions/emanuele-em/proxelar)## Contributing
Contributions are always welcome!
See `contributing.md` for ways to get started.
Please adhere to this project's `code of conduct`.
## Licenses
See [LICENSE-APACHE](LICENSE-APACHE), [LICENSE-MIT](LICENSE-MIT) for details
## Screenshots
### Input of Listening Address
![Mitm proxy Screenshot 1](assets/screenshots/1b.png)
![Mitm proxy Screenshot 1](assets/screenshots/1w.png)
![Mitm proxy Screenshot 1](assets/screenshots/2w.png)### Requests List
![Mitm proxy Screenshot 2](assets/screenshots/3w.png)
![Mitm proxy Screenshot 2](assets/screenshots/3b.png)
![Mitm proxy Screenshot 2](assets/screenshots/4b.png)### Request and Response Details
![Mitm proxy Screenshot 3](assets/screenshots/5b.png)
![Mitm proxy Screenshot 3](assets/screenshots/5w.png)