Info 2 [GUIDE] Keepass2 with Keepasshttp on TF700 Lubuntu

Hey guys,

I struggled for a long time to get keepass2 to work on the TF700 Lubuntu and finally got it working, so I want to share with you so you don't have to go all the same way.

What is keepass?
With keepass2 you can store all your passwords in a strongly encrypted database. You can store this database on dropbox, google drive or an own ftp server (my choice) to keep it up-to-date on all devices all the time. Keepass integrates this solution very well. It integrates also perfectly with chromium. Once you unlock the database with one secure master password the username and password for the website you need are automatically typed in (just like if you saved them with chromiums built-in "save password" feature) But there is even a well maintained Android app and iOS app, so you are very independent.

How to get it to work?
Background:
Keepass relies on mono. Until version 3.4 mono used only soft float calculation (armel) but our Infinity is armhf (hard float). Since 3.4 it *should* work without modifications to the source. The newest version (3.8.1, I compiled it from git) started fine but had no Internet access at all. So I found a version of mono ported to support hard-float where everything works as expected, although it is an older version.

To install this version:
Open a terminal (In Lubuntu 12.04 v1.3 this can be done by pressing the "Touchpad enable/disable" button)
Code:
sudo apt-get install git-core
git clone git://github.com/directhex/mono-1.git
cd mono-1
git checkout remotes/origin/armhf-port
./autogen.sh --disable-mcs-build --prefix=/usr
make -CFLAGS=-DARM_FPU_VFP_HARD
sudo make install
Download this: https://mega.co.nz/#!Tcw3ABLb!ETpn4S...Nv8q0BdIZCvDZ8
Code:
cd /usr/lib
sudo tar -xvf ~/mono.tar.lzma
To test your installation this should be the output:

Code:
mono -V
Mono JIT compiler version 2.11.4 ((no/50bb5e4 Thu Aug 28 13:46:52 CEST 2014)
Copyright (C) 2002-2012 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
	TLS:           __thread
	SIGSEGV:       normal
	Notifications: epoll
	Architecture:  armel,vfp(hardfp-abi)
	Disabled:      none
	Misc:          softdebug 
	LLVM:          supported, not enabled.
	GC:            Included Boehm (with typed GC and Parallel Mark)
To install keepass:

Download the latest "Portable" zip from http://keepass.info and extract it to a folder of your desire (my choice was ~/.keepass2)
Keepass requires the locale settings to be C, otherwise the settings would not be saved after exit, so to start keepass create a file startkeepass.sh with following content:
Code:
#!/bin/bash
LC_ALL=C
mono ~/.keepass2/KeePass.exe
Make it executable (chmod 755 startkeepass.sh) and from now on you can start keepass by executing that script.

To install keepasshttp
Keepasshttp is used to connect Keepass with the chromium plugin chromeipass. The plgx file does not work, but following method works:
Code:
git clone git://github.com/pfn/keepasshttp.git
cd keepasshttp/mono
cp * ~/.keepass2/
To install ChromeIPass
In Chromium: Menu -> Tools -> Extensions -> Get more extensions
Search for ChromeIPass and install it.

Congratulations! You can now use Keepass2 to manage your passwords on your TF700!