This repository contains my attempt at developing a firewall. The goal of this project is to create a functional firewall that can filter network traffic based on predefined rules.
- π
src/main.cpp
: The main source code file for the firewall program. - π
docs/info.md
: A README file that explains code structure and troubleshooting. - π
README.md
: The documentation file explaining the project.
To develop and run this firewall project, you will need:
- π₯οΈ Operating System: Windows 10, 11 or Linux/GNU based system (Ubuntu Recommended)
- π§ Compiler: Any Windows C++ Compiler or Linux/GNU compiler (GCC)
Follow these steps to get started with the firewall project:
- π Clone the repository to your local machine using the following command:
git clone https://github.com/your-username/firewall.git
- π οΈ Make sure you have the necessary development environment set up (MSYS with GCC).
- π₯οΈ Open the MSYS terminal and navigate to the project directory:
cd /path/to/firewall
- π Review the
rules.txt
file to understand the predefined rules for the firewall. - π¨ Build the firewall program by compiling the
firewall.cpp
source code:
g++ -o firewall main.cpp -lssl -lcrypto
βΆοΈ Run the compiled firewall program:
Windows Based OS
./firewall.exe
Linux Based OS
./firewall
- π¬ Test the firewall functionality by sending network traffic and observing the filtering based on the predefined rules.
If you would like to contribute to this firewall project, you can follow these steps:
π Fork this repository.
- πΏ Create a new branch for your changes:
git checkout -b feature/your-feature
- π§ Make the necessary changes and additions to the code.
- π§ͺ Test your changes to ensure they work correctly.
- πΎ Commit your changes with descriptive commit messages:
git commit -m "Add feature X"
- π Push your changes to your forked repository:
git push origin feature/your-feature
- π Open a pull request on the original repository to merge your changes.
Please make sure to adhere to the project's coding style and guidelines.
This project is licensed under the MIT License. Feel free to modify and distribute the code according to the terms of the license.