Douane is a personal firewall that protects a user's privacy by allowing a user to control which applications can connect to the internet from their GNU/Linux computer.
You can allow network traffic for some applications and deny network traffic for others.
How it Works
When Douane is started, it will watch the outgoing network traffic and as soon as an unknown application tries to send some network packets, Douane will block it and ask you if you allow it or not.
The application is composed of multiple parts written in different programming languages. More Info »
This project is divided in multiple peaces in order to get it very flexible. In the following sections, the Git repository of the described part is available in the last line.
If you want to get more information about the Douane architecture, you can have a look to the Architecture Wiki page.
Linux kernel module
The Linux Kernel Module is the heart of Douane as it will catch outgoing network packets and find owning application.
Written in C, it use Netfilter to watch the network traffic.
The Github repository URL is https://github.com/Douane/douane-dkms .
This is the brain of Douane as it will ask you and remind your decisions to allow/deny network traffic.
Written in C++, it provide a D-Bus server in order to communicate with the other parts.
The Github repository URL is https://github.com/Douane/douane-daemon .
The dialog process is the window which is appearing when an unknown activity has been detected. It is written in GTK 3 for the official project.
The Github repository URL of the Douane version is https://github.com/Douane/douane-dialog . (The dialog process could be written in any languages, for any UI, until it follows the D-Bus implementation).
Finally the configurator allow you to edit the configuration (rules, load on boot, ...).