Skip to content

joaoofreitas/mudp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Logo

MUDP - Message User Datagram Protocol

An implementation of a secure, decentralised and privacy-focused messaging network protocol.
Explore the docs »

View · Report Bug · Request Feature · Send a Pull Request

Table of Contents

About The Project 📬

App

MUDP stands for Messaging User Datagram Protocol and it is a UDP based protocol created by @joaoofreitas that sends and receives asynchronous encrypted messages from a peer to another.

This project is a code implementation of this protocol (I consider the protocol itself just theory).

I decided to start this project mostly for learning and going a little bit deeper around networking. This project gave me skills in sockets, encryption, compression and raw packet networking.

Use cases:

  • Full control of communication with another person without sniffing or network tracking.

Built With 🐍

Getting Started 🏁

Follow the steps bellow for installing test te project in your machine.

Prerequisites 🛠

To install this software you need to have installed:

Installation

  1. Clone the repository
  git clone https://github.com/joaoofreitas/mudp.git
  1. Install dependencies
  pip3 install -r requirements.txt
  1. Give execution permission
  • On Linux/MacOS
  chmod +x main.py

Usage

For running this program you can use optional argument flags such as username, port and debug.

  • Example
  ./main.py --username=Anonymous --port=8080
  • If you are having problems you can add the flag --debug to see what may be happening.
      ./main.py --debug
    Or:
      ./main.py --username=Anonymous --port=8080 --debug

Anyways if you have any trouble running the program feel free o open a issue.

🤝 Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are extremely appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📝 License

Distributed under the MIT License. See LICENSE for more information.

📫 Contact

João Freitas - @joaoofreitas - joaoofreitas@pm.me

Miguel Andrade - @miguel1996

About

An implementation of a secure, decentralized and privacy-focused messaging network protocol.

Topics

Resources

License

Stars

Watchers

Forks

Languages