Skip to content

Web interface for easy use of the IPTables firewall on Linux systems written in Python3.

License

Notifications You must be signed in to change notification settings

maido-39/easywall

 
 

Repository files navigation

easywall GitHub Actions Build Coveralls github GitHub license

Release Version Python Version Repo Size Release Status Security Headers Discord Support Beerpay

Pypi Download APT Download GitHub Download


Firewalls are becoming increasingly important in today's world. Hackers and automated scripts are constantly trying to invade your system and use it for Bitcoin mining, botnets or other things.

To prevent these attacks, you can use a firewall on your system. IPTables is the strongest firewall in Linux because it can filter packets in the kernel before they reach the application. Using IPTables is not very easy for Linux beginners. We have created easywall - the simple IPTables web interface. The focus of the software is on easy installation and use.

Home Screen


Demo

You can view an online version of the program as a demo under the following link:

https://dev01vt.wdkro.de:12227/ (Certificate is provided by Let's Encrypt)

  • Username: demo
  • Password: demo

The online demo version is reset every 30 minutes and all data is deleted. The demo has only the frontend installed without the backend. Configuration changes are therefore not saved or applied.


Quick Start

This guide refers to the easiest way to install using the APT Package Manager. For detailed installation instructions, please refer to the documentation.

apt update
apt install -y apt-transport-https gnupg
echo "deb https://apt.wdkro.de/ stable main" > /etc/apt/sources.list.d/easywall.list
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys D88D7689C1624EE3
apt update
apt install easywall

After installation, the web interface can be accessed in the browser at https://hostname-or-ip-address:12227.


Features

  • Built-in rules - that can be activated by option.
  • Logging - of blocked connections and many other stuff.
  • IPv6 - is completely supported since it should be used on every system.
  • Two step activation - Changed rules are activated in two steps to check the connection.
  • Blacklisting and Whitelisting - of IP addresses and IPv6 addresses.
  • Port Forewarding - Forward Ports through the Firewall.
  • TCP, UDP and Port Ranges - Open them if you need them in the internet.
  • Own IPTables rules - Can be managed in the web interface.
  • Install and Update - The software can be installed and updated easily.
  • Ansible role- For advanced users and automation.

Roadmap

The following features will be implemented in one of the next versions. If you need a feature, simply create a GitHub issue, and we'll include it here.

  • ❌ finish all TODO: Docs documentations
  • ❌ improve testing by using multiple os

Install

We provide extensive instructions on our installation page. You can find a script for automatic downloading and installation.


Ansible Role

We are currently working on an Ansible role that will allow easywall to be fully configured with Ansible.

The project can be found under the following link: ansible-role-easywall


Documentation

Check the docs folder for the software documentation.


License

easywall is GNU General Public License v3.0 +.


Support me

The project easywall was created in a time when I did not have any knowledge about Linux. Today I work as an administrator for Linux systems and would not need this project anymore. Nevertheless it is important to me to support the introduction to Linux and the use and simplification of firewalls.

To continue the project, I need your support! Please donate so that I can continue the project in my spare time. Every dollar counts! You can find a donation link on GitHub.


What does it look like

Screenshot 1 Screenshot 2 Screenshot 3 Screenshot 4 Screenshot 5 Screenshot 6 Screenshot 7 Screenshot 8 Screenshot 9

About

Web interface for easy use of the IPTables firewall on Linux systems written in Python3.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 48.2%
  • HTML 43.5%
  • Shell 7.0%
  • Other 1.3%