HowTo setup ProFTPd an Users

Thursday, 3. December 2015

Install proftpd

sudo apt-get install proftpd

Add this line in /etc/shells file (sudo nano /etc/shells)


Create the folders an the user

sudo mkdir /home/www/userdir

sudo useradd userftp -p your_password -d /home/www/userdir -s /bin/false -G ftpusers

sudo passwd userftp /home/www/userdir

sudo chown userftp:ftpusers

Change your configuration according to your needs

cat /etc/proftpd/proftpd.conf

Include /etc/proftpd/modules.conf
UseIPv6 on
IdentLookups off
ServerName “”
ServerType standalone
DeferWelcome off
MultilineRFC2228 on
DefaultServer on
ShowSymlinks on
TimeoutNoTransfer 600
TimeoutStalled 600
TimeoutIdle 1200
DisplayLogin welcome.msg
DisplayChdir .message true
ListOptions “-l”
DenyFilter \*.*/
RequireValidShell off
TimeoutLogin 20
RootLogin off
UseFtpUsers off
AllowStoreRestart on

# Lock all the users in home directory, ***** really important *****
DefaultRoot ~
Port 21
<IfModule mod_dynmasq.c>
MaxInstances 30
User proftpd
Group nogroup
Umask 022 022
MaxClients 40
MaxClientsPerHost 40
MaxClientsPerUser 40
MaxHostsPerUser 40

AllowOverwrite on

Enabling WoL in the NIC

Thursday, 3. December 2015

copied from the Ubuntu Wiki:

Determining whether the NIC supports WoL

First, determine which NIC will be used, and then check whether it supports the Magic Packet™ using

sudo ethtool <NIC>

where <NIC> is the device name of your NIC, e.g. eth0. This command will output some information about your the capabilities of your NIC. If this output contains a line similar to the following:

Supports Wake-on: <letters>

where <letters> contains the letter g, the NIC should support the WoL Magic Packet™ method (for the other letters look at man ethtool).

Enabling WoL in the NIC

To check whether WoL is enabled in the NIC, one could use

sudo ethtool <NIC>

and look for

Wake-on: <letters>

If <letters> contains g and not d, then Magic Packet™ is enabled. However, if <letters> does contain d, WoL needs to be enabled by running the following command:

sudo ethtool -s <NIC> wol g

On most systems, issuing this command is required after each boot. If the system’s networking is configured via ifupdown, then it is easy to add the line up ethtool -s <NIC> wol g below the interface’s configuration stanza in /etc/network/interfaces. For example:

shahar@shahar-backup:~$ cat /etc/network/interfaces

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface

auto lo
iface lo inet loopback
# The primary network interface

auto eth0
iface eth0 inet static
        up ethtool -s eth0 wol g

This will ensure that WoL is enabled in the NIC on each boot. Fore more information see the interfaces manual.

Testing Wake-On-LAN

Test WoL by powering off the system and trying to send it the magic packet using:

cool cows on ice

Tuesday, 14. April 2015

i just released my first html5 android game (ever)


it is called “cool cows on ice” and features a cow (obviously) and some crazy kamikaze penguins that may, or may not help you finish a level…

you can touch and hold the cow and then throw it as precisely as you can into the target area.

the game is build completely with the amazing phaser.js framework and p2 physics
i used crosswalk 10 and intel xdk to package it
it also has ads (one interstitial in the menu – only once) and non-intrusive banners in the score screen – and the option to remove them
almost all the graphics and animations are created in gimp
the audio tracks are composed by good friend of mine (dj körner)

here is a screenshot:


and here the promo video :

cool cows on ice (google playstore)


thx for downloading and rating 🙂

minimize you js files with closure-compiler

Tuesday, 7. April 2015

closure-compiler is part of every modern linux distribution. if it’s not installed hit “sudo apt install closure-compiler” in a terminal and press enter 🙂


to minimize your js file you can now write:

closure-compiler --js game.js --js_output_file game.min.js --language_in ES5 --compilation_level SIMPLE_OPTIMIZATIONS

this will minify your javascript file named “game.js” and store it as “game.min.js” in the same folder

the –language part makes sure that it runs through (in my case) even with some “reserved” names as custom variable names..   (i am using the phaser framework and “static” for example is a common (otherwise not allowed) name for an attribute)


using advanced_optimations instead of simple_optimations would lead to a more obfuscated output but is not working properly if you include several other js files because it’s heavily renaming everything – starting with classes, methods, attributes, etc.





Install Adobe Reader 9.5.5 in Kubuntu 15.04 vivid (and older)

Thursday, 5. March 2015

Adobe reader is no longer available for linux via the adobe website.

if you need for example pdfs with forms working properly you are unfortunately still going to need the original.

the version 9.5.5 is still available in old canonical repositories and it works 🙂




sudo add-apt-repository 'deb precise partner'
sudo apt-get update
sudo apt-get install acroread

after installing adobe reader remove the repository again!

sudo add-apt-repository -r 'deb precise partner'
sudo apt-get update

Windows beats iOS and OS X and Linux and becomes the most vulnerable operating system of 2014

Tuesday, 24. February 2015

This is meant as response to all those Blogs that constantly repost the bullshit-comparison-chart that GFI “invented” – especially to this one.

Here is a more accurate chart:


FYI – bugs like shellshock (bash) seem to be included in the linux-kernel numbers which is of course total nonsense but i managed to resist adding the Internet Explorer vulnerabilities (242) to the numbers. I didn’t want to offend windows users. ; )


Please stop comparing public vulnerabilities of different importance of opensource systems to closed source systems. Guess why the number of LOW vulnerabilities is ? (or 0 in the original chart) – because the author doesn’t know… did you really think there wasn’t even ONE single unimportant flaw in windows fixed in 2014 ?


This reminds me of the “average zero-day response time” chart of 2012 where they just happened to include already fixed bugs in linux just because the current ones were related to them to tweak the numbers…

planned or accidentally – this totally fits in to microsofts strategy to control the mindshare:

quote from an internal MS document:
“[t]o control mental output you have to control mental input. Take control of the channels by which developers receive information, then they can only think about the things you tell them. Thus, you control mindshare!”


encode video for web

Sunday, 19. October 2014

  • OGG/Theora
    avconv -i \
      -acodec libvorbis -ac 2 -ab 96k -ar 44100 \
      -b 345k -s 640x360 output.ogv


  • WebM/vp8
    avconf -i \
      -acodec libvorbis -ac 2 -ab 96k -ar 44100 \
      -b 345k -s 640x360 output.webm


Video are resized to 640×360 with a bitrate of 345k.

Build Phaser dev branch (html5 game dev framework) with node and grunt on ubuntu

Sunday, 3. August 2014

sudo apt-get install git

this installs git on your pc

git clone -b dev

do this to get the latest phaser source of the dev branch

sudo apt-get install npm

install node

sudo npm install -g grunt-cli

install grunt commandline interface

 npm install

in your phaser directory to pick up the node packages that phaser uses

sudo ln -s /usr/bin/nodejs /usr/bin/node

do this to compensate for a ubuntu naming error


build phaser  and grab your new phaser js file(s) under ./dist/   🙂


glhf !

German spellchecking in KDE Plasma

Monday, 30. June 2014

if you have an english installation but work in europe/germany/austria you eventually may want to  use  a german spellchecker

systemsettings – locale – spellchecker  only lists the english  language


you need to install the aspell and maybe (for libre office) hunspell packages:

sudo apt-get install hunspell-de-de aspell-de

Installing Nginx with PHP on (k)ubuntu

Sunday, 15. June 2014

sudo apt-get install php5-common php5-cli php5-fpm

sudo apt-get install nginx

sudo service nginx start

Test that it’s working (should see “Welcome to nginx!”)

sudo service nginx stop

In your nginx site configuration (/etc/nginx/sites-available/default) scroll down to where it says “location ~ .php {” and uncomment lines so it looks like this:

location ~ \.php$ {
  fastcgi_split_path_info ^(.+\.php)(/.+)$
  fastcgi_pass unix:/var/run/php5-fpm.sock;
  fastcgi_index index.php;
  include fastcgi_params;


if you are using kubuntu 16.04 with php5 those lines should look like this:


location ~ \.php$ {  
        fastcgi_split_path_info ^(.+\.php)(/.+)$;   
        fastcgi_pass unix:/var/run/php5-fpm.sock; 
        include fastcgi_params;         
        include snippets/fastcgi-php.conf; 


and then:

sudo service php5-fpm restart
sudo service nginx restart

Your default web root is located at /usr/share/nginx/www (per the config file). (See root /usr/share/nginx/www;)

You could change it to root /home/user/webroot;


To enabel autoindex on nginx add:

autoindex on;

to your location section