In a previous article I announced a release date that I’m not able to reach as I had a lot to do in February and is the same for this month.
I hope to finish it soon as it doesn’t remain so many things to do:
- Detect when application is killed/stopped in order to clean some information from the LKM
- Finish the GUI (show the rules)
- Change the start/stop button in order to ask root password to start/kill it
- Implement the license mechanism
Pour exécuter une commande en tant que root sans se connecter comme root il suffit de faire:
Le mot de passe root vous sera demandé, puis la commande sera exécuté comme root.
Mais maintenant que vous avez exécuté cette commande en tant que root, toutes les prochaine commandes pourront être exécuté comme root sans redemandé votre mot de passe (dépendant de votre configuration bien sur).
Alors comment annuler, avant la fin du temps autorisé, que les commandes lancé avec sudo ne demande plus le mot de passe ?
C’est très simple, il suffit de lancer ce qui suit:
I didn’t updated my blog since my latest article from the 14th of January because I worked a lot on my Douane project and also spent time to live
The main behavior to block a new application and ask to the user is he/she allow/deny it to connect to Internet is fully implemented!
Also another good news is that I have a release date!
Since 2 weeks I was having a close look at my progress to estimate if the first release of Douane could be finished for end of February and it looks good!
I already have a colleague from work that want to test it in order to help me. As soon as he will validate my work, I will submit my app to the Canonical team that is responsible to review it.
So here is the list of open point before to release testing version:
- Implement the save of Firewall rules into a file
- Crypt that file to protect you against bad things
- Implement application executable hashing (Until now I’m identifying it only by its path.)
- Implement license mechanism to sell my application
- Improve Question Window design
- Finalize the configuration application
- Fix all memory leaks (using valgrind and kedr)
Something to show us?
I will show you how looks like the Question Window as I named it, but keep in mind that is a first version and will evaluate.
As you can see I’m using a Notebook in order to have only one single window to not popup a lot of them that will boring you.
This window appear only when needed, and if you close it, it will re-appear as soon as an unknown application try to connect again.
Without taking care of the style, let me know what you think about it and if you have any suggestion.
A new article following all previous one to show you the very first screen shot!
I’m also speaking about it at coderwall.com.
I have created yesterday a twitter account for my application in order to inform all the world about my application and its updates. (Don’t forget to follow it!!)
Then I wrote a Twitter interface class to show the 5 latest tweets from that account (you will see it from the screen shot).
The only remain thing to finish the Twitter part is to implement the “since” whom is “5m” for all tweet currently…
The next step is to implement the switch to enable / disable the Firewall.
Something to show us?
I’m proud to show you the very first screen shot of DOUANE configurator:
Like I said in my previous article that I’m back on the development of my Linux Interactive Firewall project named Douane, I did a lot of progress.
So I’m sharing this with you
My stable Linux Kernel Module (LKM) written in C is passing network activities to the working daemon (named douaned and written in C++) who has a D-Bus server name org.zedroot.Douane publishing signals NewIncomingActivity and NewOutgoingActivity where I can connect using a Python project to receive all network activities.
Something to show us?
Still not as it is only terminal outputs, but the next big step is the GUI!
That means my next article should have first screenshots!
Also I would like to announce that I already registered Douane into the Ubuntu Software Center as a non-free application of a price of $7.
As soon as the first release will be done, I will submit my application to the review process.
But I’m not covering the case when you wants to use signals to connect object instance methods.
I created a Github repository boost-signal-example where I pushed a project demonstrating the described process.
After many months without any news (my latest article was written in February) about my project Douane (an interactive firewall for Linux), I’m posting this small article just to inform you about my progress.
The most important progress I did is the stability of the Linux Kernel Module.
Before it was not possible to use it out of a Virtual Box due to random freezes.
I have finally found the problem and fix it so that now I’m using it directly on my development machine.
The roadmap is now defined as the following:
- Implement a D-Bus server with at least a signal to receive network activities
- Create a new python project (as it looks like Python is the official language for Ubuntu ) in order to show the activities and to register rules
- Implement the dialog box to ask to the user when a new application try to connect to the outside.
When those points will be implemented, I will release a first version to the public, and start to promote my project.
Of course, the price will be very low, it’s just to have a first experience with making money with developed application.
In addition I still want to have the maximum of the application in open source.
After having upgraded my installed ImageMagick with homebrew, I was in trouble to install the gem rmagick…
The only way to not lost too much time was to revert to the previous version.
Navigate to your homebrew base directory (usually this is /usr/local) Example:
Enter brew versions FORMULANAME (FORMULANAME is the formula you want to install).
You will then get something like:
1.0.1 git checkout 1234567 Library/Formula/FORMULANAME.rb
1.0.0 git checkout 0123456 Library/Formula/FORMULANAME.rb ...
Choose the desired version and check it out via copy and paste of the desired version line (leave out the version number in the beginning).
Example for getting 1.0.0:
git checkout 0123456 Library/Formula/FORMULANAME.rb
brew install FORMULANAME
If Lynis list the following suggestion:
Default umask in /etc/profile could be more strict like 027 [test:AUTH-9328]
You will fix it by editing the file /etc/login.defs and changing the following line from 022 to 027:
(Was at line 151 for me)