Douane is a firewall that filter and limit the outgoing network traffic per application.
You can allow network traffic for some applications and deny network traffic for others.
How it is working
When Douane is started, it will watch the ougoing 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.
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.
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 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.
Finally the configurator allow you to edit the configuration (rules, load on boot, ...).
The twitter area on the right is my GtkTwitterBox.
Feature requests and Bug reporting
If you found a bug or have an idea to improve Douane your input is more than welcome!
Fill in a new Github issue in this project and I will have a look at it.
For the first release the application I didn't implemented so much features in order to keep it simple as possible in order to focus more on the stability of the application.
Now that the application is quite stable (let's see for bug report) I can implement new features so do not hesitate to ask!!
The entire project is 100% open source under the GPL v2 licence.
You can find the compilation/installation instruction in the wiki.