This repository contains a basic implementation of Onion Routing, a technique for anonymous communication over a computer network. The project includes multiple Python scripts that simulate the core components of an onion routing system, including client, server, and relay functionalities.
- Client-Server Communication: Establishes secure communication channels between clients and servers.
- Encryption & Decryption: Utilizes custom cryptographic functions to ensure data privacy and integrity.
- Relay Servers: Implements multiple relay layers to anonymize the traffic origin.
- Python 3.8 or higher
- Pip for Python package management
- Clone the repository:
git clone https://github.com/AnasMohammad4321/Onion-Routing.git
- Move to project's directory
cd Onion-Routing
- Activate the virtual environment
source dev/bin/activate
- Install the required packages:
pip install -r requirements.txt
To start the system, run the following scripts in separate terminals:
python directory.py
- Starts the directory server.python relay_server.py
- Initializes the first relay server.python relay_server1.py
andpython relay_server2.py
- Additional relay servers.python client_server.py https://www.DUMMY.com
- Launches the client application.
We welcome contributions from the community. If you wish to contribute to the project, please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch
). - Make your changes.
- Commit your changes (
git commit -am 'Add some feature'
). - Push to the branch (
git push origin feature-branch
). - Open a pull request.
For any queries, you can reach out: mohammadanas702@gmail.com.