RFirewall is a lean, modern firewall designed to offer top-tier security with an exceptional user experience. Built with performance and usability in mind, RFirewall aims to provide seamless protection for your Linux environment without compromising on speed or ease of use.
- Minimal Overhead: RFirewall will operate efficiently, ensuring your system's performance is not compromised.
- Intuitive Interface: A user-friendly interface is planned to make configuring and managing your firewall straightforward, even for those new to networking.
- Advanced Threat Detection: Future updates will include state-of-the-art algorithms to detect and block potential threats before they can compromise your system.
- Real-Time Monitoring: A feature for live updates on your network traffic and potential security events is in the works.
- Customizable Rules: Plans include the ability to easily create and manage custom firewall rules tailored to your specific needs.
- Seamless Integration: RFirewall will integrate smoothly with your existing Linux, ensuring compatibility and ease of deployment.
RFirewall is a cutting-edge, user-centric firewall solution for Linux systems, currently in the planning and development stages. The project focuses on being lean and efficient while delivering a superior user experience. RFirewall aims to make managing your firewall easy and effective, blending performance, security, and usability into one modern package.
RFirewall is built using the Rust programming language, chosen for its performance, safety, and modern features. The project relies on several key dependencies to provide a robust and efficient firewall solution:
- chrono (v0.4.38): A date and time library for Rust, used for handling timestamps and time-based operations.
- clap (v4.5.16): A command-line argument parser with a derive macro, making it easy to build a user-friendly CLI for RFirewall.
- ctrlc (v3.4.5): Allows the application to handle Ctrl+C signals, enabling graceful shutdowns and cleanup.
- dirs-next (v2.0.0): Provides cross-platform support for finding user directories, making configuration and data storage consistent.
- pnet (v0.35.0): A cross-platform packet manipulation library, essential for capturing and filtering network traffic.
- serde (v1.0.209) and serde_derive (v1.0.209): Used for serializing and deserializing data, crucial for configuration management and data storage.
- serde_json (v1.0.127): A JSON library for Rust, used to handle configuration files and data interchange.
Installation instructions will be provided as the project progresses.
As RFirewall is still under development, the initial functionality is limited but expanding. Here's how you can use the current features:
To start the firewall:
sudo rfirewall start
To stop the firewall:
sudo rfirewall stop
You can add custom rules to allow or deny traffic on specific ports and IPs. For example, to allow TCP traffic on port 80 from a specific IP:
sudo rfirewall add-rule --allow --port=80 --ip=192.168.1.1 --protocol=tcp
To deny UDP traffic on port 53 from a specific IP:
sudo rfirewall add-rule --deny --port=53 --ip=192.168.1.2 --protocol=udp
Soon.
RFirewall will be licensed under the MIT License. See the LICENSE file for more information once available.