/firewall

๐Ÿ”ฅ๐Ÿ”’ Small Firewall Project ๐ŸŒ๐Ÿ›ก๏ธ The firewall project is a network security application implemented in C++.

Primary LanguageC++MIT LicenseMIT

๐Ÿ”ฅ Basic Firewall Project

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.

Project Overview

  • ๐Ÿ“ 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.

Development Environment

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)

Getting Started

Follow these steps to get started with the firewall project:

  1. ๐Ÿ”€ Clone the repository to your local machine using the following command:
git clone https://github.com/your-username/firewall.git
  1. ๐Ÿ› ๏ธ Make sure you have the necessary development environment set up (MSYS with GCC).
  2. ๐Ÿ–ฅ๏ธ Open the MSYS terminal and navigate to the project directory:
cd /path/to/firewall
  1. ๐Ÿ“‹ Review the rules.txt file to understand the predefined rules for the firewall.
  2. ๐Ÿ”จ Build the firewall program by compiling the firewall.cpp source code:
g++ -o firewall main.cpp -lssl -lcrypto 
  1. โ–ถ๏ธ Run the compiled firewall program:

Windows Based OS

./firewall.exe

Linux Based OS

./firewall
  1. ๐Ÿ”ฌ Test the firewall functionality by sending network traffic and observing the filtering based on the predefined rules.

Contribution

If you would like to contribute to this firewall project, you can follow these steps:

๐Ÿ”€ Fork this repository.

  1. ๐ŸŒฟ Create a new branch for your changes:
git checkout -b feature/your-feature
  1. ๐Ÿ”ง Make the necessary changes and additions to the code.
  2. ๐Ÿงช Test your changes to ensure they work correctly.
  3. ๐Ÿ’พ Commit your changes with descriptive commit messages:
git commit -m "Add feature X"
  1. ๐Ÿ”€ Push your changes to your forked repository:
git push origin feature/your-feature
  1. ๐Ÿ”€ 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.

License

This project is licensed under the MIT License. Feel free to modify and distribute the code according to the terms of the license.