Rewrite of PurpleI2P for graphical applications