diff --git a/website/EN/usage.html b/website/EN/usage.html index 6a8b8c1e..4cfc45ab 100644 --- a/website/EN/usage.html +++ b/website/EN/usage.html @@ -4,7 +4,7 @@ - + @@ -660,17 +660,206 @@ Make sure that "show only subscribed folders" is not checked. Then click -
-

K9 Android client

-
+
+

K9 Android client

+
+
+

A point about GPG on Android

+

-NOTE: Currently the K9 email client will not work with the Freedombone since it doesn't support PGP/MIME encoding. However, there is development work taking place on that feature and it is hoped that K9 may be usable in the near future. +Before trying to set up email on Android you may want to consider whether you really need to do this. Android (and its variants) is not a particularly secure operating system and whether or not you wish to store GPG keys on it depends on your threat model and in what situations you'll be using your device. +

+ +

+If you are going to use email on an Android device then ensure that you have full encryption enabled via the security settings, so that if you subsequently lose it, or if it gets stolen, the chances of encryption keys being exposed are minimised.

- +
-

Incoming server settings

+

Compiling the development version

+

+To get K9 working with Freedombone you'll need to install development versions of OpenKeychain and K9. At the time of writing the versions available in F-Droid do not support PGP/MIME or the "hidden recipient" feature of GPG. It is hoped that at some stage the patches will be integrated into the mainline or functionally equivalent changes made. Admittedly, this is not at all user friendly, but currently it's the only way to read Freedombone email on Android systems. +

+ +

+Build script for OpenKeychain: +

+ +
+ +
#!/bin/bash
+
+# This script is intended to be used on Debian systems for building
+# the project. It has been tested with Debian 8
+
+USERNAME=$USER
+SIGNING_NAME='openkeychain'
+SDK_VERSION='r23.3.4'
+SDK_DIR=$HOME/android-sdk
+
+cd ..
+
+PROJECT_HOME=$(pwd)
+
+sudo apt-get install build-essential default-jdk \
+     lib32stdc++6 lib32z1 lib32z1-dev
+
+if [ ! -d $SDK_DIR ]; then
+    mkdir -p $SDK_DIR
+fi
+cd $SDK_DIR
+
+# download the SDK
+if [[ ! -f $SDK_DIR/android-sdk_$SDK_VERSION-linux.tgz ]]; then
+    wget https://dl.google.com/android/android-sdk_$SDK_VERSION-linux.tgz
+fi
+tar -xzvf android-sdk_$SDK_VERSION-linux.tgz
+SDK_DIR=$SDK_DIR/android-sdk-linux
+
+echo 'Check that you have the SDK tools installed for Android 22, SDK 21.1.2'
+
+export ANDROID_HOME=$SDK_DIR
+echo "sdk.dir=$SDK_DIR" > $ANDROID_HOME/local.properties
+export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
+
+cd $SDK_DIR/tools
+./android sdk
+
+if [ ! -f $SDK_DIR/tools/android ]; then
+    echo "$SDK_DIR/tools/android not found"
+    exit -1
+fi
+cd $SDK_DIR
+chmod -R 0755 $SDK_DIR
+chmod a+rx $SDK_DIR/tools
+
+# android sdk
+cd $PROJECT_HOME
+git submodule init && git submodule update
+
+if [ ! -f $SDK_DIR/tools/templates/gradle/wrapper/gradlew ]; then
+    echo "$SDK_DIR/tools/templates/gradle/wrapper/gradlew not found"
+    exit -2
+fi
+. $PROJECT_HOME/gradlew assembleDebug
+
+# cleaning up
+cd $PROJECT_HOME/OpenKeychain/build/outputs/apk
+if [ ! -f OpenKeychain-debug.apk ]; then
+    echo 'OpenKeychain-debug.apk was not found'
+    exit -3
+fi
+
+echo 'Build script ended successfully'
+echo -n 'apk is available at: '
+echo "$PROJECT_HOME/OpenKeychain/build/outputs/apk/OpenKeychain-debug.apk"
+exit 0
+
+
+ +

+Build script for K9: +

+ +
+ +
#!/bin/bash
+
+# This script is intended to be used on Debian systems for building
+# the project. It has been tested with Debian 8
+
+USERNAME=$USER
+SIGNING_NAME='k-9'
+SDK_VERSION='r24.3.3'
+SDK_DIR=$HOME/android-sdk
+
+cd ..
+
+PROJECT_HOME=$(pwd)
+
+sudo apt-get install build-essential default-jdk \
+     lib32stdc++6 lib32z1 lib32z1-dev
+
+if [ ! -d $SDK_DIR ]; then
+    mkdir -p $SDK_DIR
+fi
+cd $SDK_DIR
+
+# download the SDK
+if [ ! -f $SDK_DIR/android-sdk_$SDK_VERSION-linux.tgz ]; then
+    wget https://dl.google.com/android/android-sdk_$SDK_VERSION-linux.tgz
+    tar -xzvf android-sdk_$SDK_VERSION-linux.tgz
+fi
+SDK_DIR=$SDK_DIR/android-sdk-linux
+
+echo 'Check that you have the SDK tools installed for Android 17, SDK 19.1'
+if [ ! -f $SDK_DIR/tools/android ]; then
+    echo "$SDK_DIR/tools/android not found"
+    exit -1
+fi
+cd $SDK_DIR
+chmod -R 0755 $SDK_DIR
+chmod a+rx $SDK_DIR/tools
+
+ANDROID_HOME=$SDK_DIR
+echo "sdk.dir=$SDK_DIR" > $ANDROID_HOME/local.properties
+PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
+
+android sdk
+cd $PROJECT_HOME
+
+if [ ! -f $SDK_DIR/tools/templates/gradle/wrapper/gradlew ]; then
+    echo "$SDK_DIR/tools/templates/gradle/wrapper/gradlew not found"
+    exit -2
+fi
+. $PROJECT_HOME/gradlew assembleDebug
+
+# cleaning up
+cd $PROJECT_HOME/k9mail/build/outputs/apk
+if [ ! -f k9mail-debug.apk ]; then
+    echo 'k9mail-debug.apk was not found'
+    exit -3
+fi
+echo 'Build script ended successfully'
+echo -n 'apk is available at: '
+echo "$PROJECT_HOME/k9mail/build/outputs/apk/k9mail-debug.apk"
+exit 0
+
+
+
+
+ +
+

Import your GPG key into OpenKeychain

+
+

+With your device connected to a laptop via USB cable and with USB debugging enabled on it: +

+ +
+ +
ssh username@domainname -p 2222
+gpg --list-keys username@domainname
+gpg --output ~/public_key.gpg --armor --export KEY_ID
+gpg --output ~/private_key.gpg --armor --export-secret-key KEY_ID
+cat ~/public_key.gpg ~/private_key.gpg > ~/mygpgkey.asc
+exit
+scp -P 2222 username@domainname:/home/username/mygpgkey.asc ~/
+sudo apt-get install android-tools-adb
+push ~/mygpgkey.asc /sdcard/
+shred -zu ~/mygpgkey.asc
+
+
+ +

+Then on your device select OpenKeychain and import your key from file. +

+
+
+
+

Incoming server settings

+
  • Select settings/account settings
  • Select Fetching mail/incoming server
  • @@ -682,9 +871,9 @@ Make sure that "show only subscribed folders" is not checked. Then click
-
-

Outgoing (SMTP) server settings

-
+
+

Outgoing (SMTP) server settings

+
  • Select settings/account settings
  • Select Sending mail/outgoing server
  • @@ -697,9 +886,21 @@ Make sure that "show only subscribed folders" is not checked. Then click
-
-

Folders

-
+
+

Crypto settings

+
+

+Select settings, Account settings, OpenKeychain and then select your key and press Allow. You should now be able to decrypt emails by entering your GPG passphrase. +

+ +

+You may also want to change the amount of time for which passwords are remembered, so that you don't need to enter your passphrase very often. +

+
+
+
+

Folders

+

To view any new folders which you may have created using the mailinglistrule script from your inbox press the K9 icon at the top left to access folders, then press the menu button and select refresh folder list.

@@ -711,9 +912,9 @@ If your folder still doesn't show up then press the menu button, select <
-
-

Subscribing to mailing lists

-
+
+

Subscribing to mailing lists

+

To subscribe to a mailing list log in as your user (i.e. not the root user).

@@ -731,9 +932,9 @@ The subject tag should be the word or phrase which appears within the brackets i

-
-

Adding email addresses to a group/folder

-
+
+

Adding email addresses to a group/folder

+

Similar to adding mailing list folders you can also add specified email addresses into a group/folder.

@@ -752,9 +953,9 @@ The group name should be something short so that it is readable within the left
-
-

Ignoring incoming emails

-
+
+

Ignoring incoming emails

+

It is possible to ignore incoming emails if they are from a particular email address or if the subject line contains particular text.

@@ -810,9 +1011,9 @@ Tip: When using the Mutt email client if you want to send an email in cleartext

Syncing to the Cloud

-
-

Initial install

-
+
+

Initial install

+

Within a browser go to your owncloud domain, then create an administrator account. The username and password can be anything, and ideally should be generated from a password manager.

@@ -856,9 +1057,9 @@ Log out from the administrator account and then log back in as the user you just

-
-

On Android

-
+
+

On Android

+

Within F-droid search for owncloud and install the client. Also install CalDAV Sync Adapter.

@@ -882,9 +1083,9 @@ You will also be prompted to enter login details. Your Android and Owncloud cale

-
-

On Linux

-
+
+

On Linux

+

Open your software center and search for "owncloud client". Enter your owncloud domain name (with the https prefix) and login details.

@@ -898,9 +1099,9 @@ You can now drag files into the ~/owncloud directory and they will automa

Play Music

-
-

With the DLNA service

-
+
+

With the DLNA service

+

An easy way to play music on any mobile device in your home is to use the DLNA service. Copy your music into a directory called "Music" on a USB thumb drive and then insert it into from socket on the Beaglebone.

@@ -940,9 +1141,9 @@ The DLNA service will only work within your local home network, and isn't remote
-
-

With Owncloud

-
+
+

With Owncloud

+

The main advantage of playing music via Owncloud is that you can do that from anywhere - not only within your home network.

@@ -957,9 +1158,9 @@ By default a music player is installed into Owncloud, so all you need to do is t

Microblogging

-
-

Initial configuration

-
+
+

Initial configuration

+

To set up your microblog go to:

@@ -1070,9 +1271,9 @@ When the install is complete you will see a lot of warnings but just ignore thos

Social Network

-
-

Certificates

-
+
+

Certificates

+

You will need to have a non self-signed SSL certificate in order to use Hubzilla. Put the public certificate in /etc/ssl/certs/yourhubzilladomainname.crt and the private certificate in /etc/ssl/private/yourhubzilladomainname.key. If there is an intermediate certificate needed (such as with StartSSL) then this will need to be concatenated onto the end of the crt file, like this:

@@ -1089,9 +1290,9 @@ Then change ssl_certificate to /etc/ssl/certs/yourhubzilladomainname.bundle.c

-
-

Initial install

-
+
+

Initial install

+

Visit the URL of your Hubzilla site and you should be taken through the rest of the installation procedure. Note that this may take a few minutes so don't be concerned if it looks as if it has crashed - just leave it running.

@@ -1105,16 +1306,16 @@ When installation is complete you can register a new user.

Chat Services

-
-

IRC

-
+
+

IRC

+

IRC is useful for multi-user chat. The classic use case is for software development where many engineers might need to coordinate their activities, but it's also useful for meetings, parties and general socialising.

-
-

Irssi

-
+
+

Irssi

+

If you are using the irssi IRC client then you can use the following commands to connect to your IRC server.

@@ -1128,9 +1329,9 @@ If you are using the irssi IRC client then y
-
-

XChat

-
+
+

XChat

+

If you are using the XChat client:

@@ -1166,12 +1367,12 @@ Click close and then connect.
-
-

XMPP/Jabber

-
-
-

Managing users

-
+
+

XMPP/Jabber

+
+
+

Managing users

+

To add a user:

@@ -1230,9 +1431,9 @@ prosodyctl status
-
-

Using with Jitsi

-
+
+

Using with Jitsi

+

Jitsi is the recommended communications client for desktop or laptop systems, since it includes the off the record (OTR) feature which provides some additional security beyond the usual SSL certificates.

@@ -1262,9 +1463,9 @@ You can also see this vide

-
-

Using with Ubuntu

-
+
+

Using with Ubuntu

+

The default XMPP client in Ubuntu is Empathy. Using Empathy isn't as secure as using Jitsi, since it doesn't include the off the record feature, but since it's the default it's what many users will have easy access to.

@@ -1282,9 +1483,9 @@ Click on Advanced and make sure that Encryption required and Ig

-
-

Using with Android

-
+
+

Using with Android

+

Install F-Droid

@@ -1311,16 +1512,16 @@ Go back to the initial screen and then using the menu you can add contacts and b
-
-

Tox

-
+
+

Tox

+

Tox is an encrypted peer-to-peer messaging system and so should work without Freedombone. It uses a system of nodes which act as a sort of directory service allowing users to find and connect to each other. The Tox node ID on the Freedombone can be found within the README within your home directory. If you have other users connect to your node then you will be able to continue chatting even when no other nodes are available.

-
-

Using the Toxic client

-
+
+

Using the Toxic client

+

To connect to your node use the command:

@@ -1333,12 +1534,12 @@ To connect to your node use the command:
-
-

VoIP (Voice chat)

-
-
-

Using with Ubuntu

-
+
+

VoIP (Voice chat)

+
+
+

Using with Ubuntu

+

Within the software center search for "mumble" and install the client then run it. Skip through the audio setup wizard.

@@ -1352,9 +1553,9 @@ Click on "add new" to add a new server and enter the default domain name for the

-
-

Using with Android

-
+
+

Using with Android

+

Install F-Droid