diff --git a/doc/EN/backups.org b/doc/EN/backups.org index 2f50d864..078dcd29 100644 --- a/doc/EN/backups.org +++ b/doc/EN/backups.org @@ -1,6 +1,6 @@ #+TITLE: #+AUTHOR: Bob Mottram -#+EMAIL: bob@robotics.uk.to +#+EMAIL: bob@freedombone.net #+KEYWORDS: freedombox, debian, beaglebone, red matrix, email, web server, home server, internet, censorship, surveillance, social network, irc, jabber #+DESCRIPTION: Turn the Beaglebone Black into a personal communications server #+OPTIONS: ^:nil toc:nil diff --git a/doc/EN/code.org b/doc/EN/code.org index 87ea80ff..87a96e54 100644 --- a/doc/EN/code.org +++ b/doc/EN/code.org @@ -1,6 +1,6 @@ #+TITLE: #+AUTHOR: Bob Mottram -#+EMAIL: bob@robotics.uk.to +#+EMAIL: bob@freedombone.net #+KEYWORDS: freedombox, debian, beaglebone, red matrix, email, web server, home server, internet, censorship, surveillance, social network, irc, jabber #+DESCRIPTION: Turn the Beaglebone Black into a personal communications server #+OPTIONS: ^:nil toc:nil diff --git a/doc/EN/controlpanel.org b/doc/EN/controlpanel.org index 856e1b7a..06274865 100644 --- a/doc/EN/controlpanel.org +++ b/doc/EN/controlpanel.org @@ -1,6 +1,6 @@ #+TITLE: #+AUTHOR: Bob Mottram -#+EMAIL: bob@robotics.uk.to +#+EMAIL: bob@freedombone.net #+KEYWORDS: freedombox, debian, beaglebone, red matrix, email, web server, home server, internet, censorship, surveillance, social network, irc, jabber #+DESCRIPTION: Control Panel #+OPTIONS: ^:nil toc:nil diff --git a/doc/EN/devguide.org b/doc/EN/devguide.org index 89bf875f..b809ee85 100644 --- a/doc/EN/devguide.org +++ b/doc/EN/devguide.org @@ -1,6 +1,6 @@ #+TITLE: #+AUTHOR: Bob Mottram -#+EMAIL: bob@robotics.uk.to +#+EMAIL: bob@freedombone.net #+KEYWORDS: freedombox, debian, beaglebone, red matrix, email, web server, home server, internet, censorship, surveillance, social network, irc, jabber #+DESCRIPTION: Turn the Beaglebone Black into a personal communications server #+OPTIONS: ^:nil toc:nil diff --git a/doc/EN/faq.org b/doc/EN/faq.org index 68b4e1f2..5bf77953 100644 --- a/doc/EN/faq.org +++ b/doc/EN/faq.org @@ -1,6 +1,6 @@ #+TITLE: #+AUTHOR: Bob Mottram -#+EMAIL: bob@robotics.uk.to +#+EMAIL: bob@freedombone.net #+KEYWORDS: freedombox, debian, beaglebone, hubzilla, email, web server, home server, internet, censorship, surveillance, social network, irc, jabber #+DESCRIPTION: Frequently asked questions #+OPTIONS: ^:nil toc:nil diff --git a/doc/EN/homeserver.org b/doc/EN/homeserver.org index 093a4cc8..f511100a 100644 --- a/doc/EN/homeserver.org +++ b/doc/EN/homeserver.org @@ -1,6 +1,6 @@ #+TITLE: #+AUTHOR: Bob Mottram -#+EMAIL: bob@robotics.uk.to +#+EMAIL: bob@freedombone.net #+KEYWORDS: freedombox, debian, beaglebone, red matrix, email, web server, home server, internet, censorship, surveillance, social network, irc, jabber #+DESCRIPTION: Turn the Beaglebone Black into a personal communications server #+OPTIONS: ^:nil toc:nil diff --git a/doc/EN/index.org b/doc/EN/index.org index 4b1da9ef..8aeba91a 100644 --- a/doc/EN/index.org +++ b/doc/EN/index.org @@ -1,6 +1,6 @@ #+TITLE: #+AUTHOR: Bob Mottram -#+EMAIL: bob@robotics.uk.to +#+EMAIL: bob@freedombone.net #+KEYWORDS: freedombox, debian, beaglebone, red matrix, email, web server, home server, internet, censorship, surveillance, social network, irc, jabber #+DESCRIPTION: Turn the Beaglebone Black into a personal communications server #+OPTIONS: ^:nil toc:nil diff --git a/doc/EN/installation.org b/doc/EN/installation.org index be2b4577..f3492586 100644 --- a/doc/EN/installation.org +++ b/doc/EN/installation.org @@ -1,6 +1,6 @@ #+TITLE: #+AUTHOR: Bob Mottram -#+EMAIL: bob@robotics.uk.to +#+EMAIL: bob@freedombone.net #+KEYWORDS: freedombox, debian, beaglebone, hubzilla, email, web server, home server, internet, censorship, surveillance, social network, irc, jabber #+DESCRIPTION: Turn the Beaglebone Black into a personal communications server #+OPTIONS: ^:nil toc:nil diff --git a/doc/EN/mesh.org b/doc/EN/mesh.org index 69a8ca8a..f500cd85 100644 --- a/doc/EN/mesh.org +++ b/doc/EN/mesh.org @@ -1,6 +1,6 @@ #+TITLE: #+AUTHOR: Bob Mottram -#+EMAIL: bob@robotics.uk.to +#+EMAIL: bob@freedombone.net #+KEYWORDS: freedombox, debian, beaglebone, red matrix, email, web server, home server, internet, censorship, surveillance, social network, irc, jabber #+DESCRIPTION: Turn the Beaglebone Black into a personal communications server #+OPTIONS: ^:nil toc:nil diff --git a/doc/EN/mirrors.org b/doc/EN/mirrors.org index 4f8a1158..f3f47737 100644 --- a/doc/EN/mirrors.org +++ b/doc/EN/mirrors.org @@ -1,6 +1,6 @@ #+TITLE: #+AUTHOR: Bob Mottram -#+EMAIL: bob@robotics.uk.to +#+EMAIL: bob@freedombone.net #+KEYWORDS: freedombox, debian, beaglebone, red matrix, email, web server, home server, internet, censorship, surveillance, social network, irc, jabber #+DESCRIPTION: Mirroring git repositories #+OPTIONS: ^:nil toc:nil diff --git a/doc/EN/mobile.org b/doc/EN/mobile.org index 6e83eeee..1a947eec 100644 --- a/doc/EN/mobile.org +++ b/doc/EN/mobile.org @@ -1,6 +1,6 @@ #+TITLE: #+AUTHOR: Bob Mottram -#+EMAIL: bob@robotics.uk.to +#+EMAIL: bob@freedombone.net #+KEYWORDS: freedombox, debian, beaglebone, red matrix, email, web server, home server, internet, censorship, surveillance, social network, irc, jabber #+DESCRIPTION: Turn the Beaglebone Black into a personal communications server #+OPTIONS: ^:nil toc:nil diff --git a/doc/EN/related.org b/doc/EN/related.org index ea69fd08..b9a64e93 100644 --- a/doc/EN/related.org +++ b/doc/EN/related.org @@ -1,6 +1,6 @@ #+TITLE: #+AUTHOR: Bob Mottram -#+EMAIL: bob@robotics.uk.to +#+EMAIL: bob@freedombone.net #+KEYWORDS: freedombox, debian, beaglebone, hubzilla, email, web server, home server, internet, censorship, surveillance, social network, irc, jabber #+DESCRIPTION: Turn the Beaglebone Black into a personal communications server #+OPTIONS: ^:nil toc:nil diff --git a/doc/EN/support.org b/doc/EN/support.org index 32269685..f5e6984b 100644 --- a/doc/EN/support.org +++ b/doc/EN/support.org @@ -1,6 +1,6 @@ #+TITLE: #+AUTHOR: Bob Mottram -#+EMAIL: bob@robotics.uk.to +#+EMAIL: bob@freedombone.net #+KEYWORDS: freedombox, debian, beaglebone, red matrix, email, web server, home server, internet, censorship, surveillance, social network, irc, jabber #+DESCRIPTION: Turn the Beaglebone Black into a personal communications server #+OPTIONS: ^:nil toc:nil @@ -26,7 +26,7 @@ This site can also be accessed via a Tor browser at *http://2tp3f6vtvhkqpuc6.oni *PGP/GPG Fingerprint:* D538 1159 CD7A 2F80 2F06 ABA0 0452 CC7C EA98 2E38 -*XMPP:* bob@robotics.uk.to with OTR +*XMPP:* bob@freedombone.net with OMEMO or OTR *Tox:* 82DD53788AB400843BC75EA96B62DD6C76D2B13E476B995B13C49920A3C8FD32E5365A82FA83 diff --git a/doc/EN/usage.org b/doc/EN/usage.org index 2c1dd839..7cd9861f 100644 --- a/doc/EN/usage.org +++ b/doc/EN/usage.org @@ -1,6 +1,6 @@ #+TITLE: #+AUTHOR: Bob Mottram -#+EMAIL: bob@robotics.uk.to +#+EMAIL: bob@freedombone.net #+KEYWORDS: freedombox, debian, beaglebone, hubzilla, email, web server, home server, internet, censorship, surveillance, social network, irc, jabber #+DESCRIPTION: Turn the Beaglebone Black into a personal communications server #+OPTIONS: ^:nil toc:nil diff --git a/doc/EN/usage_email.org b/doc/EN/usage_email.org index a43361ce..f9e7e101 100644 --- a/doc/EN/usage_email.org +++ b/doc/EN/usage_email.org @@ -1,6 +1,6 @@ #+TITLE: #+AUTHOR: Bob Mottram -#+EMAIL: bob@robotics.uk.to +#+EMAIL: bob@freedombone.net #+KEYWORDS: freedombox, debian, beaglebone, hubzilla, email, web server, home server, internet, censorship, surveillance, social network, irc, jabber #+DESCRIPTION: Turn the Beaglebone Black into a personal communications server #+OPTIONS: ^:nil toc:nil diff --git a/doc/EN/variants.org b/doc/EN/variants.org index cfca0314..a2bab6ab 100644 --- a/doc/EN/variants.org +++ b/doc/EN/variants.org @@ -1,6 +1,6 @@ #+TITLE: #+AUTHOR: Bob Mottram -#+EMAIL: bob@robotics.uk.to +#+EMAIL: bob@freedombone.net #+KEYWORDS: freedombox, debian, beaglebone, red matrix, email, web server, home server, internet, censorship, surveillance, social network, irc, jabber #+DESCRIPTION: Turn the Beaglebone Black into a personal communications server #+OPTIONS: ^:nil toc:nil diff --git a/src/freedombone b/src/freedombone index bf9adcce..59633bda 100755 --- a/src/freedombone +++ b/src/freedombone @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-addcert b/src/freedombone-addcert index 37ade52a..e49492c6 100755 --- a/src/freedombone-addcert +++ b/src/freedombone-addcert @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2015-2016 Bob Mottram +# Copyright (C) 2015-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-addemail b/src/freedombone-addemail index cb9ae307..c4f7d22e 100755 --- a/src/freedombone-addemail +++ b/src/freedombone-addemail @@ -14,7 +14,7 @@ # License # ======= # -# Copyright (C) 2015-2016 Bob Mottram +# Copyright (C) 2015-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -52,32 +52,32 @@ do key="$1" case $key in - -h|--help) - show_help - ;; - -u|--user) - shift - MYUSERNAME="$1" - ;; - -e|--email) - shift - EMAILADDRESS="$1" - ;; - -s|--subject) - shift - SUBJECT_TEXT="$1" - ;; - -g|--group) - shift - GROUP_NAME="$1" - ;; - -p|--public) - shift - PUBLIC="$1" - ;; - *) - # unknown option - ;; + -h|--help) + show_help + ;; + -u|--user) + shift + MYUSERNAME="$1" + ;; + -e|--email) + shift + EMAILADDRESS="$1" + ;; + -s|--subject) + shift + SUBJECT_TEXT="$1" + ;; + -g|--group) + shift + GROUP_NAME="$1" + ;; + -p|--public) + shift + PUBLIC="$1" + ;; + *) + # unknown option + ;; esac shift done @@ -88,7 +88,7 @@ fi if [ ${#EMAILADDRESS} -lt 2 ]; then if [ ${#SUBJECT_TEXT} -lt 2 ]; then - show_help + show_help fi fi @@ -112,26 +112,26 @@ fi chown -R $MYUSERNAME:$MYUSERNAME $LISTDIR if ! grep -q "$proc_comment" $PM; then if [[ $PUBLIC != "yes" ]]; then - # private emails go after the encryption stage - echo '' >> $PM - echo "$proc_comment" >> $PM - echo ":0" >> $PM - echo "$proc_rule" >> $PM - echo "$LISTDIR/new" >> $PM - echo "# End of rule" >> $PM + # private emails go after the encryption stage + echo '' >> $PM + echo "$proc_comment" >> $PM + echo ":0" >> $PM + echo "$proc_rule" >> $PM + echo "$LISTDIR/new" >> $PM + echo "# End of rule" >> $PM else - # public emails are copied before the encryption stage - if ! grep -q '# encrypt' $PM; then - echo '' >> $PM - echo "$proc_comment" >> $PM - echo ":0" >> $PM - echo "$proc_rule" >> $PM - echo "$LISTDIR/new" >> $PM - echo "# End of rule" >> $PM - else - filter=$(echo "$proc_comment\n:0\n${proc_rule}\n$LISTDIR/new\n# End of rule\n") - sed -i "/# encrypt/i ${filter}" $PM - fi + # public emails are copied before the encryption stage + if ! grep -q '# encrypt' $PM; then + echo '' >> $PM + echo "$proc_comment" >> $PM + echo ":0" >> $PM + echo "$proc_rule" >> $PM + echo "$LISTDIR/new" >> $PM + echo "# End of rule" >> $PM + else + filter=$(echo "$proc_comment\n:0\n${proc_rule}\n$LISTDIR/new\n# End of rule\n") + sed -i "/# encrypt/i ${filter}" $PM + fi fi chown $MYUSERNAME:$MYUSERNAME $PM fi @@ -150,8 +150,8 @@ fi MUTT_MAILBOXES=$(grep "mailboxes =" $MUTTRC) if [[ $MUTT_MAILBOXES != *$GROUP_NAME* ]]; then if ! grep -q "=$GROUP_NAME" $MUTTRC; then - sed -i "s|$MUTT_MAILBOXES|$MUTT_MAILBOXES =$GROUP_NAME|g" $MUTTRC - chown $MYUSERNAME:$MYUSERNAME $MUTTRC + sed -i "s|$MUTT_MAILBOXES|$MUTT_MAILBOXES =$GROUP_NAME|g" $MUTTRC + chown $MYUSERNAME:$MYUSERNAME $MUTTRC fi fi diff --git a/src/freedombone-addlist b/src/freedombone-addlist index 7f5cd2a5..4b65bdaf 100755 --- a/src/freedombone-addlist +++ b/src/freedombone-addlist @@ -14,7 +14,7 @@ # License # ======= # -# Copyright (C) 2015-2016 Bob Mottram +# Copyright (C) 2015-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -52,32 +52,32 @@ do key="$1" case $key in - -h|--help) - show_help - ;; - -u|--user) - shift - MYUSERNAME="$1" - ;; - -l|--list) - shift - MAILINGLIST="$1" - ;; - -s|--subject) - shift - SUBJECTTAG="$1" - ;; - -e|--email) - shift - LIST_ADDRESS="$1" - ;; - -p|--public) - shift - PUBLIC="$1" - ;; - *) - # unknown option - ;; + -h|--help) + show_help + ;; + -u|--user) + shift + MYUSERNAME="$1" + ;; + -l|--list) + shift + MAILINGLIST="$1" + ;; + -s|--subject) + shift + SUBJECTTAG="$1" + ;; + -e|--email) + shift + LIST_ADDRESS="$1" + ;; + -p|--public) + shift + PUBLIC="$1" + ;; + *) + # unknown option + ;; esac shift done @@ -110,33 +110,33 @@ chown -R $MYUSERNAME:$MYUSERNAME $LISTDIR if [ ${#SUBJECTTAG} -gt 0 ]; then # use the subject tag if ! grep -q "Subject:.*()\[$SUBJECTTAG\]" $PM; then - if [[ $PUBLIC != "yes" ]]; then - # private emails go after the encryption stage - filter=" + if [[ $PUBLIC != "yes" ]]; then + # private emails go after the encryption stage + filter=" # Email rule for $MAILINGLIST subject [$SUBJECTTAG] :0 * ^Subject:.*()\[$SUBJECTTAG\] $LISTDIR/new # End of rule " - echo "$filter" >> $PM - else - # public emails are copied before hte encryption stage - if ! grep -q '# encrypt' $PM; then - filter=" + echo "$filter" >> $PM + else + # public emails are copied before hte encryption stage + if ! grep -q '# encrypt' $PM; then + filter=" # Email rule for $MAILINGLIST subject [$SUBJECTTAG] :0 * ^Subject:.*()\[$SUBJECTTAG\] $LISTDIR/new # End of rule " - echo "$filter" >> $PM - else - filter=$(echo "# Email rule for $MAILINGLIST subject [$SUBJECTTAG]\n:0\n * ^Subject:.*()\\\[$SUBJECTTAG\\\]\n$LISTDIR/new\n# End of rule\n") - sed -i "/# encrypt/i ${filter}" $PM - fi - fi - chown $MYUSERNAME:$MYUSERNAME $PM + echo "$filter" >> $PM + else + filter=$(echo "# Email rule for $MAILINGLIST subject [$SUBJECTTAG]\n:0\n * ^Subject:.*()\\\[$SUBJECTTAG\\\]\n$LISTDIR/new\n# End of rule\n") + sed -i "/# encrypt/i ${filter}" $PM + fi + fi + chown $MYUSERNAME:$MYUSERNAME $PM fi else exit $(${PROJECT_NAME}-addemail -u $MYUSERNAME -e $LIST_ADDRESS -g $MAILINGLIST --public $PUBLIC) @@ -156,15 +156,15 @@ fi MUTT_MAILBOXES=$(grep "mailboxes =" $MUTTRC) if [[ $MUTT_MAILBOXES != *$MAILINGLIST* ]]; then if ! grep -q "=$MAILINGLIST" $MUTTRC; then - sed -i "s|$MUTT_MAILBOXES|$MUTT_MAILBOXES =$MAILINGLIST|g" $MUTTRC - chown $MYUSERNAME:$MYUSERNAME $MUTTRC + sed -i "s|$MUTT_MAILBOXES|$MUTT_MAILBOXES =$MAILINGLIST|g" $MUTTRC + chown $MYUSERNAME:$MYUSERNAME $MUTTRC fi fi if [ $LIST_ADDRESS ]; then sed -i "s|unsubscribe $LIST_ADDRESS|subscribe $LIST_ADDRESS|g" $MUTTRC if ! grep -q "subscribe $LIST_ADDRESS" $MUTTRC; then - echo "subscribe $LIST_ADDRESS" >> $MUTTRC + echo "subscribe $LIST_ADDRESS" >> $MUTTRC fi fi diff --git a/src/freedombone-addremove b/src/freedombone-addremove index 59fd2696..2e1b648b 100755 --- a/src/freedombone-addremove +++ b/src/freedombone-addremove @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2015-2016 Bob Mottram +# Copyright (C) 2015-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-addsipuser b/src/freedombone-addsipuser index f2c3715f..c6c2d235 100755 --- a/src/freedombone-addsipuser +++ b/src/freedombone-addsipuser @@ -14,7 +14,7 @@ # License # ======= # -# Copyright (C) 2015-2016 Bob Mottram +# Copyright (C) 2015-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -50,10 +50,10 @@ function show_help { function sip_user_exists { IFS='' while read line; do - if [[ "$line" == *"" ]]; then - USER_EXISTS="yes" - return - fi + if [[ "$line" == *"" ]]; then + USER_EXISTS="yes" + return + fi done < $CONFIG_FILE } @@ -61,28 +61,28 @@ function update_sip_user { USER_FOUND= NEW_CONFIG_FILE="${CONFIG_FILE}.new" if [ -f $NEW_CONFIG_FILE ]; then - rm -f $NEW_CONFIG_FILE + rm -f $NEW_CONFIG_FILE fi touch $NEW_CONFIG_FILE IFS='' while read line; do - if [ ! $USER_FOUND ]; then - if [[ "$line" == *"" ]]; then - USER_FOUND="yes" - fi - else - if [[ "$line" == *""* ]]; then - line=" $EXTENSION" - fi - if [[ "$line" == *""* ]]; then - line=" $PASSWORD" - fi - if [[ "$line" == *""* ]]; then - line=" $MY_USERNAME $EXTENSION" - USER_FOUND= - fi - fi - echo $line >> $NEW_CONFIG_FILE + if [ ! $USER_FOUND ]; then + if [[ "$line" == *"" ]]; then + USER_FOUND="yes" + fi + else + if [[ "$line" == *""* ]]; then + line=" $EXTENSION" + fi + if [[ "$line" == *""* ]]; then + line=" $PASSWORD" + fi + if [[ "$line" == *""* ]]; then + line=" $MY_USERNAME $EXTENSION" + USER_FOUND= + fi + fi + echo $line >> $NEW_CONFIG_FILE done < $CONFIG_FILE mv $NEW_CONFIG_FILE $CONFIG_FILE } @@ -90,19 +90,19 @@ function update_sip_user { function add_sip_user { NEW_CONFIG_FILE="${CONFIG_FILE}.new" if [ -f $NEW_CONFIG_FILE ]; then - rm -f $NEW_CONFIG_FILE + rm -f $NEW_CONFIG_FILE fi touch $NEW_CONFIG_FILE IFS='' while read line; do - if [[ "$line" == *'' ]]; then - echo " " >> $NEW_CONFIG_FILE - echo " $EXTENSION" >> $NEW_CONFIG_FILE - echo " $PASSWORD" >> $NEW_CONFIG_FILE - echo " $MY_USERNAME $EXTENSION" >> $NEW_CONFIG_FILE - echo ' ' >> $NEW_CONFIG_FILE - fi - echo $line >> $NEW_CONFIG_FILE + if [[ "$line" == *'' ]]; then + echo " " >> $NEW_CONFIG_FILE + echo " $EXTENSION" >> $NEW_CONFIG_FILE + echo " $PASSWORD" >> $NEW_CONFIG_FILE + echo " $MY_USERNAME $EXTENSION" >> $NEW_CONFIG_FILE + echo ' ' >> $NEW_CONFIG_FILE + fi + echo $line >> $NEW_CONFIG_FILE done < $CONFIG_FILE mv $NEW_CONFIG_FILE $CONFIG_FILE usermod -aG sipwitch $MY_USERNAME @@ -113,24 +113,24 @@ do key="$1" case $key in - -h|--help) - show_help - ;; - -u|--user) - shift - MY_USERNAME="$1" - ;; - -e|--extension) - shift - EXTENSION="$1" - ;; - -p|--password) - shift - PASSWORD="$1" - ;; - *) - # unknown option - ;; + -h|--help) + show_help + ;; + -u|--user) + shift + MY_USERNAME="$1" + ;; + -e|--extension) + shift + EXTENSION="$1" + ;; + -p|--password) + shift + PASSWORD="$1" + ;; + *) + # unknown option + ;; esac shift done diff --git a/src/freedombone-adduser b/src/freedombone-adduser index b7b4598a..391fbf9e 100755 --- a/src/freedombone-adduser +++ b/src/freedombone-adduser @@ -14,7 +14,7 @@ # License # ======= # -# Copyright (C) 2015-2016 Bob Mottram +# Copyright (C) 2015-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-addxmpp b/src/freedombone-addxmpp index 8077d33e..960b24e3 100755 --- a/src/freedombone-addxmpp +++ b/src/freedombone-addxmpp @@ -14,7 +14,7 @@ # License # ======= # -# Copyright (C) 2015-2016 Bob Mottram +# Copyright (C) 2015-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-app-batman b/src/freedombone-app-batman index edac4b3c..ad12ae01 100755 --- a/src/freedombone-app-batman +++ b/src/freedombone-app-batman @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-app-dlna b/src/freedombone-app-dlna index 8e1775ec..f3d16d96 100755 --- a/src/freedombone-app-dlna +++ b/src/freedombone-app-dlna @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-app-dokuwiki b/src/freedombone-app-dokuwiki index 6f86ec7a..e4c56b89 100755 --- a/src/freedombone-app-dokuwiki +++ b/src/freedombone-app-dokuwiki @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-app-emacs b/src/freedombone-app-emacs index a047f898..6259f7c9 100755 --- a/src/freedombone-app-emacs +++ b/src/freedombone-app-emacs @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-app-gnusocial b/src/freedombone-app-gnusocial index c9e7d692..8132641c 100755 --- a/src/freedombone-app-gnusocial +++ b/src/freedombone-app-gnusocial @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-app-gogs b/src/freedombone-app-gogs index 0ab40297..72a7a073 100755 --- a/src/freedombone-app-gogs +++ b/src/freedombone-app-gogs @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-app-htmly b/src/freedombone-app-htmly index 4d1fda3b..9fe4c733 100755 --- a/src/freedombone-app-htmly +++ b/src/freedombone-app-htmly @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-app-hubzilla b/src/freedombone-app-hubzilla index a44d3131..db29905c 100755 --- a/src/freedombone-app-hubzilla +++ b/src/freedombone-app-hubzilla @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-app-ipfs b/src/freedombone-app-ipfs index 4521c8e0..c21bac12 100755 --- a/src/freedombone-app-ipfs +++ b/src/freedombone-app-ipfs @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-app-irc b/src/freedombone-app-irc index a38a00d6..f57f6c32 100755 --- a/src/freedombone-app-irc +++ b/src/freedombone-app-irc @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-app-librevault b/src/freedombone-app-librevault index 6a39e5a7..af66848a 100755 --- a/src/freedombone-app-librevault +++ b/src/freedombone-app-librevault @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-app-mediagoblin b/src/freedombone-app-mediagoblin index a267de0c..31783e63 100755 --- a/src/freedombone-app-mediagoblin +++ b/src/freedombone-app-mediagoblin @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-app-mumble b/src/freedombone-app-mumble index 14f74438..985ca8d1 100755 --- a/src/freedombone-app-mumble +++ b/src/freedombone-app-mumble @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-app-pelican b/src/freedombone-app-pelican index 448a08ff..3539fab8 100755 --- a/src/freedombone-app-pelican +++ b/src/freedombone-app-pelican @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-app-pihole b/src/freedombone-app-pihole index 95bdc078..6f8e5b26 100755 --- a/src/freedombone-app-pihole +++ b/src/freedombone-app-pihole @@ -16,7 +16,7 @@ # License # ======= # -# Copyright (C) 2016 Bob Mottram +# Copyright (C) 2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-app-rss b/src/freedombone-app-rss index d257bc34..13243aba 100755 --- a/src/freedombone-app-rss +++ b/src/freedombone-app-rss @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-app-searx b/src/freedombone-app-searx index cd26fad7..0846e393 100755 --- a/src/freedombone-app-searx +++ b/src/freedombone-app-searx @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-app-sip b/src/freedombone-app-sip index 1a78effc..4fb300b5 100755 --- a/src/freedombone-app-sip +++ b/src/freedombone-app-sip @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-app-syncthing b/src/freedombone-app-syncthing index 58e7bea2..64b29630 100755 --- a/src/freedombone-app-syncthing +++ b/src/freedombone-app-syncthing @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-app-tahoelafs b/src/freedombone-app-tahoelafs index 0c0d50ad..e05b60c3 100755 --- a/src/freedombone-app-tahoelafs +++ b/src/freedombone-app-tahoelafs @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-app-tox b/src/freedombone-app-tox index b3d6e575..5d464c6a 100755 --- a/src/freedombone-app-tox +++ b/src/freedombone-app-tox @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-app-vim b/src/freedombone-app-vim index d2bf2a24..24c1b596 100755 --- a/src/freedombone-app-vim +++ b/src/freedombone-app-vim @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2016 Bob Mottram +# Copyright (C) 2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-app-vpn b/src/freedombone-app-vpn index 3292469d..b9d3b17c 100755 --- a/src/freedombone-app-vpn +++ b/src/freedombone-app-vpn @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-app-webmail b/src/freedombone-app-webmail index 00af1d1a..76a840d5 100755 --- a/src/freedombone-app-webmail +++ b/src/freedombone-app-webmail @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-app-xmpp b/src/freedombone-app-xmpp index c66f9222..d46ecd73 100755 --- a/src/freedombone-app-xmpp +++ b/src/freedombone-app-xmpp @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-app-zeronet b/src/freedombone-app-zeronet index 4bdbed7c..67cd1268 100755 --- a/src/freedombone-app-zeronet +++ b/src/freedombone-app-zeronet @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-archive-mail b/src/freedombone-archive-mail index 95ed1196..c746244b 100755 --- a/src/freedombone-archive-mail +++ b/src/freedombone-archive-mail @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2015-2016 Bob Mottram +# Copyright (C) 2015-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-backup-local b/src/freedombone-backup-local index b039a0e7..77cca1bd 100755 --- a/src/freedombone-backup-local +++ b/src/freedombone-backup-local @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2015-2016 Bob Mottram +# Copyright (C) 2015-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-backup-remote b/src/freedombone-backup-remote index 2b1ad835..10fd48fa 100755 --- a/src/freedombone-backup-remote +++ b/src/freedombone-backup-remote @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2015-2016 Bob Mottram +# Copyright (C) 2015-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-base-email b/src/freedombone-base-email index bc4bf533..61aec219 100755 --- a/src/freedombone-base-email +++ b/src/freedombone-base-email @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-base-tripwire b/src/freedombone-base-tripwire index a6410a3e..28c1c2cf 100755 --- a/src/freedombone-base-tripwire +++ b/src/freedombone-base-tripwire @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-client b/src/freedombone-client index 7e1c5574..42c8e4dc 100755 --- a/src/freedombone-client +++ b/src/freedombone-client @@ -11,7 +11,7 @@ # License # ======= # -# Copyright (C) 2015-2016 Bob Mottram +# Copyright (C) 2015-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-clientcert b/src/freedombone-clientcert index 7f571a41..ff09bed9 100755 --- a/src/freedombone-clientcert +++ b/src/freedombone-clientcert @@ -17,7 +17,7 @@ # License # ======= # -# Copyright (C) 2015-2016 Bob Mottram +# Copyright (C) 2015-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-config b/src/freedombone-config index 22391792..0523077e 100755 --- a/src/freedombone-config +++ b/src/freedombone-config @@ -14,7 +14,7 @@ # License # ======= # -# Copyright (C) 2015-2016 Bob Mottram +# Copyright (C) 2015-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-controlpanel b/src/freedombone-controlpanel index 630ff860..5cd07f1f 100755 --- a/src/freedombone-controlpanel +++ b/src/freedombone-controlpanel @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2015-2016 Bob Mottram +# Copyright (C) 2015-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-controlpanel-user b/src/freedombone-controlpanel-user index c7a50fb7..36d18ab9 100755 --- a/src/freedombone-controlpanel-user +++ b/src/freedombone-controlpanel-user @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2016 Bob Mottram +# Copyright (C) 2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-dhparam b/src/freedombone-dhparam index b57e32b8..7fffda90 100755 --- a/src/freedombone-dhparam +++ b/src/freedombone-dhparam @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2015-2016 Bob Mottram +# Copyright (C) 2015-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -131,104 +131,104 @@ aDWQRvTrh5+SQAlDi0gcbNeImgAu1e44K8kZDab8Am5HlVjkR1Z36aqeMFDidlaU ' function show_help { - echo '' - echo $"${PROJECT_NAME}-dhparam -h [hostname] -l [length in bits] --recalc [yes|no] --fast [yes|no]" - echo '' - exit 0 + echo '' + echo $"${PROJECT_NAME}-dhparam -h [hostname] -l [length in bits] --recalc [yes|no] --fast [yes|no]" + echo '' + exit 0 } function calc_dh { - if [[ $FAST == 'yes' ]]; then - DHGROUP=$(( ( RANDOM % 4 ) + 14 )) - if [[ ${DHGROUP} == 14 ]]; then - echo "$BETTERCRYPTO_GROUP14" > ${1} - else - if [[ ${DHGROUP} == 15 ]]; then - echo "$BETTERCRYPTO_GROUP15" > ${1} - else - if [[ ${DHGROUP} == 16 ]]; then - echo "$BETTERCRYPTO_GROUP16" > ${1} - else - if [[ ${DHGROUP} == 17 ]]; then - echo "$BETTERCRYPTO_GROUP17" > ${1} - else - echo "$BETTERCRYPTO_GROUP18" > ${1} - fi - fi - fi - fi - else - openssl dhparam -check -text $KEYLENGTH -out ${1} - if [ ! "$?" = "0" ]; then - exit 3674 - fi - fi - chmod 640 ${1} + if [[ $FAST == 'yes' ]]; then + DHGROUP=$(( ( RANDOM % 4 ) + 14 )) + if [[ ${DHGROUP} == 14 ]]; then + echo "$BETTERCRYPTO_GROUP14" > ${1} + else + if [[ ${DHGROUP} == 15 ]]; then + echo "$BETTERCRYPTO_GROUP15" > ${1} + else + if [[ ${DHGROUP} == 16 ]]; then + echo "$BETTERCRYPTO_GROUP16" > ${1} + else + if [[ ${DHGROUP} == 17 ]]; then + echo "$BETTERCRYPTO_GROUP17" > ${1} + else + echo "$BETTERCRYPTO_GROUP18" > ${1} + fi + fi + fi + fi + else + openssl dhparam -check -text $KEYLENGTH -out ${1} + if [ ! "$?" = "0" ]; then + exit 3674 + fi + fi + chmod 640 ${1} } function regenerate_dh_keys { - for file in /etc/ssl/mycerts/* - do - if [[ -f $file ]]; then - filename=/etc/ssl/certs/$(echo $file | awk -F '/etc/ssl/mycerts/' '{print $2}' | awk -F '.crt' '{print $1}').dhparam - if [ -f $filename ]; then - calc_dh $filename - echo $"Recalculated DH params for $filename" - fi - fi - done + for file in /etc/ssl/mycerts/* + do + if [[ -f $file ]]; then + filename=/etc/ssl/certs/$(echo $file | awk -F '/etc/ssl/mycerts/' '{print $2}' | awk -F '.crt' '{print $1}').dhparam + if [ -f $filename ]; then + calc_dh $filename + echo $"Recalculated DH params for $filename" + fi + fi + done } while [[ $# > 1 ]] do - key="$1" + key="$1" - case $key in - --help) - show_help - ;; - -h|--hostname) - shift - HOSTNAME="$1" - ;; - -l|--dhkey) - shift - KEYLENGTH=${1} - ;; - --recalc) - shift - RECALCULATE=${1} - ;; - --fast) - shift - if [[ ${1} == $"yes" || ${1} == $"y" ]]; then - FAST='yes' - fi - ;; - *) - # unknown option - ;; - esac - shift + case $key in + --help) + show_help + ;; + -h|--hostname) + shift + HOSTNAME="$1" + ;; + -l|--dhkey) + shift + KEYLENGTH=${1} + ;; + --recalc) + shift + RECALCULATE=${1} + ;; + --fast) + shift + if [[ ${1} == $"yes" || ${1} == $"y" ]]; then + FAST='yes' + fi + ;; + *) + # unknown option + ;; + esac + shift done if [[ $RECALCULATE == "yes" || $RECALCULATE == "y" ]]; then - regenerate_dh_keys - exit 0 + regenerate_dh_keys + exit 0 fi if [ ! $HOSTNAME ]; then - echo $'No hostname specified' - exit 5728 + echo $'No hostname specified' + exit 5728 fi if ! which openssl > /dev/null ;then - echo $"$0: openssl is not installed, exiting" 1>&2 - exit 5689 + echo $"$0: openssl is not installed, exiting" 1>&2 + exit 5689 fi if [ ! -d /etc/ssl/mycerts ]; then - mkdir -p /etc/ssl/mycerts + mkdir -p /etc/ssl/mycerts fi calc_dh /etc/ssl/certs/$HOSTNAME.dhparam diff --git a/src/freedombone-encrypt-mail b/src/freedombone-encrypt-mail index 7c9ada55..71a3782f 100755 --- a/src/freedombone-encrypt-mail +++ b/src/freedombone-encrypt-mail @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-format b/src/freedombone-format index 967668c4..83be0787 100755 --- a/src/freedombone-format +++ b/src/freedombone-format @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2015-2016 Bob Mottram +# Copyright (C) 2015-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-freedns b/src/freedombone-freedns index af720b80..f22ff2c3 100755 --- a/src/freedombone-freedns +++ b/src/freedombone-freedns @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2016 Bob Mottram +# Copyright (C) 2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-ignore b/src/freedombone-ignore index eaafc32f..8a24abc0 100755 --- a/src/freedombone-ignore +++ b/src/freedombone-ignore @@ -15,7 +15,7 @@ # License # ======= # -# Copyright (C) 2015-2016 Bob Mottram +# Copyright (C) 2015-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-image b/src/freedombone-image index dce936f9..f472ec27 100755 --- a/src/freedombone-image +++ b/src/freedombone-image @@ -15,7 +15,7 @@ # License # ======= # -# Copyright (C) 2015-2016 Bob Mottram +# Copyright (C) 2015-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-keydrive b/src/freedombone-keydrive index 8189ffc0..78bcea27 100755 --- a/src/freedombone-keydrive +++ b/src/freedombone-keydrive @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2015-2016 Bob Mottram +# Copyright (C) 2015-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-logging b/src/freedombone-logging index 79b89304..1318e95c 100755 --- a/src/freedombone-logging +++ b/src/freedombone-logging @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2015-2016 Bob Mottram +# Copyright (C) 2015-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-mesh b/src/freedombone-mesh index fb0e9ca5..27af7709 100755 --- a/src/freedombone-mesh +++ b/src/freedombone-mesh @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2015-2016 Bob Mottram +# Copyright (C) 2015-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-mesh-batman b/src/freedombone-mesh-batman index 587c241a..4c7472bb 100755 --- a/src/freedombone-mesh-batman +++ b/src/freedombone-mesh-batman @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2015-2016 Bob Mottram +# Copyright (C) 2015-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-mirrors b/src/freedombone-mirrors index 6ebb8614..4889842d 100755 --- a/src/freedombone-mirrors +++ b/src/freedombone-mirrors @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2015-2016 Bob Mottram +# Copyright (C) 2015-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-pin-cert b/src/freedombone-pin-cert index 396ad2bf..993e26a6 100755 --- a/src/freedombone-pin-cert +++ b/src/freedombone-pin-cert @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2015-2016 Bob Mottram +# Copyright (C) 2015-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-recoverkey b/src/freedombone-recoverkey index 741999e9..c02011bb 100755 --- a/src/freedombone-recoverkey +++ b/src/freedombone-recoverkey @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2015-2016 Bob Mottram +# Copyright (C) 2015-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-remote b/src/freedombone-remote index c4190247..4f1da66f 100755 --- a/src/freedombone-remote +++ b/src/freedombone-remote @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2015-2016 Bob Mottram +# Copyright (C) 2015-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -58,205 +58,205 @@ TITLE='Remote Backup' RECIPROCAL="no" function show_help { - echo '' - echo $"${PROJECT_NAME}-remote -u [username] -l [backup list filename] -m [min password length]" - echo '' - echo $'Creates an inventory of remote backup locations' - echo '' - echo '' - echo $' -h --help Show help' - echo $' -u --username User to create the backups.list file for' - echo $' -l --list Remote backup list (usually /home/$USER/backup.list)' - echo $' -m --min Minimum password length (characters)' - echo $' -r --reciprocal Whether to add reciprocal user accounts' - echo $' -t --title Title shown' - echo '' - exit 0 + echo '' + echo $"${PROJECT_NAME}-remote -u [username] -l [backup list filename] -m [min password length]" + echo '' + echo $'Creates an inventory of remote backup locations' + echo '' + echo '' + echo $' -h --help Show help' + echo $' -u --username User to create the backups.list file for' + echo $' -l --list Remote backup list (usually /home/$USER/backup.list)' + echo $' -m --min Minimum password length (characters)' + echo $' -r --reciprocal Whether to add reciprocal user accounts' + echo $' -t --title Title shown' + echo '' + exit 0 } # Get the commandline options while [[ $# > 1 ]] do - key="$1" + key="$1" - case $key in - -h|--help) - show_help - ;; - # backup list filename - # typically /home/$USER/backup.list - -l|--list) - shift - FRIENDS_SERVERS_LIST="$1" - ;; - # username within /home - -u|--user) - shift - MY_USERNAME="$1" - ;; - # Minimum password length - -m|--min) - shift - MINIMUM_PASSWORD_LENGTH="$1" - ;; - # Title shown - -t|--title) - shift - TITLE="$1" - ;; - # reciprocal user accounts - -r|--reciprocal) - shift - RECIPROCAL="yes" - ;; - *) - # unknown option - ;; - esac - shift + case $key in + -h|--help) + show_help + ;; + # backup list filename + # typically /home/$USER/backup.list + -l|--list) + shift + FRIENDS_SERVERS_LIST="$1" + ;; + # username within /home + -u|--user) + shift + MY_USERNAME="$1" + ;; + # Minimum password length + -m|--min) + shift + MINIMUM_PASSWORD_LENGTH="$1" + ;; + # Title shown + -t|--title) + shift + TITLE="$1" + ;; + # reciprocal user accounts + -r|--reciprocal) + shift + RECIPROCAL="yes" + ;; + *) + # unknown option + ;; + esac + shift done function interactive_config_remote_backups { - if [ ! $MY_USERNAME ]; then - echo $'Please specify a username with the -u option' - exit 7356 - fi + if [ ! $MY_USERNAME ]; then + echo $'Please specify a username with the -u option' + exit 7356 + fi - if [ ! /home/$MY_USERNAME ]; then - echo $"The user /home/$MY_USERNAME does not exist on the system" - exit 3689 - fi + if [ ! /home/$MY_USERNAME ]; then + echo $"The user /home/$MY_USERNAME does not exist on the system" + exit 3689 + fi - if [ ! $FRIENDS_SERVERS_LIST ]; then - FRIENDS_SERVERS_LIST=/home/$MY_USERNAME/backup.list - fi + if [ ! $FRIENDS_SERVERS_LIST ]; then + FRIENDS_SERVERS_LIST=/home/$MY_USERNAME/backup.list + fi - # clear any existing list - if [ -f $FRIENDS_SERVERS_LIST ]; then - rm -f $FRIENDS_SERVERS_LIST - touch $FRIENDS_SERVERS_LIST - fi - # number of entries made - entering_remote_backups_ctr=1 + # clear any existing list + if [ -f $FRIENDS_SERVERS_LIST ]; then + rm -f $FRIENDS_SERVERS_LIST + touch $FRIENDS_SERVERS_LIST + fi + # number of entries made + entering_remote_backups_ctr=1 - entering_remote_backups_done="no" - remote_ssh_username="" - remote_ssh_domain="" - remote_ssh_port="" - remote_ssh_password="" - remote_ssh_reciprocal_username="" - remote_ssh_reciprocal_password="" - while [[ $entering_remote_backups_done == "no" ]] - do - data=$(tempfile 2>/dev/null) - trap "rm -f $data" 0 1 2 5 15 - if [[ $RECIPROCAL == "yes" ]]; then - dialog --backtitle "Freedombone Configuration" \ - --title "$TITLE ${entering_remote_backups_ctr}" \ - --form "\nPlease specify the SSH login details for the remote server\n\nThe reciprocal entries are optional, and can be used if you wish to set up a user account on this system for whoever runs the remote server to also use for backups" 20 50 8 \ - "Username:" 1 1 "$remote_ssh_username" 1 23 16 15 \ - "Domain:" 2 1 "$remote_ssh_domain" 2 23 16 15 \ - "SSH port:" 3 1 "2222" 3 23 5 4 \ - "Password:" 4 1 "$remote_ssh_password" 4 23 20 100 \ - "Reciprocal Username:" 5 1 "$remote_ssh_reciprocal_username" 5 23 20 100 \ - "Reciprocal Password:" 6 1 "$remote_ssh_reciprocal_password" 6 23 20 100 \ - 2> $data - else - dialog --backtitle "Freedombone Configuration" \ - --title "$TITLE ${entering_remote_backups_ctr}" \ - --form "\nPlease specify the SSH login details for the remote server" 15 50 4 \ - "Username:" 1 1 "$remote_ssh_username" 1 23 16 15 \ - "Domain:" 2 1 "$remote_ssh_domain" 2 23 16 15 \ - "SSH port:" 3 1 "2222" 3 23 5 4 \ - "Password:" 4 1 "$remote_ssh_password" 4 23 20 100 \ - 2> $data - fi - sel=$? - case $sel in - 1) entering_remote_backups_done="yes";; - 255) entering_remote_backups_done="yes";; - esac - remote_ssh_username=$(cat $data | sed -n 1p) - remote_ssh_domain=$(cat $data | sed -n 2p) - remote_ssh_port=$(cat $data | sed -n 3p) - remote_ssh_password=$(cat $data | sed -n 4p) - remote_ssh_reciprocal_username=$(cat $data | sed -n 5p) - remote_ssh_reciprocal_password=$(cat $data | sed -n 6p) - if [[ $remote_ssh_username != "" && \ - $remote_ssh_domain != "" && \ - $remote_ssh_port != "" && \ - $remote_ssh_password != "" ]]; then + entering_remote_backups_done="no" + remote_ssh_username="" + remote_ssh_domain="" + remote_ssh_port="" + remote_ssh_password="" + remote_ssh_reciprocal_username="" + remote_ssh_reciprocal_password="" + while [[ $entering_remote_backups_done == "no" ]] + do + data=$(tempfile 2>/dev/null) + trap "rm -f $data" 0 1 2 5 15 + if [[ $RECIPROCAL == "yes" ]]; then + dialog --backtitle "Freedombone Configuration" \ + --title "$TITLE ${entering_remote_backups_ctr}" \ + --form "\nPlease specify the SSH login details for the remote server\n\nThe reciprocal entries are optional, and can be used if you wish to set up a user account on this system for whoever runs the remote server to also use for backups" 20 50 8 \ + "Username:" 1 1 "$remote_ssh_username" 1 23 16 15 \ + "Domain:" 2 1 "$remote_ssh_domain" 2 23 16 15 \ + "SSH port:" 3 1 "2222" 3 23 5 4 \ + "Password:" 4 1 "$remote_ssh_password" 4 23 20 100 \ + "Reciprocal Username:" 5 1 "$remote_ssh_reciprocal_username" 5 23 20 100 \ + "Reciprocal Password:" 6 1 "$remote_ssh_reciprocal_password" 6 23 20 100 \ + 2> $data + else + dialog --backtitle "Freedombone Configuration" \ + --title "$TITLE ${entering_remote_backups_ctr}" \ + --form "\nPlease specify the SSH login details for the remote server" 15 50 4 \ + "Username:" 1 1 "$remote_ssh_username" 1 23 16 15 \ + "Domain:" 2 1 "$remote_ssh_domain" 2 23 16 15 \ + "SSH port:" 3 1 "2222" 3 23 5 4 \ + "Password:" 4 1 "$remote_ssh_password" 4 23 20 100 \ + 2> $data + fi + sel=$? + case $sel in + 1) entering_remote_backups_done="yes";; + 255) entering_remote_backups_done="yes";; + esac + remote_ssh_username=$(cat $data | sed -n 1p) + remote_ssh_domain=$(cat $data | sed -n 2p) + remote_ssh_port=$(cat $data | sed -n 3p) + remote_ssh_password=$(cat $data | sed -n 4p) + remote_ssh_reciprocal_username=$(cat $data | sed -n 5p) + remote_ssh_reciprocal_password=$(cat $data | sed -n 6p) + if [[ $remote_ssh_username != "" && \ + $remote_ssh_domain != "" && \ + $remote_ssh_port != "" && \ + $remote_ssh_password != "" ]]; then - if [ ${#remote_ssh_password} -lt $MINIMUM_PASSWORD_LENGTH ]; then - dialog --title "Password quality check" --msgbox "The password given was too short. It must be at least $MINIMUM_PASSWORD_LENGTH characters" 6 40 - else + if [ ${#remote_ssh_password} -lt $MINIMUM_PASSWORD_LENGTH ]; then + dialog --title "Password quality check" --msgbox "The password given was too short. It must be at least $MINIMUM_PASSWORD_LENGTH characters" 6 40 + else - if [[ $RECIPROCAL == "yes" ]]; then - if [[ $remote_ssh_reciprocal_username != "" && \ - $remote_ssh_reciprocal_password != "" ]]; then - if [ ${#remote_ssh_reciprocal_password} -lt $MINIMUM_PASSWORD_LENGTH ]; then - dialog --title "Password quality check" --msgbox "The reciprocal password given was too short. It must be at least $MINIMUM_PASSWORD_LENGTH characters" 6 40 - else - echo ${remote_ssh_reciprocal_username}:${remote_ssh_reciprocal_password}::::/home/${remote_ssh_reciprocal_username}:bash | newusers - echo "$remote_ssh_username@$remote_ssh_domain $remote_ssh_port /home/$remote_ssh_username $remote_ssh_password" >> $FRIENDS_SERVERS_LIST - remote_ssh_username="" - remote_ssh_domain="" - remote_ssh_port="" - remote_ssh_password="" - remote_ssh_reciprocal_username="" - remote_ssh_reciprocal_password="" - entering_remote_backups_ctr=$((entering_remote_backups_ctr + 1)) - fi - else - echo "$remote_ssh_username@$remote_ssh_domain $remote_ssh_port /home/$remote_ssh_username $remote_ssh_password" >> $FRIENDS_SERVERS_LIST - remote_ssh_username="" - remote_ssh_domain="" - remote_ssh_port="" - remote_ssh_password="" - remote_ssh_reciprocal_username="" - remote_ssh_reciprocal_password="" - entering_remote_backups_ctr=$((entering_remote_backups_ctr + 1)) - fi - else - echo "$remote_ssh_username@$remote_ssh_domain $remote_ssh_port /home/$remote_ssh_username $remote_ssh_password" >> $FRIENDS_SERVERS_LIST - remote_ssh_username="" - remote_ssh_domain="" - remote_ssh_port="" - remote_ssh_password="" - entering_remote_backups_ctr=$((entering_remote_backups_ctr + 1)) - fi + if [[ $RECIPROCAL == "yes" ]]; then + if [[ $remote_ssh_reciprocal_username != "" && \ + $remote_ssh_reciprocal_password != "" ]]; then + if [ ${#remote_ssh_reciprocal_password} -lt $MINIMUM_PASSWORD_LENGTH ]; then + dialog --title "Password quality check" --msgbox "The reciprocal password given was too short. It must be at least $MINIMUM_PASSWORD_LENGTH characters" 6 40 + else + echo ${remote_ssh_reciprocal_username}:${remote_ssh_reciprocal_password}::::/home/${remote_ssh_reciprocal_username}:bash | newusers + echo "$remote_ssh_username@$remote_ssh_domain $remote_ssh_port /home/$remote_ssh_username $remote_ssh_password" >> $FRIENDS_SERVERS_LIST + remote_ssh_username="" + remote_ssh_domain="" + remote_ssh_port="" + remote_ssh_password="" + remote_ssh_reciprocal_username="" + remote_ssh_reciprocal_password="" + entering_remote_backups_ctr=$((entering_remote_backups_ctr + 1)) + fi + else + echo "$remote_ssh_username@$remote_ssh_domain $remote_ssh_port /home/$remote_ssh_username $remote_ssh_password" >> $FRIENDS_SERVERS_LIST + remote_ssh_username="" + remote_ssh_domain="" + remote_ssh_port="" + remote_ssh_password="" + remote_ssh_reciprocal_username="" + remote_ssh_reciprocal_password="" + entering_remote_backups_ctr=$((entering_remote_backups_ctr + 1)) + fi + else + echo "$remote_ssh_username@$remote_ssh_domain $remote_ssh_port /home/$remote_ssh_username $remote_ssh_password" >> $FRIENDS_SERVERS_LIST + remote_ssh_username="" + remote_ssh_domain="" + remote_ssh_port="" + remote_ssh_password="" + entering_remote_backups_ctr=$((entering_remote_backups_ctr + 1)) + fi - fi - else - entering_remote_backups_done="yes" - fi - done - if [ -f $FRIENDS_SERVERS_LIST ]; then - chown $MY_USERNAME:$MY_USERNAME $FRIENDS_SERVERS_LIST - fi + fi + else + entering_remote_backups_done="yes" + fi + done + if [ -f $FRIENDS_SERVERS_LIST ]; then + chown $MY_USERNAME:$MY_USERNAME $FRIENDS_SERVERS_LIST + fi } function show_result { - clear - if (( $entering_remote_backups_ctr < 2 )); then - echo $'No remote backup locations were specified' - exit 0 - fi - if [ ! -f $FRIENDS_SERVERS_LIST ]; then - echo $"No remote backups list found: $FRIENDS_SERVERS_LIST" - exit 7358 - fi - echo '' - echo $"Remote backups list: $FRIENDS_SERVERS_LIST" - echo '' - echo $'Contents:' - echo '' - cat $FRIENDS_SERVERS_LIST - echo '' + clear + if (( $entering_remote_backups_ctr < 2 )); then + echo $'No remote backup locations were specified' + exit 0 + fi + if [ ! -f $FRIENDS_SERVERS_LIST ]; then + echo $"No remote backups list found: $FRIENDS_SERVERS_LIST" + exit 7358 + fi + echo '' + echo $"Remote backups list: $FRIENDS_SERVERS_LIST" + echo '' + echo $'Contents:' + echo '' + cat $FRIENDS_SERVERS_LIST + echo '' } if [ ! $FRIENDS_SERVERS_LIST ]; then - FRIENDS_SERVERS_LIST=/home/$MY_USERNAME/backup.list + FRIENDS_SERVERS_LIST=/home/$MY_USERNAME/backup.list fi interactive_config_remote_backups diff --git a/src/freedombone-renew-cert b/src/freedombone-renew-cert index 6e0a5205..16e02afd 100755 --- a/src/freedombone-renew-cert +++ b/src/freedombone-renew-cert @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2015-2016 Bob Mottram +# Copyright (C) 2015-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-repair-database b/src/freedombone-repair-database index a41988ce..5f03f3b6 100755 --- a/src/freedombone-repair-database +++ b/src/freedombone-repair-database @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2015-2016 Bob Mottram +# Copyright (C) 2015-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-restore-local b/src/freedombone-restore-local index 5b93da9d..4ce8e0b4 100755 --- a/src/freedombone-restore-local +++ b/src/freedombone-restore-local @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2015-2016 Bob Mottram +# Copyright (C) 2015-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-restore-remote b/src/freedombone-restore-remote index f31ef84b..bc982712 100755 --- a/src/freedombone-restore-remote +++ b/src/freedombone-restore-remote @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2015-2016 Bob Mottram +# Copyright (C) 2015-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-rmemail b/src/freedombone-rmemail index 4830af47..bbb736b1 100755 --- a/src/freedombone-rmemail +++ b/src/freedombone-rmemail @@ -14,7 +14,7 @@ # License # ======= # -# Copyright (C) 2015-2016 Bob Mottram +# Copyright (C) 2015-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-rmlist b/src/freedombone-rmlist index 1577a1d0..6ede960a 100755 --- a/src/freedombone-rmlist +++ b/src/freedombone-rmlist @@ -14,7 +14,7 @@ # License # ======= # -# Copyright (C) 2015-2016 Bob Mottram +# Copyright (C) 2015-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-rmsipuser b/src/freedombone-rmsipuser index befde7ad..cb5d9d89 100755 --- a/src/freedombone-rmsipuser +++ b/src/freedombone-rmsipuser @@ -14,7 +14,7 @@ # License # ======= # -# Copyright (C) 2015-2016 Bob Mottram +# Copyright (C) 2015-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-rmuser b/src/freedombone-rmuser index dc2b7027..7c0d97cf 100755 --- a/src/freedombone-rmuser +++ b/src/freedombone-rmuser @@ -14,7 +14,7 @@ # License # ======= # -# Copyright (C) 2015-2016 Bob Mottram +# Copyright (C) 2015-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-rmxmpp b/src/freedombone-rmxmpp index fc02b9cf..9e519d45 100755 --- a/src/freedombone-rmxmpp +++ b/src/freedombone-rmxmpp @@ -14,7 +14,7 @@ # License # ======= # -# Copyright (C) 2015-2016 Bob Mottram +# Copyright (C) 2015-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-sec b/src/freedombone-sec index 62ea1717..ad91a601 100755 --- a/src/freedombone-sec +++ b/src/freedombone-sec @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2015-2016 Bob Mottram +# Copyright (C) 2015-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-sipfreeext b/src/freedombone-sipfreeext index 400a1781..e771f36c 100755 --- a/src/freedombone-sipfreeext +++ b/src/freedombone-sipfreeext @@ -14,7 +14,7 @@ # License # ======= # -# Copyright (C) 2015-2016 Bob Mottram +# Copyright (C) 2015-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -38,10 +38,10 @@ CONFIG_FILE=/etc/sipwitch.conf maxnum=201 while (( maxnum < 299 )); do - if ! grep -q "extension>$maxnum<" $CONFIG_FILE; then - break; - fi - maxnum=$((maxnum + 1)) + if ! grep -q "extension>$maxnum<" $CONFIG_FILE; then + break; + fi + maxnum=$((maxnum + 1)) done echo $maxnum exit 0 diff --git a/src/freedombone-splitkey b/src/freedombone-splitkey index e285ebbd..3d08a2ff 100755 --- a/src/freedombone-splitkey +++ b/src/freedombone-splitkey @@ -19,7 +19,7 @@ # License # ======= # -# Copyright (C) 2015-2016 Bob Mottram +# Copyright (C) 2015-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-syncthing b/src/freedombone-syncthing index 7736399c..51147c43 100755 --- a/src/freedombone-syncthing +++ b/src/freedombone-syncthing @@ -14,7 +14,7 @@ # License # ======= # -# Copyright (C) 2016 Bob Mottram +# Copyright (C) 2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-tests b/src/freedombone-tests index 13b292e0..191e5ca9 100755 --- a/src/freedombone-tests +++ b/src/freedombone-tests @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2015-2016 Bob Mottram +# Copyright (C) 2015-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-unignore b/src/freedombone-unignore index 78db912f..04ce73d0 100755 --- a/src/freedombone-unignore +++ b/src/freedombone-unignore @@ -15,7 +15,7 @@ # License # ======= # -# Copyright (C) 2015-2016 Bob Mottram +# Copyright (C) 2015-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-upgrade b/src/freedombone-upgrade index 6a544498..743d8a75 100755 --- a/src/freedombone-upgrade +++ b/src/freedombone-upgrade @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2015-2016 Bob Mottram +# Copyright (C) 2015-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-utils-avahi b/src/freedombone-utils-avahi index 3a046361..086d3230 100755 --- a/src/freedombone-utils-avahi +++ b/src/freedombone-utils-avahi @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-utils-backup b/src/freedombone-utils-backup index 54b0330c..c892f4b7 100755 --- a/src/freedombone-utils-backup +++ b/src/freedombone-utils-backup @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-utils-cmake b/src/freedombone-utils-cmake index b54e37dc..8341ae82 100755 --- a/src/freedombone-utils-cmake +++ b/src/freedombone-utils-cmake @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-utils-config b/src/freedombone-utils-config index 4deb8848..cfa6e94a 100755 --- a/src/freedombone-utils-config +++ b/src/freedombone-utils-config @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-utils-cron b/src/freedombone-utils-cron index d376e45b..61484f86 100755 --- a/src/freedombone-utils-cron +++ b/src/freedombone-utils-cron @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-utils-cryptopp b/src/freedombone-utils-cryptopp index 5b0894c6..72944b52 100755 --- a/src/freedombone-utils-cryptopp +++ b/src/freedombone-utils-cryptopp @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-utils-database b/src/freedombone-utils-database index 69c8db65..5146f0ad 100755 --- a/src/freedombone-utils-database +++ b/src/freedombone-utils-database @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-utils-depends b/src/freedombone-utils-depends index 5207758d..74e06b38 100755 --- a/src/freedombone-utils-depends +++ b/src/freedombone-utils-depends @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-utils-dns b/src/freedombone-utils-dns index 7bda0864..75b88a64 100755 --- a/src/freedombone-utils-dns +++ b/src/freedombone-utils-dns @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-utils-ffmpeg b/src/freedombone-utils-ffmpeg index e7e40721..b3e6155d 100755 --- a/src/freedombone-utils-ffmpeg +++ b/src/freedombone-utils-ffmpeg @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-utils-filesystem b/src/freedombone-utils-filesystem index 6536c2c2..2d1dcdb0 100755 --- a/src/freedombone-utils-filesystem +++ b/src/freedombone-utils-filesystem @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-utils-final b/src/freedombone-utils-final index 8407757a..2a791b7f 100755 --- a/src/freedombone-utils-final +++ b/src/freedombone-utils-final @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-utils-firewall b/src/freedombone-utils-firewall index 6079f491..4631a3ed 100755 --- a/src/freedombone-utils-firewall +++ b/src/freedombone-utils-firewall @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-utils-git b/src/freedombone-utils-git index ee297f30..dcab6201 100755 --- a/src/freedombone-utils-git +++ b/src/freedombone-utils-git @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-utils-go b/src/freedombone-utils-go index b673e45e..9c18bcd6 100755 --- a/src/freedombone-utils-go +++ b/src/freedombone-utils-go @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-utils-help b/src/freedombone-utils-help index 09bade8c..a5c8f87b 100755 --- a/src/freedombone-utils-help +++ b/src/freedombone-utils-help @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-utils-interactive b/src/freedombone-utils-interactive index 3255e212..53d6daac 100755 --- a/src/freedombone-utils-interactive +++ b/src/freedombone-utils-interactive @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-utils-international b/src/freedombone-utils-international index dc8616ab..66dbda58 100755 --- a/src/freedombone-utils-international +++ b/src/freedombone-utils-international @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-utils-keys b/src/freedombone-utils-keys index 3d0a8f27..04daabb5 100755 --- a/src/freedombone-utils-keys +++ b/src/freedombone-utils-keys @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2015-2016 Bob Mottram +# Copyright (C) 2015-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-utils-login b/src/freedombone-utils-login index 9a465e5d..8a6f55e2 100755 --- a/src/freedombone-utils-login +++ b/src/freedombone-utils-login @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-utils-monkeysphere b/src/freedombone-utils-monkeysphere index a2969fff..cdf16cfc 100755 --- a/src/freedombone-utils-monkeysphere +++ b/src/freedombone-utils-monkeysphere @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-utils-network b/src/freedombone-utils-network index ea0f9365..8797d131 100755 --- a/src/freedombone-utils-network +++ b/src/freedombone-utils-network @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-utils-nodejs b/src/freedombone-utils-nodejs index dd6eeb4a..89e3a81b 100755 --- a/src/freedombone-utils-nodejs +++ b/src/freedombone-utils-nodejs @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-utils-onion b/src/freedombone-utils-onion index c8653fad..868c874f 100755 --- a/src/freedombone-utils-onion +++ b/src/freedombone-utils-onion @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-utils-passwords b/src/freedombone-utils-passwords index 2a4c7b59..f9b5c1f4 100755 --- a/src/freedombone-utils-passwords +++ b/src/freedombone-utils-passwords @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-utils-repos b/src/freedombone-utils-repos index 7062ecd5..aada4963 100755 --- a/src/freedombone-utils-repos +++ b/src/freedombone-utils-repos @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-utils-rng b/src/freedombone-utils-rng index ee54c892..906f62cd 100755 --- a/src/freedombone-utils-rng +++ b/src/freedombone-utils-rng @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-utils-selector b/src/freedombone-utils-selector index 21458c27..2457cf55 100755 --- a/src/freedombone-utils-selector +++ b/src/freedombone-utils-selector @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2015-2016 Bob Mottram +# Copyright (C) 2015-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-utils-setup b/src/freedombone-utils-setup index b9174785..136016e6 100755 --- a/src/freedombone-utils-setup +++ b/src/freedombone-utils-setup @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-utils-ssh b/src/freedombone-utils-ssh index d417383f..39e4ce0c 100755 --- a/src/freedombone-utils-ssh +++ b/src/freedombone-utils-ssh @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-utils-time b/src/freedombone-utils-time index e6486748..716c60e9 100755 --- a/src/freedombone-utils-time +++ b/src/freedombone-utils-time @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-utils-tracker b/src/freedombone-utils-tracker index 2553d221..a5701352 100755 --- a/src/freedombone-utils-tracker +++ b/src/freedombone-utils-tracker @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-utils-upgrade b/src/freedombone-utils-upgrade index e6dc9144..5aa6db85 100755 --- a/src/freedombone-utils-upgrade +++ b/src/freedombone-utils-upgrade @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-utils-validation b/src/freedombone-utils-validation index 7105414b..a13b1cf0 100755 --- a/src/freedombone-utils-validation +++ b/src/freedombone-utils-validation @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-utils-watchdog b/src/freedombone-utils-watchdog index be270011..0a8856e1 100755 --- a/src/freedombone-utils-watchdog +++ b/src/freedombone-utils-watchdog @@ -15,7 +15,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-utils-web b/src/freedombone-utils-web index d985f03f..63c78b63 100755 --- a/src/freedombone-utils-web +++ b/src/freedombone-utils-web @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-utils-wifi b/src/freedombone-utils-wifi index c1f697b0..08b07c44 100755 --- a/src/freedombone-utils-wifi +++ b/src/freedombone-utils-wifi @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2015-2016 Bob Mottram +# Copyright (C) 2015-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-utils-zram b/src/freedombone-utils-zram index b3600539..0e09716d 100755 --- a/src/freedombone-utils-zram +++ b/src/freedombone-utils-zram @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-vars b/src/freedombone-vars index 4e01c117..55fb0978 100755 --- a/src/freedombone-vars +++ b/src/freedombone-vars @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2014-2016 Bob Mottram +# Copyright (C) 2014-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-wifi b/src/freedombone-wifi index 67106380..a2ed2f30 100755 --- a/src/freedombone-wifi +++ b/src/freedombone-wifi @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2016 Bob Mottram +# Copyright (C) 2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-xmpp-pass b/src/freedombone-xmpp-pass index f6a80b1c..d3965f6b 100755 --- a/src/freedombone-xmpp-pass +++ b/src/freedombone-xmpp-pass @@ -14,7 +14,7 @@ # License # ======= # -# Copyright (C) 2015-2016 Bob Mottram +# Copyright (C) 2015-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/freedombone-zram b/src/freedombone-zram index c4da621d..87c561de 100755 --- a/src/freedombone-zram +++ b/src/freedombone-zram @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2015-2016 Bob Mottram +# Copyright (C) 2015-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/src/meshavahi b/src/meshavahi index c5cf2564..7ea0d3af 100755 --- a/src/meshavahi +++ b/src/meshavahi @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2015-2016 Bob Mottram +# Copyright (C) 2015-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/translate b/translate index 9e296056..9e414a75 100755 --- a/translate +++ b/translate @@ -13,7 +13,7 @@ # License # ======= # -# Copyright (C) 2015-2016 Bob Mottram +# Copyright (C) 2015-2016 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -33,7 +33,7 @@ PROJECT_NAME='freedombone' # languages to translate into language=( af sq ar eu be bs bg ca hr zh_cn zh_tw cs da nl en_us et fa fil fi fr fr_CH fr_BE fr_ca ga gl ka de de_du el gu he hi hu is id it ja kn km ko lo lt lv ml ms mi_tn mi_wwow mn no no_gr nn pl pt pt_br ro ru sm sr sk sl so es sv tl ta th to tr uk vi ) -MY_EMAIL_ADDRESS='bob@robotics.uk.to' +MY_EMAIL_ADDRESS='bob@freedombone.net' COMMAND_FILES=src/${PROJECT_NAME}* @@ -94,14 +94,14 @@ function create_translation_files { function add_all_translations { for lang in "${language[@]}" - do + do git add locale/${lang}/* done } function remove_all_translations { for lang in "${language[@]}" - do + do rm locale/${lang}/* done } @@ -111,7 +111,7 @@ function install_translations { do COMMAND_NAME=$(echo $f | awk -F '/' '{print $2}') for lang in "${language[@]}" - do + do # convert json to mo if [ -f /usr/bin/i18next-conv ]; then if [ ! -f locale/${lang}/${COMMAND_NAME}.mo ]; then @@ -126,8 +126,8 @@ function install_translations { if [ -d /usr/share/locale/${lang} ]; then if [ -f locale/${lang}/${COMMAND_NAME}.mo ]; then cp locale/${lang}/${COMMAND_NAME}.mo /usr/share/locale/${lang}/${COMMAND_NAME}.mo - fi - fi + fi + fi done done } diff --git a/website/EN/backups.html b/website/EN/backups.html index cd88282c..9d22c1f4 100644 --- a/website/EN/backups.html +++ b/website/EN/backups.html @@ -3,11 +3,11 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + - + @@ -77,6 +77,7 @@ pre.src-ledger:before { content: 'Ledger'; } pre.src-lisp:before { content: 'Lisp'; } pre.src-lilypond:before { content: 'Lilypond'; } + pre.src-lua:before { content: 'Lua'; } pre.src-matlab:before { content: 'MATLAB'; } pre.src-mscgen:before { content: 'Mscgen'; } pre.src-ocaml:before { content: 'Objective Caml'; } @@ -255,37 +256,36 @@ for the JavaScript code in this tag. -Backup keys +Backup keys -Backup to USB +Backup to USB -Restore from USB +Restore from USB -Distributed/remote backups +Distributed/remote backups -Restore from a friend +Restore from a friend -
-

Backup keys

-
+
+

Backup keys

+

As part of the Freedombone installation the GPG key used to encrypt backups will have been added to the .gnupg keyring in your home directory. Ensure that you have a copy of all your keys by plugging in a LUKS encrypted USB drive and then running the commands:

-
ssh username@domainname -p 2222
 
@@ -303,9 +303,9 @@ A pro-tip for the best possible security is to create multiple USB drives contai

-
-

Backup to USB

-
+
+

Backup to USB

+

First and foremost - encrypt your USB drives! Even if you think you have "nothing to hide" if you accidentally lose a USB thumb drive (it's easy to lose small objects) and it's not encrypted then potentially someone might be able to obtain enough information about you to commit identity fraud, take out loans, open bank accounts, etc. Use LUKS encryption. In Ubuntu you can do this using the Disk Utility application. Some instructions can be found here.

@@ -319,7 +319,6 @@ Log into the system and become the root user, then run the backup command

-
ssh username@domainname -p 2222
 
@@ -337,15 +336,14 @@ When the backup ends remove the USB drive and keep it somewhere safe. Even if it

-
-

Restore from USB

-
+
+

Restore from USB

+

Log into the system and become the root user:

-
ssh username@domainname -p 2222
 
@@ -363,9 +361,9 @@ Enter the LUKS password for the USB drive. When the restore is complete you can

-
-

Distributed/remote backups

-
+
+

Distributed/remote backups

+

Distributed backups are a better way of ensuring the persistence of your data, such that even if your system gets stolen or destroyed then the data will still be recoverable from your friends. Since the backups are encrypted your friends (or anyone else with access to their systems) won't be able to read your backed up content even if their systems are subsequently compromised.

@@ -375,7 +373,6 @@ Firstly you will need to have a user account on one or more of your friends serv

-
ssh username@domainname -p 2222
 
@@ -389,12 +386,12 @@ You can then enter the usernames, domains and ssh logins for one or more remote

-
-

Restore from a friend

-
-
-

With a completely new Freedombone installation

-
+
+

Restore from a friend

+
+
+

With a completely new Freedombone installation

+

This is the ultimate disaster recovery scenario in which you are beginning completely from scratch with new hardware and a new Freedombone installation (configured with the same username and domain names). It is assumed that the old hardware was destroyed, but that you have the backup key stored on a USB thumb drive.

@@ -404,7 +401,6 @@ First log in and if you don't already have one then create a new friends list:

-
ssh username@domainname -p 2222
 
@@ -422,9 +418,9 @@ Finally select Restore from remote backup and enter the domain name of th

-
-

On an existing Freedombone installation

-
+
+

On an existing Freedombone installation

+

This is for more common situations in which maybe some data became corrupted and you want to restore it.

@@ -434,7 +430,6 @@ Log in as root:

-
ssh username@domainname -p 2222
 
@@ -471,7 +466,7 @@ Return to the home page
diff --git a/website/EN/code.html b/website/EN/code.html index ab0b9b3c..8515b3b3 100644 --- a/website/EN/code.html +++ b/website/EN/code.html @@ -3,11 +3,11 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + - + @@ -77,6 +77,7 @@ pre.src-ledger:before { content: 'Ledger'; } pre.src-lisp:before { content: 'Lisp'; } pre.src-lilypond:before { content: 'Lilypond'; } + pre.src-lua:before { content: 'Lua'; } pre.src-matlab:before { content: 'MATLAB'; } pre.src-mscgen:before { content: 'Mscgen'; } pre.src-ocaml:before { content: 'Objective Caml'; } @@ -295,7 +296,7 @@ Return to the home page
diff --git a/website/EN/controlpanel.html b/website/EN/controlpanel.html index c711faee..a8bcbccb 100644 --- a/website/EN/controlpanel.html +++ b/website/EN/controlpanel.html @@ -3,11 +3,11 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + - + @@ -77,6 +77,7 @@ pre.src-ledger:before { content: 'Ledger'; } pre.src-lisp:before { content: 'Lisp'; } pre.src-lilypond:before { content: 'Lilypond'; } + pre.src-lua:before { content: 'Lua'; } pre.src-matlab:before { content: 'MATLAB'; } pre.src-mscgen:before { content: 'Mscgen'; } pre.src-ocaml:before { content: 'Objective Caml'; } @@ -254,60 +255,59 @@ for the JavaScript code in this tag. -Main menu +Main menu -User control panel +User control panel -About screen +About screen -Email filtering rules +Email filtering rules -Hubzilla menu +Hubzilla menu -IRC menu +IRC menu -Media menu +Media menu -Repository mirrors +Repository mirrors -Backup and restore menu +Backup and restore menu -Security menu +Security menu -User management menu +User management menu -
-

Main menu

-
+
+

Main menu

+

You can access the main menu by logging into the system.

-
ssh myusername@mydomain -p 2222
 
@@ -334,9 +334,9 @@ To select anythng on the control panel use the up and down cursor keys an
-
-

User control panel

-
+
+

User control panel

+

When a user initially logs in they will see a version of the control panel with restricted options aimed at the kinds of things which someone who isn't the administrator might wish to do. An expected scenario is that you might have a few friends or family members on the system, and this is who this menu is intended for.

@@ -358,9 +358,9 @@ It's also possible for the user to define email filtering rules, add a ssh publi

-
-

About screen

-
+
+

About screen

+

To find out your current domain names select the About screen from the main menu. This is especially useful for finding your onion addresses. For improved security by compartmentalisation, and also simpler implementation, each application has its own onion address.

@@ -383,9 +383,9 @@ The Local Mirrors contains mirrored copies of the git repositories used by the s
-
-

Email filtering rules

-
+
+

Email filtering rules

+

You can add users to mailing lists, or block particular email addresses or subject lines in this menu.

@@ -400,9 +400,9 @@ You can add users to mailing lists, or block particular email addresses or subje
-
-

Hubzilla menu

-
+
+

Hubzilla menu

+

This allows you to set the global directory location and obtain an SSL/TLS certificate if necessary.

@@ -417,9 +417,9 @@ This allows you to set the global directory location and obtain an SSL/TLS certi
-
-

IRC menu

-
+
+

IRC menu

+

You can view the current IRC password or change it from here. Currently the IRC server does not work equally well on clrearnet and via Tor, so there is an option to switch from one to the other. Initially the IRC server will be running on clearnet (i.e. no onion routing).

@@ -434,9 +434,9 @@ You can view the current IRC password or change it from here. Currently the IRC
-
-

Media menu

-
+
+

Media menu

+

It's possible to add playable media to a USB drive and plug it into the system, then make it accessible to other devices such as tablets or phones on your local network via DLNA.

@@ -451,9 +451,9 @@ It's possible to add playable media to a USB drive and plug it into the system,
-
-

Repository mirrors

-
+
+

Repository mirrors

+

If you don't want to use the default repositories, or don't have access to them, then you can obtain them from another Freedombone server (the details can be found on the other server on the About screen of the control panel).

@@ -468,9 +468,9 @@ If you don't want to use the default repositories, or don't have access to them,
-
-

Backup and restore menu

-
+
+

Backup and restore menu

+

You can create backups or restore from backup here. It's also possible to create keydrives which store the backup key.

@@ -485,9 +485,9 @@ You can create backups or restore from backup here. It's also possible to create
-
-

Security menu

-
+
+

Security menu

+

If you need to generate SSL/TLS certificates or change cypher details due to changing recommendations then you can do that here. If you are changing cypher details be extra careful not to make mistakes/typos, which could reduce the security of your system.

@@ -502,9 +502,9 @@ If you need to generate SSL/TLS certificates or change cypher details due to cha
-
-

User management menu

-
+
+

User management menu

+

Users can be added or removed here.

@@ -540,7 +540,7 @@ Users can be added or removed here.
diff --git a/website/EN/devguide.html b/website/EN/devguide.html index 504deb4e..9a9ae43a 100644 --- a/website/EN/devguide.html +++ b/website/EN/devguide.html @@ -3,11 +3,11 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + - + @@ -245,17 +245,17 @@ for the JavaScript code in this tag.

Developers Guide

-
-

Introduction

-
+
+

Introduction

+

Freedombone consists of a set of bash scripts. There are a lot of them, but they're not very complicated. If you're familiar with the GNU/Linux commandline and can hack a bash script then you can probably add a new app or fix a bug in the system. There are no trendy development frameworks to learn or to get in your way.

-
-

Community Statement

-
+
+

Community Statement

+

This project doesn't require you to take any special pledge of allegiance or subscribe to any guru's list of commandments. It does not care about your gender, race, national flag or political alignment. It is agnostic towards your religion or lack thereof. It doesn't give one hoot as to whether you are young or old, rich or poor, gay, trans, straight or just "other". It does not care if you like your eggs sunny side up or if you are a vegan.

@@ -273,9 +273,9 @@ This project also has a no bullshit policy. Anyone trying to cause a ruckus by t

-
-

Adding extra apps

-
+
+

Adding extra apps

+

Suppose you have some internet application which you want to add to the system. To do this you need to create an app script which tells the system how to install/remove and also backup/restore. The script should be designed to work with the current stable version of Debian.

@@ -544,9 +544,9 @@ Submit your working app to -

Customising mesh images

-
+
+

Customising mesh images

+
diff --git a/website/EN/faq.html b/website/EN/faq.html index 37e9d227..e8ee4283 100644 --- a/website/EN/faq.html +++ b/website/EN/faq.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + @@ -256,31 +256,31 @@ for the JavaScript code in this tag. -What applications are supported? +What applications are supported? -I don't have a static IP address. Can I still install this system? +I don't have a static IP address. Can I still install this system? -Why Freedombone and not FreedomBox? +Why Freedombone and not FreedomBox? -Why not support building images for Raspberry Pi? +Why not support building images for Raspberry Pi? -Why use Tor? I've heard it's used by bad people +Why use Tor? I've heard it's used by bad people -Why use Github? +Why use Github? -Keys and emails should not be stored on servers. Why do you do that? +Keys and emails should not be stored on servers. Why do you do that? @@ -288,83 +288,83 @@ for the JavaScript code in this tag. -Why can't I access my .onion site with a Tor browser? +Why can't I access my .onion site with a Tor browser? -What is the best hardware to run this system on? +What is the best hardware to run this system on? -Can I add more users to the system? +Can I add more users to the system? -Why not use Signal for mobile chat? +Why not use Signal for mobile chat? -What is the most secure chat app to use on mobile? +What is the most secure chat app to use on mobile? -How do I remove a user from the system? +How do I remove a user from the system? -How do I reset the tripwire? +How do I reset the tripwire? -Is metadata protected? +Is metadata protected? -How do I create email processing rules? +How do I create email processing rules? -Why isn't dynamic DNS working? +Why isn't dynamic DNS working? -How do I change my encryption settings? +How do I change my encryption settings? -How do I get a domain name? +How do I get a domain name? -How do I get a "real" SSL/TLS/HTTPS certificate? +How do I get a "real" SSL/TLS/HTTPS certificate? -How do I renew a Let's Encrypt certificate? +How do I renew a Let's Encrypt certificate? -I tried to renew a Let's Encrypt certificate and it failed. What should I do? +I tried to renew a Let's Encrypt certificate and it failed. What should I do? -Why use self-signed certificates? +Why use self-signed certificates? -Why not use the services of $company instead? They took the Seppuku pledge +Why not use the services of $company instead? They took the Seppuku pledge -Why does my email keep getting rejected as spam by Gmail/etc? +Why does my email keep getting rejected as spam by Gmail/etc?
-
-

What applications are supported?

-
+
+

What applications are supported?

+
  • Email - Server and Mutt client configured for use with GPG and Emacs or Vim
  • DLNA - Play music on your local network devices
  • @@ -389,9 +389,9 @@ for the JavaScript code in this tag.
-
-

I don't have a static IP address. Can I still install this system?

-
+
+

I don't have a static IP address. Can I still install this system?

+

Yes. The minimum requirements are to have some hardware that you can install Debian onto and also that you have administrator access to your internet router so that you can forward ports to the system which has Freedombone installed.

@@ -401,17 +401,17 @@ The lack of a static IP address can be worked around by using a dynamic DNS serv

-
-

Why Freedombone and not FreedomBox?

-
+
+

Why Freedombone and not FreedomBox?

+

When the project began in late 2013 the FreedomBox project seemed to be going nowhere, and was only designed to work with the DreamPlug hardware. There was some new hardware out - the Beaglebone Black - which could run Debian and was also a free hardware design so seemed more appropriate. Hence the name "Freedombone", being like FreedomBox but on a Beaglebone. There are some similarities and differences between the two projects:

-
-

Similarities

-
+
+

Similarities

+
  • Uses freedom-maker and vmdebootstrap to build debian images
  • Supports the use of Tor onion addresses to access websites
  • @@ -425,9 +425,9 @@ When the project began in late 2013 the FreedomBox project seemed to be going no
-
-

Differences

-
+
+

Differences

+
  • FreedomBox is a Debian pure blend. Freedombone is not
  • Freedombone only supports Free Software. FreedomBox includes some closed binary boot blobs for certain ARM boards
  • @@ -442,9 +442,9 @@ When the project began in late 2013 the FreedomBox project seemed to be going no
-
-

Why not support building images for Raspberry Pi?

-
+
+

Why not support building images for Raspberry Pi?

+

The FreedomBox project supports Raspberry Pi builds, and the image build system for Freedombone is based on the same system. However, although the Raspberry Pi can run a version of Debian it requires a closed proprietary blob in order to boot the hardware. Who knows what that blob might contain or what exploits it could facilitate. From an adversarial point of view if you were trying to deliver "bulk equipment interference" then it doesn't get any better than piggybacking on something which has control of the boot process, and hence all subsequently run processes.

@@ -454,9 +454,9 @@ So although the Raspberry Pi is cheap and hugely popular it's not supported by t

-
-

Why use Tor? I've heard it's used by bad people

-
+
+

Why use Tor? I've heard it's used by bad people

+

Before you run screaming for the hills based upon whatever scare story you may have just read in the mainstream media there are a few things worthy of consideration. Tor is installed by default on Freedombone, but not as a relay or exit node. It's only used to provide onion addresses so that this gives you or the viewers of your sites some choice about how they access the information. It also allows you to subscribe to and read RSS feeds privately.

@@ -474,9 +474,9 @@ The media may also have sold you torrid tales about individual Tor project devel

-
-

Why use Github?

-
+
+

Why use Github?

+

Github is paradoxically a centralized, closed and proprietary system which happens to mostly host free and open source projects. Up until now it has been relatively benign, but at some point in the name of "growth" it will likely start becoming more evil, or just become like SourceForge - which was also once much loved by FOSS developers, but turned into a den of malvertizing.

@@ -494,9 +494,9 @@ Currently many of the repositories used for applications which are not yet packa

-
-

Keys and emails should not be stored on servers. Why do you do that?

-
+
+

Keys and emails should not be stored on servers. Why do you do that?

+

Ordinarily this is good advice. However, the threat model for a device in your home is different from the one for a generic server in a massive warehouse. Compare and contrast:

@@ -554,17 +554,17 @@ In the home environment a box with a good firewall and no GUI components install
-
-

Why can't I access my .onion site with a Tor browser?

-
+
+

Why can't I access my .onion site with a Tor browser?

+

Probably you need to add the site to the NoScript whitelist. Typically click/press on the noscript icon (or select from the menu on mobile) then select whitelist and add the site URL. You may also need to disable HTTPS Everywhere when using onion addresses, which don't use https.

-
-

What is the best hardware to run this system on?

-
+
+

What is the best hardware to run this system on?

+

It was originally designed to run on the Beaglebone Black, but that should be regarded as the most minimal system, because it's single core and has by today's standards a small amount of memory. Obviously the more powerful the hardware is the faster things like web pages (blog, social networking, etc) will be served but the more electricity such a system will require if you're running it 24/7. A good compromise between performance and energy consumption is something like an old netbook. The battery of an old netbook or laptop even gives you UPS capability to keep the system going during brief power outages or cable re-arrangements, and that means using full disk encryption on the server also becomes more practical.

@@ -574,9 +574,9 @@ It was originally designed to run on the Beaglebone Black, but that should be re

-
-

Can I add more users to the system?

-
+
+

Can I add more users to the system?

+

Yes. Freedombone can support a small number of users, for a "friends and family" type of home installation. This gives them access to an email account, XMPP, SIP phone and the blog (depending on whether the variant which you installed includes those).

@@ -599,9 +599,9 @@ Another point is that Freedombone installations are not intended to support many

-
-

Why not use Signal for mobile chat?

-
+
+

Why not use Signal for mobile chat?

+

Celebrities recommend Signal. It's Free Software so it must be good, right?

@@ -623,9 +623,9 @@ To give credit where it's due Signal is good, but it could be a lot better. The

-
-

What is the most secure chat app to use on mobile?

-
+
+

What is the most secure chat app to use on mobile?

+

On mobile there are various options. The apps which are likely to be most secure are ones which have end-to-end encryption enabled by default and which can also be onion routed via Orbot. End-to-end encryption secures the content of the message and onion routing obscures the metadata, making it hard for a passive adversary to know who is communicating with who.

@@ -635,13 +635,13 @@ The current safest way to chat is to use Conv

-There are many other fashionable chat apps with end-to-end security, but often they are closed source, have a single central server or can't be onion routed. It's also important to remember that closed source chat apps should be assumed to be untrustworthy, since their security cannot be independently verified. +There are many other fashionable chat apps with end-to-end security, but often they are closed source, have a single central server or can't be onion routed. It's also important to remember that closed source chat apps should be assumed to be untrustworthy, since their security cannot be independently verified.

-
-

How do I remove a user from the system?

-
+
+

How do I remove a user from the system?

+

To remove a user:

@@ -656,9 +656,9 @@ Select Administrator controls then Manage Users and then Delete

-
-

How do I reset the tripwire?

-
+
+

How do I reset the tripwire?

+

The tripwire will be automatically reset once per week. If you want to reset it earlier then do the following:

@@ -673,9 +673,9 @@ Select Administrator controls then "reset tripwire" using cursors and spa

-
-

Is metadata protected?

-
+
+

Is metadata protected?

+

"We kill people based on metadata" @@ -691,9 +691,9 @@ Even when using Freedombone metadata analysis by third parties is still possible

-
-

How do I create email processing rules?

-
+
+

How do I create email processing rules?

+
ssh username@domainname -p 2222
 
@@ -749,9 +749,9 @@ Spamassassin is also available and within Mutt you can use the S (shift+s) key t

-
-

Why isn't dynamic DNS working?

-
+
+

Why isn't dynamic DNS working?

+

If you run the command:

@@ -774,9 +774,9 @@ https://www.privateinternetaccess.com/pages/whats-my-ip/
-
-

How do I change my encryption settings?

-
+
+

How do I change my encryption settings?

+

Suppose that some new encryption vulnerability has been announced and that you need to change your encryption settings. Maybe an algorithm thought to be secure is now no longer so and you need to remove it. You can change your settings by doing the following:

@@ -791,9 +791,9 @@ Select Administrator controls then select Security Settings. You w

-
-

How do I get a domain name?

-
+
+

How do I get a domain name?

+

Suppose that you have bought a domain name (rather than using a free subdomain on freedns) and you want to use that instead.

@@ -857,9 +857,9 @@ You should now be able to send an email from postmaster@mynewdomainname a
-
-

How do I get a "real" SSL/TLS/HTTPS certificate?

-
+
+

How do I get a "real" SSL/TLS/HTTPS certificate?

+

If you did the full install or selected the social variant then the system will have tried to obtain a Let's Encrypt certificate automatically during the install process. If this failed for any reason, or if you have created a new site which you need a certificate for then do the following:

@@ -878,9 +878,9 @@ One thing to be aware of is that Let's Encrypt doesn't support many dynamic DNS

-
-

How do I renew a Let's Encrypt certificate?

-
+
+

How do I renew a Let's Encrypt certificate?

+

Normally certificates will be automatically renewed once per month, so you don't need to be concerned about it. If anything goes wrong with the automatic renewal then you should receive a warning email.

@@ -899,9 +899,9 @@ Select Administrator controls then Security settings then Renew

-
-

I tried to renew a Let's Encrypt certificate and it failed. What should I do?

-
+
+

I tried to renew a Let's Encrypt certificate and it failed. What should I do?

+

Most likely it's because Let's Encrypt doesn't support your particular domain or subdomain. Currently free subdomains tend not to work. You'll need to buy a domain name, link it to your dynamic DNS account and then do:

@@ -916,9 +916,9 @@ Select Administrator controls then Security settings then Creat

-
-

Why use self-signed certificates?

-
+
+

Why use self-signed certificates?

+

Almost everywhere on the web you will read that self-signed certificates are worthless. They bring up scary-scary looking browser warnings and gurus will advise you not to use them. Self-signed certificates are quite useful though. What the scary warnings mean - and it would be good if they explained this more clearly - is that you have an encrypted connection established but there is no certainty about who that connection is with. They probably will protect the content of your communications from passive bulk interception - such as the tapping of under-sea cables.

@@ -933,17 +933,17 @@ You might say, "but surely LetsEncrypt is a single point of failure!", an
-
-

Why not use the services of $company instead? They took the Seppuku pledge

-
+
+

Why not use the services of $company instead? They took the Seppuku pledge

+

That pledge is utterly worthless. Years ago people trusted Google in the same sort of way, because they promised not be be evil and because a lot of the engineers working for them seemed like honest types who were "on our side". Post-nymwars and post-PRISM we know exactly how much Google cared about the privacy and security of its users. But Google is only one particular example. In general don't trust pledges made by companies, even if the people running them seem really sincere.

-
-

Why does my email keep getting rejected as spam by Gmail/etc?

-
+
+

Why does my email keep getting rejected as spam by Gmail/etc?

+

Welcome to the world of email. Email is really the archetypal decentralized service, developed during the early days of the internet. In principle anyone can run an email server, and that's exactly what you're doing with Freedombone. Email is very useful, but it has a big problem, and that's that the protocols are totally insecure. That made it easy for spammers to do their thing, and in response highly elaborate spam filtering and blocking systems were developed. Chances are that your emails are being blocked in this way. Sometimes the blocking is so indisciminate that entire countries are excluded. What can you do about it? Unless you control the block list at the receiving end you may not be able to do much unless you can find an email proxy server which is trusted by the receiving server.

@@ -1000,7 +1000,7 @@ Return to the home page
diff --git a/website/EN/homeserver.html b/website/EN/homeserver.html index 29fb3dd0..dc88f49b 100644 --- a/website/EN/homeserver.html +++ b/website/EN/homeserver.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + @@ -382,7 +382,7 @@ This site can also be accessed via a Tor browser at -Back to top | E-mail me +Back to top | E-mail me
diff --git a/website/EN/index.html b/website/EN/index.html index 8549fb39..29ab62f8 100644 --- a/website/EN/index.html +++ b/website/EN/index.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + @@ -306,7 +306,7 @@ This site can also be accessed via a Tor browser at -Back to top | E-mail me +Back to top | E-mail me
diff --git a/website/EN/installation.html b/website/EN/installation.html index 913b0311..c8754be1 100644 --- a/website/EN/installation.html +++ b/website/EN/installation.html @@ -3,11 +3,11 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + - + @@ -255,11 +255,11 @@ for the JavaScript code in this tag. -Building an image for a Single Board Computer or Virtual Machine +Building an image for a Single Board Computer or Virtual Machine -Checklist +Checklist @@ -267,34 +267,34 @@ for the JavaScript code in this tag. -Installation +Installation -Social Key Management - the 'Unforgettable Key' +Social Key Management - the 'Unforgettable Key' -Final Setup +Final Setup -Keydrives +Keydrives -On Client Machines +On Client Machines -Administering the system +Administering the system -
-

Building an image for a Single Board Computer or Virtual Machine

-
+
+

Building an image for a Single Board Computer or Virtual Machine

+

You don't have to trust images downloaded from random internet locations signed with untrusted keys. You can build one from scratch yourself, and this is the recommended procedure for maximum security. For guidance on how to build images see the manpage for the freedombone-image command.

@@ -371,9 +371,9 @@ If the image build fails with an error such as "Error reading from server. Re
-
-

Checklist

-
+
+

Checklist

+

Before installing Freedombone you will need a few things.

@@ -387,17 +387,17 @@ Before installing Freedombone you will need a few things.
-
-

Installation

-
+
+

Installation

+

There are three install options: Laptop/Desktop/Netbook, SBC and Virtual Machine.

-
-

On a Laptop, Netbook or Desktop machine

-
+
+

On a Laptop, Netbook or Desktop machine

+

If you have an existing system, such as an old laptop or netbook which you can leave running as a server, then install a new version of Debian Jessie onto it. During the Debian install you won't need the print server or the desktop environment, and unchecking those will reduce the attack surface. Once Debian enter the following commands:

@@ -415,9 +415,9 @@ freedombone menuconfig
-
-

On a single board computer (SBC)

-
+
+

On a single board computer (SBC)

+

Currently the following boards are supported:

@@ -495,9 +495,9 @@ Using the password 'freedombone'. Take a note of the new login password and then
-
-

As a Virtual Machine

-
+
+

As a Virtual Machine

+

Qemu is currently supported, since it's s fully free software system. You can run a 64 bit Qemu image with:

@@ -514,42 +514,42 @@ The default login will be username 'fbone' and password 'freedombone'. Take a no
-
-

Social Key Management - the 'Unforgettable Key'

-
+
+

Social Key Management - the 'Unforgettable Key'

+

During the install procedure you will be asked if you wish to import GPG keys. If you don't already possess GPG keys then just select "Ok" and they will be generated during the install. If you do already have GPG keys then there are a few possibilities

-
-

You have the gnupg keyring on an encrypted USB drive

-
+
+

You have the gnupg keyring on an encrypted USB drive

+

If you previously made a master keydrive containing the full keyring (the .gnupg directory). This is the most straightforward case, but not as secure as splitting the key into fragments.

-
-

You have a number of key fragments on USB drives retrieved from friends

-
+
+

You have a number of key fragments on USB drives retrieved from friends

+

-If you previously made some USB drives containing key fragments then retrieve them from your friends and plug them in one after the other. After the last drive has been read then remove it and just select "Ok". The system will then try to reconstruct the key. For this to work you will need to have previously made three or more Keydrives. +If you previously made some USB drives containing key fragments then retrieve them from your friends and plug them in one after the other. After the last drive has been read then remove it and just select "Ok". The system will then try to reconstruct the key. For this to work you will need to have previously made three or more Keydrives.

-
-

You can specify some ssh login details for friends servers containing key fragments

-
+
+

You can specify some ssh login details for friends servers containing key fragments

+

Enter three or more sets of login details and the installer will try to retrieve key fragments and then assemble them into the full key. This only works if you previously were using remote backups and had social key management enabled.

-
-

Final Setup

-
+
+

Final Setup

+

Any manual post-installation setup instructions or passwords can be found in /home/username/README. You should remove any passwords from that file and store them within a password manager such as KeepassX.

@@ -667,16 +667,16 @@ On your internet router, typically under firewall settings, open the following p
-
-

Keydrives

-
+
+

Keydrives

+

After installing for the first time it's a good idea to create some keydrives. These will store your gpg key so that if all else fails you will still be able to restore from backup. There are two ways to do this:

-
-

Master Keydrive

-
+
+

Master Keydrive

+

This is the traditional security model in which you carry your full keyring on an encrypted USB drive. To make a master keydrive first format a USB drive as a LUKS encrypted drive. In Ubuntu this can be done from the Disk Utility application. Then plug it into the Freedombone system, then from your local machine run:

@@ -691,9 +691,9 @@ Select Administrator controls then Backup and Restore then Back

-
-

Fragment keydrives

-
+
+

Fragment keydrives

+

This breaks your GPG key into a number of fragments and randomly selects one to add to the USB drive. First format a USB drive as a LUKS encrypted drive. In Ubuntu this can be done from the Disk Utility application. Plug it into the Freedombone system then from your local machine run the following commands:

@@ -713,9 +713,9 @@ Fragments are randomly assigned and so you will need at least three or four keyd
-
-

On Client Machines

-
+
+

On Client Machines

+

You can configure laptops or desktop machines which connect to the Freedombone server in the following way. This alters encryption settings to improve overall security.

@@ -732,9 +732,9 @@ freedombone-client
-
-

Administering the system

-
+
+

Administering the system

+

To administer the system after installation log in via ssh, become the root user and then launch the control panel.

@@ -775,7 +775,7 @@ Return to the home page
diff --git a/website/EN/mesh.html b/website/EN/mesh.html index b9506e9c..1852cf51 100644 --- a/website/EN/mesh.html +++ b/website/EN/mesh.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + @@ -273,13 +273,13 @@ for the JavaScript code in this tag. -What the system can do +What the system can do - -Disk Images +Disk Images - -Building Disk Images +Building Disk Images - -How to use it +How to use it @@ -288,9 +288,9 @@ for the JavaScript code in this tag. Mesh networks are useful as a quick way to make a fully decentralised communications system which is not connected to or reliant upon the internet. Think festivals, hacker conferences, onboard ships at sea, disaster/war zones, small business internal office communications, protests, remote areas of the world, temporary "digital blackouts", scientific expeditions and off-world space colonies. The down side is that you can't access any internet content. The upside is that you can securely communicate with anyone on the local mesh. No ISPs. No payments or subscriptions beyond the cost of obtaining the hardware. Systems need to be within wifi range of each other for the mesh to be created. It can be an ultra-convenient way to do purely local communications.

-
-

What the system can do

-
+
+

What the system can do

+
  • Discovery of other users on the network
  • Text based chat, one-to-one and in groups
  • @@ -311,12 +311,12 @@ This system should be quite scalable. Both qTox and IPFS are based upon distribu
-
-

Disk Images

-
-
-

Client images

-
+
+

Disk Images

+
+
+

Client images

+
@@ -363,16 +363,16 @@ sudo dd bs=1M -

Router images

-
+
+

Router images

+

Routers are intended to build network coverage for an area using small and low cost hardware. You can bolt them to walls or leave them on window ledges. They don't have any user interface and their only job is to haul network traffic across the mesh and to enable peers to find each other via running bootstrap nodes for Tox and IPFS. Copy the image to a microSD card and insert it into the router, plug in an Atheros wifi dongle and power on. That should be all you need to do.

-
-

Beaglebone Black

-
+
+

Beaglebone Black

+
@@ -409,9 +409,9 @@ There is still a software freedom issue with the Beaglebone Black, but it doesn'
-
-

Building Disk Images

-
+
+

Building Disk Images

+

It's better not to trust images downloaded from random places on the interwebs. Chances are that unless you are in the web of trust of the above GPG signatures then they don't mean very much to you. If you actually want something trustworthy then build the images from scratch. It will take some time. Here's how to do it.

@@ -501,9 +501,9 @@ The resulting image can be copied to a microSD card, inserted into a Beaglebone
-
-

Customisation

-
+
+

Customisation

+

If you want to make your own specially branded version, such as for a particular event, then to change the default desktop backgrounds edit the images within img/backgrounds and to change the available avatars and desktop icons edit the images within img/avatars. Re-create disk images using the instructions shown previously.

@@ -513,9 +513,9 @@ If you need particular dconf commands to alter desktop appearance or beha

-
-

How to use it

-
+
+

How to use it

+

When you first boot from the USB drive the system will create some encryption keys, assign a unique network address to the system and then reboot itself. When that's done you should see a prompt asking for a username. This username just makes it easy for others to initially find you on the mesh and will appear in the list of users.

@@ -525,9 +525,9 @@ After a minute or two if you are within wifi range and there is at least one oth

-
-

Set the Date

-
+
+

Set the Date

+

On the ordinary internet the date and time of your system would be set automatically via NTP. But this is not the internet and so you will need to manually ensure that your date and time settings are correct. You might need to periodically do this if your clock drifts. It's not essential that the time on your system be highly accurate, but if it drifts too far or goes back to epoch then things could become a little confusing in regard to the order of blog posts.

@@ -537,9 +537,9 @@ On the ordinary internet the date and time of your system would be set automatic

-
-

Check network status

-
+
+

Check network status

+

Unlike with ordinary wifi, on the mesh you don't get a signal strength icon and so it's not simple to see if you have a good connection.

@@ -563,9 +563,9 @@ When you are finished close the window and then select the Network Restart
-
-

Chat System

-
+
+

Chat System

+

Ensure that you're within wifi range of at least one other mesh peer (could be a router or client) and then you should see that the Chat and Other Users icons appear. Select the users icon and you should see a list of users on the mesh. Select the Chat icon and once you are connected you should see the status light turn green. If after a few minutes you don't get the green status light then try closing and re-opening the Tox chat application. Select the plus button to add a friend and then copy and paste in a Tox ID from the users list.

@@ -624,9 +624,9 @@ At present video doesn't work reliably, but text and voice chat do work well.
-
-

Sharing Files

-
+
+

Sharing Files

+

You can make files publicly available on the network simply by dragging and dropping them into the Public folder on the desktop. To view the files belonging to another user select the desktop icon called Visit a site and enter the username or Tox ID of the other user.

@@ -641,9 +641,9 @@ You can make files publicly available on the network simply by dragging and drop
-
-

Blogging

-
+
+

Blogging

+

To create a blog post select the Blog icon on the desktop and then use the up and down cursor keys, space bar and enter key to add a new entry. Edit the title of the entry and add your text. You can also include photos if you wish - just copy them to the CreateBlog/content/images directory and then link to them as shown.

@@ -711,7 +711,7 @@ This site can also be accessed via a Tor browser at -Back to top | E-mail me +Back to top | E-mail me
diff --git a/website/EN/mirrors.html b/website/EN/mirrors.html index b15ee6f3..1e721178 100644 --- a/website/EN/mirrors.html +++ b/website/EN/mirrors.html @@ -3,11 +3,11 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + - + @@ -77,6 +77,7 @@ pre.src-ledger:before { content: 'Ledger'; } pre.src-lisp:before { content: 'Lisp'; } pre.src-lilypond:before { content: 'Lilypond'; } + pre.src-lua:before { content: 'Lua'; } pre.src-matlab:before { content: 'MATLAB'; } pre.src-mscgen:before { content: 'Mscgen'; } pre.src-ocaml:before { content: 'Objective Caml'; } @@ -254,62 +255,62 @@ for the JavaScript code in this tag. -What are mirrors and why do they exist? +What are mirrors and why do they exist? -What security do mirrors have? +What security do mirrors have? -How do I set up mirrors? +How do I set up mirrors? -Do mirrors include debian package repositories? +Do mirrors include debian package repositories? -What do I need to do to keep the mirrored repositories updated? +What do I need to do to keep the mirrored repositories updated? -
-

What are mirrors and why do they exist?

-
+
+

What are mirrors and why do they exist?

+

It would be nice if all of the applications used by this project were packaged for Debian, but currently they're not. This means that various upstream git repositories are used and these mostly reside on Github. What if Github were to go away, become paying only or be censored in some manner which was difficult to work around? To guard against this possibility the repositories are mirrored on each install and can then be made available to other users so that new installations or updates could still occur without the original default repos.

-
-

What security do mirrors have?

-
+
+

What security do mirrors have?

+

On each install you have a mirrors user created, whose only purpose is to mirror upstream repositories. A random password is generated for the mirrors user which can be seen within the control panel and so given to other users who may need it.

-
-

How do I set up mirrors?

-
+
+

How do I set up mirrors?

+

The interactive installer will ask whether you want to configure the main respositories. Enter the URL, which will typically be an onion address, the ssh port number and the password for the mirrors on that system.

-
-

Do mirrors include debian package repositories?

-
+
+

Do mirrors include debian package repositories?

+

No. Packages for Debian will still be accessed in the conventional manner.

-
-

Can I change mirrors after the system has been installed

-
+
+

Can I change mirrors after the system has been installed

+

Yes. From the control panel select "Set the main repository"

@@ -324,9 +325,9 @@ Yes. From the control panel select "Set the main repository"
-
-

What do I need to do to keep the mirrored repositories updated?

-
+
+

What do I need to do to keep the mirrored repositories updated?

+

Nothing. That happens as part of regular automatic updates.

@@ -358,7 +359,7 @@ Return to the home page
diff --git a/website/EN/mobile.html b/website/EN/mobile.html index 837eccb6..425f6164 100644 --- a/website/EN/mobile.html +++ b/website/EN/mobile.html @@ -3,11 +3,11 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + - + @@ -77,6 +77,7 @@ pre.src-ledger:before { content: 'Ledger'; } pre.src-lisp:before { content: 'Lisp'; } pre.src-lilypond:before { content: 'Lilypond'; } + pre.src-lua:before { content: 'Lua'; } pre.src-matlab:before { content: 'MATLAB'; } pre.src-mscgen:before { content: 'Mscgen'; } pre.src-ocaml:before { content: 'Objective Caml'; } @@ -270,9 +271,9 @@ Mobile phones are insecure devices, but they're regarded as being so essential t -
-

Open

-
+
+

Open

+

Use a Linux based phone operating system. Typically this will mean Android, but could also mean Cyanogenmod or Replicant. Cyanogen is the most preferable, because you can usually get an up to date image with a recent kernel which will give you better security against exploits. If you're buying a phone then look for a model which is supported by Cyanogenmod. Replicant is the most free (as in freedom) but only runs on a small number of phone models. If you have a phone which runs a full GNU/Linux system then that's fantastic, and you can probably use it in much the same way as a desktop system and the rest of the advice on this page won't apply. If you don't have a phone capable of running a Linux based operating system then consider selling, giving away or bartering your existing one.

@@ -283,45 +284,45 @@ Why is it so important to run Linux on a phone? Aren't iThings supposed t
-
-

Remove

-
+
+

Remove

+

So maybe you're running Android and the phone came with some apps already installed. Almost certainly they'll be proprietary. Go to Settings/Apps and then uninstall or deactivate any apps which you really don't need. Mostly preinstalled apps are intended to send your data to companies who will then sell it to advertisers or governments under the business model of surveillance capital. It's not a good idea to get caught up in that, and to avoid becoming addicted to apps which are surveilling you without consent or installing spyware in the background without your knowledge.

-
-

Encrypt

-
+
+

Encrypt

+

Encrypt your phone. This can usually be done via Settings/Security and you may need to fully charge the phone first. Encryption means that if you lose your phone or it gets stolen then there is less chance that anyone who picks it up will get access to your data, photos and so on.

-
-

Apps

-
+
+

Apps

+

Installing F-droid and only adding any new apps via F-droid will ensure that you are always using free and open source software. Open source is not a panacea, since bugs can and do still occur, but it will help you to avoid the worst security and privacy pitfalls.

-
-

Lock

-
+
+

Lock

+

Add a lock screen, preferably with a password which is not easy for other people to guess or for quicker access with a PIN number. Install an app called Locker, activate it and set the maximum number of password guesses to ten (or whatever you feel comfortable with). If bad people get hold of your phone then they may try to brute force your lock screen password or PIN (i.e. automatically trying millions of common word and number combinations) and the locker app will prevent them from succeeding by resetting the phone back to its factory default condition and wiping the data.

-
-

Onion

-
+
+

Onion

+

Both governments and corporations want to compile matadata dossiers about you. Who you communicated with, when and how often. They want this so that they can data mine, simulate, predict and then ultimately influence (sometimes also called "nudge") your actions and preferences in the directions they prefer. By routing your connections through a number of proxy servers (Tor routers) you can make it perhaps not theoretically impossible but at least very hard for them to have a complete and accurate list of who your friends are, your religion, politics, likely health issues, sexual orientation and what news sites or books you read.

@@ -332,9 +333,9 @@ In F-droid under the repositories menu you can enable the guardian pro
-
-

ssh

-
+
+

ssh

+

The most secure way to access email is via an ssh connection and shell interface. This is not highly convenient, but it does keep your email and GPG key off of the phone which improves your security. If your phone is subsequently stolen then even if an adversary can get past the lock screen there are no emails stored on the phone. Install Connectbot, generate an RSA key of at least 2048 bits and give it a password. Copy and paste the ssh public key to a pastebin and then add it to home/myusername.ssh/authorized keys on Freedombone. Then add an ssh account for the Freedombone, using port 2222. Before you log in you will need to ensure that the ssh key is unlocked. If you lose your phone then you can remove that public key from authorized_keys and anyone in possession of the phone will no longer be able to get ssh access to your system.

@@ -345,18 +346,18 @@ This is a defense in depth approach in which there are multiple hurdles w
-
-

Services

-
+
+

Services

+

For information on configuring various apps to work with Freedombone see the usage section. Also see advice on chat apps in the FAQ.

-
-

Battery preservation

-
+
+

Battery preservation

+

Even with free software apps it's not difficult to get into a situation where your battery doesn't last for long. To maximize battery life access RSS feeds via the onion-based mobile reader within a Tor-compatible browser and not from a locally installed RSS app.

@@ -392,7 +393,7 @@ Return to the home page
diff --git a/website/EN/related.html b/website/EN/related.html index 8d69a88b..47da1bfd 100644 --- a/website/EN/related.html +++ b/website/EN/related.html @@ -3,11 +3,11 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + - + @@ -77,6 +77,7 @@ pre.src-ledger:before { content: 'Ledger'; } pre.src-lisp:before { content: 'Lisp'; } pre.src-lilypond:before { content: 'Lilypond'; } + pre.src-lua:before { content: 'Lua'; } pre.src-matlab:before { content: 'MATLAB'; } pre.src-mscgen:before { content: 'Mscgen'; } pre.src-ocaml:before { content: 'Objective Caml'; } @@ -297,7 +298,7 @@ The following projects made Freedombone possible.
diff --git a/website/EN/support.html b/website/EN/support.html index a1051f7b..e3e863cb 100644 --- a/website/EN/support.html +++ b/website/EN/support.html @@ -3,11 +3,11 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + - + @@ -77,6 +77,7 @@ pre.src-ledger:before { content: 'Ledger'; } pre.src-lisp:before { content: 'Lisp'; } pre.src-lilypond:before { content: 'Lilypond'; } + pre.src-lua:before { content: 'Lua'; } pre.src-matlab:before { content: 'MATLAB'; } pre.src-mscgen:before { content: 'Mscgen'; } pre.src-ocaml:before { content: 'Objective Caml'; } @@ -246,15 +247,15 @@ for the JavaScript code in this tag.

Support

-
-

Contact details

-
+
+

Contact details

+

-This site can also be accessed via a Tor browser at 4fvfozz6g3zmvf76.onion +This site can also be accessed via a Tor browser at http://2tp3f6vtvhkqpuc6.onion

-Email: bob@robotics.uk.to +Email: bob@freedombone.net

@@ -266,7 +267,7 @@ This site can also be accessed via a Tor browser at 4fvfozz6g3zmvf76.onion

-XMPP: bob@robotics.uk.to with OTR +XMPP: bob@freedombone.net with OMEMO or OTR

@@ -275,21 +276,21 @@ This site can also be accessed via a Tor browser at 4fvfozz6g3zmvf76.onion

-
-

Things which would be nice to have

-
-
-

Ideas

-
+
+

Things which would be nice to have

+
+
+

Ideas

+

Know of some fabulous web system which could run on Freedombone, but currently doesn't? Contact the above, and be prepared to make a compelling argument for why it should be included.

-
-

Money

-
+
+

Money

+

At the present time this project is not seeking any funding. There is no crowdfunding campaign and no slick marketing video. Those aren't ruled out as future possibilities, but for now they're just not needed.

@@ -300,27 +301,27 @@ If you find this project useful then you may wish to consider donating to
-
-

Testing and reporting bugs

-
+
+

Testing and reporting bugs

+

Testing of the install on different hardware. Also pentesting on test installations to find vulnerabilities.

-
-

Web design and artwork

-
+ -
-

More education and promotion

-
+
+

More education and promotion

+
@@ -338,18 +339,18 @@ Raising awareness beyond the near zero current level, overcoming fear and parano
-
-

Translations

-
+
+

Translations

+

To add translations modify the json files within the locale subdirectory. Then make a pull request on the Github site.

-
-

Packaging

-
+
+

Packaging

+

Helping to package GNU Social and Hubzilla for Debian would be beneficial.

@@ -382,7 +383,7 @@ Return to the home page
diff --git a/website/EN/usage.html b/website/EN/usage.html index b95b688c..5d9274ac 100644 --- a/website/EN/usage.html +++ b/website/EN/usage.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + @@ -255,15 +255,15 @@ for the JavaScript code in this tag. -Readme +Readme -Improving ssh security +Improving ssh security -Administrating the system via an onion address (Tor) +Administrating the system via an onion address (Tor) @@ -275,50 +275,50 @@ for the JavaScript code in this tag. -Syncing to the Cloud +Syncing to the Cloud -Play Music +Play Music -Microblogging (GNU Social) +Microblogging (GNU Social) -Sharing things +Sharing things -Social Network +Social Network -Chat Services +Chat Services -RSS Reader +RSS Reader -Git Projects +Git Projects -Adding or removing users +Adding or removing users -Blocking Ads +Blocking Ads -
-

Readme

-
+
+

Readme

+

After the system has installed a README file will be generated which contains passwords and some brief advice on using the installed systems. You can read this with the following commands:

@@ -338,9 +338,9 @@ To exit you can either just close the terminal or use CTRL-x CTRL-c follo

-
-

Improving ssh security

-
+
+

Improving ssh security

+

To improve ssh security you can generate an ssh key pair on your system and then upload the public key to the Freedombone.

@@ -390,9 +390,9 @@ If you wish to only use ssh keys then log in to the Freedombone, become the root
-
-

Administrating the system via an onion address (Tor)

-
+
+

Administrating the system via an onion address (Tor)

+

You can also access your system via the Tor system using an onion address. To find out what the onion address for ssh access is you can do the following:

@@ -434,9 +434,9 @@ Subsequently even if dynamic DNS isn't working you may still be able to administ

-
-

Syncing to the Cloud

-
+
+

Syncing to the Cloud

+

Syncthing provides a similar capability to proprietary systems such as Dropbox, and also is well suited for use with low power single board computers. You can have one or more directories which are synchronized across your various laptops/desktops/devices, and this makes it hard for you to ever lose important files. The manner in which the synchronization is done is pretty secure, such that it would be difficult for passive adversaries (mass surveillance, "men in the middle", etc) to know what files you're sharing. Of course, you don't necessarily need to be running a server in order to use Syncthing, but if you do have a server which is always running then there's always at least one place to synchronize your files to or from.

@@ -446,9 +446,9 @@ Freedombone provides Syncthing shared directories for each user on the system, p

-
-

On a laptop

-
+
+

On a laptop

+

Install syncthing:

@@ -501,9 +501,9 @@ Now wait for a few minutes. Eventually you will see two messages appear within t

-
-

On Android

-
+
+

On Android

+

Install Syncthing and Connectbot from F-droid.

@@ -534,12 +534,12 @@ Now wait for a few minutes or more. Eventually you should receive two notificati
-
-

Play Music

-
-
-

With the DLNA service

-
+
+

Play Music

+
+
+

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.

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

Microblogging (GNU Social)

-
-
-

Initial setup

-
+
+

Microblogging (GNU Social)

+
+
+

Initial setup

+

To log into your GNU Social site first obtain your username and password from the "microblogging" section of the readme file.

@@ -611,17 +611,17 @@ GNU Social has a clutter-free mobile user interface which can be accessed via a
-
-

Direct Messages (DMs) and privacy

-
+
+

Direct Messages (DMs) and privacy

+

One important point about GNU Social is that although direct messages (DMs) are treated as being private their security is quite poor. If you want real communications privacy then use other systems such as XMPP+OMEMO/OTR, Tox or email with GPG. GNU Social is primarily about fully public communications.

-
-

Using with Emacs

-
+
+

Using with Emacs

+

If you are an Emacs user it's also possible to set up GNU Social mode as follows:

@@ -705,9 +705,9 @@ And as a quick reference the main keys are:
-
-

Sharing things

-
+
+

Sharing things

+

If you have the GNU Social microblogging system installed then it's also possible to share things or services between groups or with particular users. This can be useful for sharing items within a family, club or in a local sharing economy. Sharing things freely, without money, reveals the social basis at the root of all economics which money normally conceals or obscures.

@@ -734,20 +734,20 @@ The "catalog" button then allows you to search for shared things within t
-
-

Social Network

-
-
-

Domains

-
+
+

Social Network

+
+
+

Domains

+

Both Hubzilla and GNU Social try to obtain certificates automatically at the time of installation via Let's Encrypt. This will likely mean that in order for this to work you'll need to have obtained at least one "official" domain via a domain selling service, since Let's Encrypt mostly doesn't seem to work with free subdomains from sites such as freeDNS.

-
-

Initial install

-
+
+

Initial install

+

On first visiting your Hubzilla site you'll see the login screen. The first thing you need to do is register a new user. The first user on the system then becomes its administrator.

@@ -761,19 +761,19 @@ On first visiting your Hubzilla site you'll see the login screen. The first thin
-
-

Chat Services

-
-
-

IRC

-
+
+

Chat Services

+
+
+

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

+

The easiest way to use irssi is to connect to your system, like this:

@@ -788,9 +788,9 @@ Then select IRC from the menu. However, other than via this method using

-
-

HexChat

-
+
+

HexChat

+

HexChat (formerly XChat) is compatible with proxying via Tor and so provides the best security when connecting to your IRC server. It will allow you to connect to your IRC server's onion address.

@@ -976,9 +976,9 @@ Click close and then connect.
-
-

Emacs

-
+
+

Emacs

+

If you are an Emacs user then you can also connect to your IRC server via Emacs.

@@ -1009,9 +1009,9 @@ Add the following to your Emacs configuration file:
-
-

Changing or removing the IRC password

-
+
+

Changing or removing the IRC password

+

By default the IRC server is set up to require a password for users to log in. The password is the same for all users. If you want to change or remove the password:

@@ -1028,20 +1028,20 @@ Select Administrator controls then IRC Menu and then change the pa
-
-

XMPP/Jabber

-
-
-

About XMPP

-
+
+

XMPP/Jabber

+
+
+

About XMPP

+

A well written article on the state of XMPP and how it compares to other chat protocols can be found here.

-
-

Using with Gajim

-
+
+

Using with Gajim

+

In mid 2016 Gajim became the first desktop XMPP client to support the OMEMO end-to-end security standard, which is superior to the more traditional OTR since it also includes multi-user chat and the ratcheting mechanism pioneered by Open Whisper Systems. To install it:

@@ -1085,9 +1085,9 @@ If you wish to use OpenPGP to encrypt your messages then go to Edit/Accounts<
-
-

Using with Profanity

-
+
+

Using with Profanity

+

The Profanity shell based user interface and is perhaps the simplest way to use XMPP from a laptop. It's also a good way to ensure that your OTR keys are the same even when logging in from different laptops or devices, and it also means that if those devices later become compomised then there are no locally stored OTR keys to be found.

@@ -1169,9 +1169,9 @@ When accessed via the user control panel the client is automatically routed thro

-
-

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.

@@ -1201,9 +1201,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.

@@ -1221,17 +1221,17 @@ Click on Advanced and make sure that Encryption required and Ig

-
-

Using Tor Messenger

-
+ -
-

Using with Android/Conversations

-
+
+

Using with Android/Conversations

+

Install F-Droid

@@ -1266,16 +1266,16 @@ Then select Next. When chatting you can use the lock icon to encrypt your
-
-

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

+

Log into your system with:

@@ -1298,20 +1298,20 @@ Then from the menu select Tox Chat. Tox is encrypted by default and also
-
-

VoIP (Voice and text chat)

-
-
-

Text chat

-
+
+

VoIP (Voice and text chat)

+
+
+

Text chat

+

In addition to voice it is also possible to do text chat via mumble. The security of this is pretty good provided that you do it via Plumble and Orbot on mobile, but compared to other options such as XMPP/Conversations or Tox the security is not as good, since the mumble server currently doesn't support forward secrecy.

-
-

Using with Ubuntu

-
+
+

Using with Ubuntu

+

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

@@ -1321,9 +1321,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

@@ -1358,24 +1358,24 @@ Selecting the server by pressing on it then connects you to the server so that y
-
-

SIP phones

-
+
+

SIP phones

+

Freedombone also supports SIP phones The username and domain is the same as for your email address, and the SIP password and extension number will appear within the README file in your home directory. Various SIP client options are available, such as CSipSimple on Android and Jitsi on desktop or laptop machines. Ideally use clients which support ZRTP, which will provide the best level of security.

-
-

About ZRTP

-
+
+

About ZRTP

+

ZRTP appears to be the current best standard to end-to-end encrypted voice calls, combining good security with simplicity of use. When the initial cryptographic negotiation between phones is done at the start of a call a short authentication string (SAS) is calculated and displayed at both ends. To check that there isn't anyone intercepting the call and acting as a man in the middle - as stingray type devices try to do - the short authentication string can be read out and verbally confirmed between the callers. If it's the same then you can be pretty confident that the call is secure.

-
-

Using with CSIPSimple

-
+
+

Using with CSIPSimple

+

Add an account. Under General Wizards choose Expert and enter the following details:

@@ -1431,9 +1431,9 @@ If everything is working the account should appear in green with a status of

-
-

Using with Ring

-
+
+

Using with Ring

+

From the menu select Manage accounts.

@@ -1486,9 +1486,9 @@ Select the Security tab. Under SRTP Key Exchange select ZRTP
-
-

RSS Reader

-
+
+

RSS Reader

+

The way that RSS reading is set up on Freedombone gives you strong reading privacy. Not only is there onion routing between you and the server but also between the server and the source of the RSS feed. The only down side is that many RSS feeds are still http only, and so could be vulnerable to injection attacks, but it's expected that more of this will go to https in the foreseeable future due to a combination of growing recognition of security issues and systems like Let's Encrypt which make obtaining certificates much easier.

@@ -1500,9 +1500,9 @@ The way that RSS reading is set up on Freedombone gives you strong reading priva
-
-

Finding the onion address

-
+
+

Finding the onion address

+

See the control panel for the RSS reader onion address.

@@ -1526,9 +1526,9 @@ To set up the system open http://rss_r
-
-

On mobile

-
+
+

On mobile

+

To access the RSS reader from a mobile device you can install a Tor compatible browser such as OrFox. It will try to automatically change to the mobile version of the user interface. Remember to add the site to the NoScript whitelist, and you may also need to turn HTTPS Everywhere off.

@@ -1540,9 +1540,9 @@ A note for the paranoid is that on mobile devices you get redirected to a differ
-
-

With Emacs

-
+
+

With Emacs

+

If you are an Emacs user then you can also read your RSS feeds via the Avandu mode.

@@ -1581,9 +1581,9 @@ And ensure that the Tor daemon is installed:
-
-

Git Projects

-
+
+

Git Projects

+

Github is ok, but it's proprietary and funded by venture capital. If you been around on the internet for long enough then you know how this story eventually works itself out - i.e. badly for the users. It's really only a question of time. If you're a software developer or do things which involve the Git version control system then it's a good idea to become accustomed to hosting your own repositories, before the inevitable Github shitstorm happens.

@@ -1618,9 +1618,9 @@ This will stop any spam accounts being created by random strangers or bots. You

-
-

Adding or removing users

-
+
+

Adding or removing users

+

Log into the system with:

@@ -1648,9 +1648,9 @@ control
-
-

Blocking Ads

-
+
+

Blocking Ads

+

Everyone except for advertisers hates adverts. Not only are they annoying, but they can consume a lot of bandwidth, be a privacy problem in terms of allowing companies to track your browsing habits and also any badly written scripts they contain may introduce exploitable security holes.

@@ -1660,9 +1660,9 @@ You can block ads for any devices connected to your local network by installing

-
-

Set a static IP address

-
+
+

Set a static IP address

+

Ensure that your system has a static local IP address (typically 192.168..) using the option on the control panel. You will also need to know the IP address of your internet router, which is usually 192.168.1.1 or 192.168.1.254.

@@ -1673,9 +1673,9 @@ When that's done select About this system from the control panel and see
-
-

On each client system within your local network

-
+
+

On each client system within your local network

+
sudo chattr -i /etc/resolv.conf
 sudo nano /etc/resolv.conf
@@ -1702,9 +1702,9 @@ Normally resolv.conf will be overwritten every time your reboot, but you
 
-
-

On your internet router

-
+
+

On your internet router

+

If you can access the settings on your local internet router then this is the simplest way to provide ad blocking for all devices which connect to it.

@@ -1715,9 +1715,9 @@ Edit the DNS settings and add the IPv4 address which you got from the control pa
-
-

Configuring block lists

-
+
+

Configuring block lists

+

You can configure the block lists which the system uses by going to the administrator control panel, selecting App Settings then choosing pihole. You can also add any extra domain names to the whitelist if they're being wrongly blocked or to the blacklist if they're not blocked by the current lists.

@@ -1752,7 +1752,7 @@ Return to the home page
diff --git a/website/EN/usage_email.html b/website/EN/usage_email.html index efa79f90..5da856fc 100644 --- a/website/EN/usage_email.html +++ b/website/EN/usage_email.html @@ -3,11 +3,11 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + - + @@ -77,6 +77,7 @@ pre.src-ledger:before { content: 'Ledger'; } pre.src-lisp:before { content: 'Lisp'; } pre.src-lilypond:before { content: 'Lilypond'; } + pre.src-lua:before { content: 'Lua'; } pre.src-matlab:before { content: 'MATLAB'; } pre.src-mscgen:before { content: 'Mscgen'; } pre.src-ocaml:before { content: 'Objective Caml'; } @@ -254,54 +255,54 @@ for the JavaScript code in this tag. -Things to be aware of +Things to be aware of -A technical note about email transport security +A technical note about email transport security -Add a password to your GPG key +Add a password to your GPG key -Publishing your GPG public key +Publishing your GPG public key -Mutt email client +Mutt email client -Thunderbird/Icedove +Thunderbird/Icedove -K9 Android client +K9 Android client -Subscribing to mailing lists +Subscribing to mailing lists -Adding email addresses to a group/folder +Adding email addresses to a group/folder -Ignoring incoming emails +Ignoring incoming emails -Your own mailing list +Your own mailing list -
-

Things to be aware of

-
+
+

Things to be aware of

+

Even though this system makes it easy to set up an email server, running your own email system is still not easy and this is mainly due to the huge amount of collatoral damage caused by spammers over a long period of time, which in turn is due to the inherent insecurity of email protocols which enabled spam to become a big problem. Email is still very popular though and most internet services require that you have an email address in order to register.

@@ -315,9 +316,9 @@ So if you want to use your own email address hosted on your own system you do ne

-
-

A technical note about email transport security

-
+
+

A technical note about email transport security

+

Port 465 is used for SMTP and this is supposedly deprecated for secure email. However, using TLS from the start of the communications seems far more secure than starting off with insecure communications and then trying to upgrade it with a command to begin TLS, as happens with STARTTLS. There are possible attacks against STARTTLS in which the command to begin secure communications is removed or overwritten which could then result in email being transferred in plain text over the internet and be readable by third parties.

@@ -333,15 +334,14 @@ The researchers also uncovered mass scale attacks of STARTTLS sessions being str
-
-

Add a password to your GPG key

-
+
+

Add a password to your GPG key

+

If you didn't use existing GPG keys during the Freedombone installation then you'll need to add a password to your newly generated private key. This is highly recommended. Go through the following sequence of commands to ssh into the Freedombone and then change your GPG password.

-
ssh username@domainname -p 2222
 gpg --edit-key username@domain
 passwd
@@ -357,15 +357,14 @@ Having a password on your GPG key will prevent someone from reading your email <
 
-
-

Publishing your GPG public key

-
+
+

Publishing your GPG public key

+

If you havn't already then you should publish your GPG public key so that others can find it.

-
ssh username@domainname -p 2222
 gpg --send-keys username@domainname
 exit
@@ -373,9 +372,9 @@ gpg --send-keys username@domainname
 
-
-

Mutt email client

-
+
+

Mutt email client

+
@@ -389,7 +388,6 @@ Mutt is a terminal based email client which comes already installed onto the Fre

-
ssh username@domainname -p 2222
 
@@ -541,9 +539,9 @@ When reading emails you will initially need to enter your GPG password. It will
-
-

Thunderbird/Icedove

-
+
+

Thunderbird/Icedove

+

Another common way in which you may want to access email is via Thunderbird (also known as Icedove on Debian). This may be especially useful if you're trying to convert former Windows users who may previously have been using some version of Outlook.

@@ -553,9 +551,9 @@ The following instructions should be carried out on the client machines (laptop,

-
-

Initial setup

-
+
+

Initial setup

+

Install Thunderbird and Enigmail. How you do this just depends upon your distro and software manager or "app store".

@@ -611,15 +609,14 @@ Select "yes" to change default settings.

-
-

Import your GPG keys

-
+
+

Import your GPG keys

+

On the Freedombone export your GPG public and private keys.

-
ssh username@domainname -p 2222
 gpg --list-keys username@domainname
 gpg --output ~/public_key.gpg --armor --export KEY_ID
@@ -632,7 +629,6 @@ On your laptop or desktop you can import the keys with:
 

-
scp -P 2222 username@domain:/home/username/*.gpg ~/
 
@@ -654,7 +650,6 @@ Remove your exported key files, both on your laptop/desktop and also on the Free

-
shred -zu ~/public_key.gpg
 shred -zu ~/private_key.gpg
 
@@ -662,9 +657,9 @@ shred -zu ~/private_key.gpg
-
-

Using for the first time

-
+
+

Using for the first time

+

Click on the Thunderbird menu, which looks like three horizontal bars on the right hand side.

@@ -699,9 +694,9 @@ Get into the habit of using email encryption and encourage others to do so. Rem
-
-

Making folders visible

-
+
+

Making folders visible

+

By default you won't be able to see any folders which you may have created earlier using the mailinglistrule script. To make folders visible select:

@@ -717,12 +712,12 @@ Make sure that "show only subscribed folders" is not checked. Then click
-
-

K9 Android client

-
-
-

A point about GPG on Android

-
+
+

K9 Android client

+
+
+

A point about GPG on Android

+

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.

@@ -732,9 +727,9 @@ If you are going to use email on an Android device then ensure that you have ful

-
-

Compiling the development version

-
+
+

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.

@@ -744,7 +739,6 @@ Build script for OpenKeychain:

-
mkdir ~/develop
 cd ~/develop
 git clone https://github.com/bashrc/open-keychain
@@ -761,7 +755,6 @@ Then add the following:
 

-
#!/bin/bash
 
 # This script is intended to be used on Debian systems for building
@@ -837,7 +830,6 @@ Save and exit with CTRL-o, CTRL-x.
 

-
chmod +x build.sh
 ./build.sh
 
@@ -848,7 +840,6 @@ Build script for K9:

-
cd ~/develop
 git clone https://github.com/k9mail/k-9
 cd k-9
@@ -862,7 +853,6 @@ Then add the following:
 

-
#!/bin/bash
 
 # This script is intended to be used on Debian systems for building
@@ -932,7 +922,6 @@ Save and exit with CTRL-o, CTRL-x.
 

-
chmod +x build.sh
 ./build.sh
 
@@ -940,15 +929,14 @@ Save and exit with CTRL-o, CTRL-x.
-
-

Import your GPG key into OpenKeychain

-
+
+

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
@@ -967,9 +955,9 @@ Then on your device select OpenKeychain and import your key from file.
 

-
-

Incoming server settings

-
+
+

Incoming server settings

+
  • Select settings/account settings
  • Select Fetching mail/incoming server
  • @@ -981,9 +969,9 @@ Then on your device select OpenKeychain and import your key from file.
-
-

Outgoing (SMTP) server settings

-
+
+

Outgoing (SMTP) server settings

+
  • Select settings/account settings
  • Select Sending mail/outgoing server
  • @@ -996,9 +984,9 @@ Then on your device select OpenKeychain and import your key from file.
-
-

Crypto settings

-
+
+

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.

@@ -1008,9 +996,9 @@ You may also want to change the amount of time for which passwords are remembere

-
-

Folders

-
+
+

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.

@@ -1022,15 +1010,14 @@ 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).

-
ssh username@domainname -p 2222
 
@@ -1040,15 +1027,14 @@ Select Administrator controls then Email filtering rules then A

-
-

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.

-
ssh username@domainname -p 2222
 
@@ -1058,15 +1044,14 @@ Select Administrator controls then Email filtering rules then A

-
-

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.

-
ssh username@domainname -p 2222
 
@@ -1076,9 +1061,9 @@ Select Administrator controls then Email filtering rules then B

-
-

Your own mailing list

-
+
+

Your own mailing list

+

If you want to set up a public mailing list then when installing the system remember to set the PUBLIC_MAILING_LIST variable within freedombone.cfg to the name of your list. The name should have no spaces in it. Public mailing lists are unencrypted so anyone will be able to read the contents, including non subscribers.

@@ -1088,7 +1073,6 @@ To subscribe to your list send a cleartext email to:

-
mymailinglistname+subscribe@domainname
 
@@ -1124,7 +1108,7 @@ Return to the home page
diff --git a/website/EN/variants.html b/website/EN/variants.html index 23f8c680..8fed739a 100644 --- a/website/EN/variants.html +++ b/website/EN/variants.html @@ -3,11 +3,11 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + - + @@ -77,6 +77,7 @@ pre.src-ledger:before { content: 'Ledger'; } pre.src-lisp:before { content: 'Lisp'; } pre.src-lilypond:before { content: 'Lilypond'; } + pre.src-lua:before { content: 'Lua'; } pre.src-matlab:before { content: 'MATLAB'; } pre.src-mscgen:before { content: 'Mscgen'; } pre.src-ocaml:before { content: 'Objective Caml'; } @@ -300,7 +301,7 @@ Return to the home page