Browse Source

Deprecate Tor dongle. If it's needed it could be a separate project

Bob Mottram 10 years ago
parent
commit
689317d22f
7 changed files with 31 additions and 258 deletions
  1. 0
    4
      Makefile
  2. 0
    1
      debian.sh
  3. 0
    1
      debian/source/include-binaries
  4. BIN
      man/freedombone-tordongle.1.gz
  5. 31
    112
      src/freedombone
  6. 0
    1
      src/freedombone-config
  7. 0
    139
      src/freedombone-tordongle

+ 0
- 4
Makefile View File

12
 	mkdir -p ${DESTDIR}${PREFIX}/bin
12
 	mkdir -p ${DESTDIR}${PREFIX}/bin
13
 	install -m 755 src/${APP} ${DESTDIR}${PREFIX}/bin
13
 	install -m 755 src/${APP} ${DESTDIR}${PREFIX}/bin
14
 	install -m 755 src/${APP}-prep ${DESTDIR}${PREFIX}/bin
14
 	install -m 755 src/${APP}-prep ${DESTDIR}${PREFIX}/bin
15
-	install -m 755 src/${APP}-tordongle ${DESTDIR}${PREFIX}/bin
16
 	install -m 755 src/${APP}-client ${DESTDIR}${PREFIX}/bin
15
 	install -m 755 src/${APP}-client ${DESTDIR}${PREFIX}/bin
17
 	install -m 755 src/${APP}-remote ${DESTDIR}${PREFIX}/bin
16
 	install -m 755 src/${APP}-remote ${DESTDIR}${PREFIX}/bin
18
 	install -m 755 src/${APP}-config ${DESTDIR}${PREFIX}/bin
17
 	install -m 755 src/${APP}-config ${DESTDIR}${PREFIX}/bin
20
 	mkdir -m 755 -p ${DESTDIR}${PREFIX}/share/man/man1
19
 	mkdir -m 755 -p ${DESTDIR}${PREFIX}/share/man/man1
21
 	install -m 644 man/${APP}.1.gz ${DESTDIR}${PREFIX}/share/man/man1
20
 	install -m 644 man/${APP}.1.gz ${DESTDIR}${PREFIX}/share/man/man1
22
 	install -m 644 man/${APP}-prep.1.gz ${DESTDIR}${PREFIX}/share/man/man1
21
 	install -m 644 man/${APP}-prep.1.gz ${DESTDIR}${PREFIX}/share/man/man1
23
-	install -m 644 man/${APP}-tordongle.1.gz ${DESTDIR}${PREFIX}/share/man/man1
24
 	install -m 644 man/${APP}-client.1.gz ${DESTDIR}${PREFIX}/share/man/man1
22
 	install -m 644 man/${APP}-client.1.gz ${DESTDIR}${PREFIX}/share/man/man1
25
 	install -m 644 man/${APP}-remote.1.gz ${DESTDIR}${PREFIX}/share/man/man1
23
 	install -m 644 man/${APP}-remote.1.gz ${DESTDIR}${PREFIX}/share/man/man1
26
 	install -m 644 man/${APP}-config.1.gz ${DESTDIR}${PREFIX}/share/man/man1
24
 	install -m 644 man/${APP}-config.1.gz ${DESTDIR}${PREFIX}/share/man/man1
28
 uninstall:
26
 uninstall:
29
 	rm -f ${PREFIX}/share/man/man1/${APP}.1.gz
27
 	rm -f ${PREFIX}/share/man/man1/${APP}.1.gz
30
 	rm -f ${PREFIX}/share/man/man1/${APP}-prep.1.gz
28
 	rm -f ${PREFIX}/share/man/man1/${APP}-prep.1.gz
31
-	rm -f ${PREFIX}/share/man/man1/${APP}-tordongle.1.gz
32
 	rm -f ${PREFIX}/share/man/man1/${APP}-client.1.gz
29
 	rm -f ${PREFIX}/share/man/man1/${APP}-client.1.gz
33
 	rm -f ${PREFIX}/share/man/man1/${APP}-remote.1.gz
30
 	rm -f ${PREFIX}/share/man/man1/${APP}-remote.1.gz
34
 	rm -f ${PREFIX}/share/man/man1/${APP}-config.1.gz
31
 	rm -f ${PREFIX}/share/man/man1/${APP}-config.1.gz
36
 	rm -rf ${PREFIX}/share/${APP}
33
 	rm -rf ${PREFIX}/share/${APP}
37
 	rm -f ${PREFIX}/bin/${APP}
34
 	rm -f ${PREFIX}/bin/${APP}
38
 	rm -f ${PREFIX}/bin/${APP}-prep
35
 	rm -f ${PREFIX}/bin/${APP}-prep
39
-	rm -f ${PREFIX}/bin/${APP}-tordongle
40
 	rm -f ${PREFIX}/bin/${APP}-client
36
 	rm -f ${PREFIX}/bin/${APP}-client
41
 	rm -f ${PREFIX}/bin/${APP}-remote
37
 	rm -f ${PREFIX}/bin/${APP}-remote
42
 	rm -f ${PREFIX}/bin/${APP}-config
38
 	rm -f ${PREFIX}/bin/${APP}-config

+ 0
- 1
debian.sh View File

10
 sed -i 's/VERSION='${PREV_VERSION}'/VERSION='${VERSION}'/g' Makefile
10
 sed -i 's/VERSION='${PREV_VERSION}'/VERSION='${VERSION}'/g' Makefile
11
 sed -i 's/VERSION="'${PREV_VERSION}'"/VERSION="'${VERSION}'"/g' src/freedombone
11
 sed -i 's/VERSION="'${PREV_VERSION}'"/VERSION="'${VERSION}'"/g' src/freedombone
12
 sed -i 's/VERSION="'${PREV_VERSION}'"/VERSION="'${VERSION}'"/g' src/freedombone-prep
12
 sed -i 's/VERSION="'${PREV_VERSION}'"/VERSION="'${VERSION}'"/g' src/freedombone-prep
13
-sed -i 's/VERSION="'${PREV_VERSION}'"/VERSION="'${VERSION}'"/g' src/freedombone-tordongle
14
 sed -i 's/VERSION="'${PREV_VERSION}'"/VERSION="'${VERSION}'"/g' src/freedombone-client
13
 sed -i 's/VERSION="'${PREV_VERSION}'"/VERSION="'${VERSION}'"/g' src/freedombone-client
15
 
14
 
16
 # change the parent directory name to debian format
15
 # change the parent directory name to debian format

+ 0
- 1
debian/source/include-binaries View File

1
 man/freedombone.1.gz
1
 man/freedombone.1.gz
2
 man/freedombone-prep.1.gz
2
 man/freedombone-prep.1.gz
3
-man/freedombone-tordongle.1.gz
4
 man/freedombone-client.1.gz
3
 man/freedombone-client.1.gz
5
 man/freedombone-remote.1.gz
4
 man/freedombone-remote.1.gz
6
 man/freedombone-config.1.gz
5
 man/freedombone-config.1.gz

BIN
man/freedombone-tordongle.1.gz View File


+ 31
- 112
src/freedombone View File

52
 VARIANT_NONMAILBOX="nonmailbox"
52
 VARIANT_NONMAILBOX="nonmailbox"
53
 VARIANT_SOCIAL="social"
53
 VARIANT_SOCIAL="social"
54
 VARIANT_MEDIA="media"
54
 VARIANT_MEDIA="media"
55
-VARIANT_TOR_DONGLE="tordongle"
56
 
55
 
57
 DEFAULT_DOMAIN_NAME=
56
 DEFAULT_DOMAIN_NAME=
58
 DEFAULT_DOMAIN_CODE=
57
 DEFAULT_DOMAIN_CODE=
397
   echo '------------'
396
   echo '------------'
398
   echo 'This can either be blank if you wish to install the full system,'
397
   echo 'This can either be blank if you wish to install the full system,'
399
   echo "or for more specialised variants you can specify '$VARIANT_MAILBOX', '$VARIANT_CLOUD',"
398
   echo "or for more specialised variants you can specify '$VARIANT_MAILBOX', '$VARIANT_CLOUD',"
400
-  echo "'$VARIANT_CHAT', '$VARIANT_SOCIAL', '$VARIANT_MEDIA', '$VARIANT_TOR_DONGLE' or '$VARIANT_WRITER'."
399
+  echo "'$VARIANT_CHAT', '$VARIANT_SOCIAL', '$VARIANT_MEDIA' or '$VARIANT_WRITER'."
401
   echo "If you wish to install everything except email then use the '$VARIANT_NONMAILBOX' variaint."
400
   echo "If you wish to install everything except email then use the '$VARIANT_NONMAILBOX' variaint."
402
   echo ''
401
   echo ''
403
   exit 0
402
   exit 0
659
   if [ ! $SYSTEM_TYPE ]; then
658
   if [ ! $SYSTEM_TYPE ]; then
660
       SYSTEM_TYPE=$VARIANT_FULL
659
       SYSTEM_TYPE=$VARIANT_FULL
661
   fi
660
   fi
662
-  if [[ $SYSTEM_TYPE != $VARIANT_WRITER && $SYSTEM_TYPE != $VARIANT_CLOUD && $SYSTEM_TYPE != $VARIANT_CHAT && $SYSTEM_TYPE != $VARIANT_MAILBOX && $SYSTEM_TYPE != $VARIANT_NONMAILBOX && $SYSTEM_TYPE != $VARIANT_SOCIAL && $SYSTEM_TYPE != $VARIANT_MEDIA && $SYSTEM_TYPE != $VARIANT_TOR_DONGLE && $SYSTEM_TYPE != $VARIANT_FULL ]]; then
661
+  if [[ $SYSTEM_TYPE != $VARIANT_WRITER && $SYSTEM_TYPE != $VARIANT_CLOUD && $SYSTEM_TYPE != $VARIANT_CHAT && $SYSTEM_TYPE != $VARIANT_MAILBOX && $SYSTEM_TYPE != $VARIANT_NONMAILBOX && $SYSTEM_TYPE != $VARIANT_SOCIAL && $SYSTEM_TYPE != $VARIANT_MEDIA && $SYSTEM_TYPE != $VARIANT_FULL ]]; then
663
       echo "'$SYSTEM_TYPE' is an unrecognised Freedombone variant."
662
       echo "'$SYSTEM_TYPE' is an unrecognised Freedombone variant."
664
       exit 30
663
       exit 30
665
   fi
664
   fi
3888
       echo "             '    '  -' --'  - -' -'   -'-'  - " >> /etc/motd
3887
       echo "             '    '  -' --'  - -' -'   -'-'  - " >> /etc/motd
3889
   fi
3888
   fi
3890
 
3889
 
3891
-  if [[ $SYSTEM_TYPE == "$VARIANT_TOR_DONGLE" ]]; then
3892
-      echo '          .---.         .--.               .     ' >> /etc/motd
3893
-      echo '            |           |   :              |     ' >> /etc/motd
3894
-      echo '            | .-. .--.  |   | .-. .--. .-..| .-. ' >> /etc/motd
3895
-      echo "            |(   )|     |   ;(   )|  |(   ||(.-' " >> /etc/motd
3896
-      echo "            '  -' '     '--'   -' '   - - | - --'" >> /etc/motd
3897
-      echo "                                       ._.'      " >> /etc/motd
3898
-  fi
3899
-
3900
   echo '' >> /etc/motd
3890
   echo '' >> /etc/motd
3901
   echo '                  Freedom in the Cloud' >> /etc/motd
3891
   echo '                  Freedom in the Cloud' >> /etc/motd
3902
   echo '' >> /etc/motd
3892
   echo '' >> /etc/motd
3909
   if grep -Fxq "search_for_attached_usb_drive" $COMPLETION_FILE; then
3899
   if grep -Fxq "search_for_attached_usb_drive" $COMPLETION_FILE; then
3910
       return
3900
       return
3911
   fi
3901
   fi
3912
-  if [[ $SYSTEM_TYPE == "$VARIANT_TOR_DONGLE" ]]; then
3913
-      return
3914
-  fi
3915
   if [ -b $USB_DRIVE ]; then
3902
   if [ -b $USB_DRIVE ]; then
3916
       if [ ! -d $USB_MOUNT ]; then
3903
       if [ ! -d $USB_MOUNT ]; then
3917
           echo 'Mounting USB drive'
3904
           echo 'Mounting USB drive'
4585
 }
4572
 }
4586
 
4573
 
4587
 function configure_firewall_for_voip {
4574
 function configure_firewall_for_voip {
4588
-  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_TOR_DONGLE" ]]; then
4575
+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" ]]; then
4589
       return
4576
       return
4590
   fi
4577
   fi
4591
   if grep -Fxq "configure_firewall_for_voip" $COMPLETION_FILE; then
4578
   if grep -Fxq "configure_firewall_for_voip" $COMPLETION_FILE; then
4618
       # docker does its own firewalling
4605
       # docker does its own firewalling
4619
       return
4606
       return
4620
   fi
4607
   fi
4621
-  if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_TOR_DONGLE" ]]; then
4608
+  if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" ]]; then
4622
       return
4609
       return
4623
   fi
4610
   fi
4624
   iptables -A INPUT -i eth0 -p udp --dport 1900 -j ACCEPT
4611
   iptables -A INPUT -i eth0 -p udp --dport 1900 -j ACCEPT
4745
 }
4732
 }
4746
 
4733
 
4747
 function configure_firewall_for_email {
4734
 function configure_firewall_for_email {
4748
-  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" || $SYSTEM_TYPE == "$VARIANT_TOR_DONGLE" ]]; then
4735
+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
4749
       return
4736
       return
4750
   fi
4737
   fi
4751
   if grep -Fxq "configure_firewall_for_email" $COMPLETION_FILE; then
4738
   if grep -Fxq "configure_firewall_for_email" $COMPLETION_FILE; then
4828
 }
4815
 }
4829
 
4816
 
4830
 function configure_email {
4817
 function configure_email {
4831
-  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" || $SYSTEM_TYPE == "$VARIANT_TOR_DONGLE" ]]; then
4818
+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
4832
       return
4819
       return
4833
   fi
4820
   fi
4834
   if grep -Fxq "configure_email" $COMPLETION_FILE; then
4821
   if grep -Fxq "configure_email" $COMPLETION_FILE; then
4936
 }
4923
 }
4937
 
4924
 
4938
 function create_procmail {
4925
 function create_procmail {
4939
-  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" || $SYSTEM_TYPE == "$VARIANT_TOR_DONGLE" ]]; then
4926
+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
4940
       return
4927
       return
4941
   fi
4928
   fi
4942
   if grep -Fxq "create_procmail" $COMPLETION_FILE; then
4929
   if grep -Fxq "create_procmail" $COMPLETION_FILE; then
4953
 
4940
 
4954
 function spam_filtering {
4941
 function spam_filtering {
4955
   # NOTE: spamassassin installation currently doesn't work, sa-compile fails with a make error 23/09/2014
4942
   # NOTE: spamassassin installation currently doesn't work, sa-compile fails with a make error 23/09/2014
4956
-  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" || $SYSTEM_TYPE == "$VARIANT_TOR_DONGLE" ]]; then
4943
+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
4957
       return
4944
       return
4958
   fi
4945
   fi
4959
   if grep -Fxq "spam_filtering" $COMPLETION_FILE; then
4946
   if grep -Fxq "spam_filtering" $COMPLETION_FILE; then
5048
 }
5035
 }
5049
 
5036
 
5050
 function configure_imap {
5037
 function configure_imap {
5051
-  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" || $SYSTEM_TYPE == "$VARIANT_TOR_DONGLE" ]]; then
5038
+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
5052
       return
5039
       return
5053
   fi
5040
   fi
5054
   if grep -Fxq "configure_imap" $COMPLETION_FILE; then
5041
   if grep -Fxq "configure_imap" $COMPLETION_FILE; then
5187
   # encrypts incoming mail using your GPG public key
5174
   # encrypts incoming mail using your GPG public key
5188
   # so even if an attacker gains access to the data at rest they still need
5175
   # so even if an attacker gains access to the data at rest they still need
5189
   # to know your GPG key password to be able to read anything
5176
   # to know your GPG key password to be able to read anything
5190
-  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" || $SYSTEM_TYPE == "$VARIANT_TOR_DONGLE" ]]; then
5177
+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
5191
       return
5178
       return
5192
   fi
5179
   fi
5193
   if grep -Fxq "encrypt_incoming_email" $COMPLETION_FILE; then
5180
   if grep -Fxq "encrypt_incoming_email" $COMPLETION_FILE; then
5218
   # encrypts outgoing mail using your GPG public key
5205
   # encrypts outgoing mail using your GPG public key
5219
   # so even if an attacker gains access to the data at rest they still need
5206
   # so even if an attacker gains access to the data at rest they still need
5220
   # to know your GPG key password to be able to read sent mail
5207
   # to know your GPG key password to be able to read sent mail
5221
-  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" || $SYSTEM_TYPE == "$VARIANT_TOR_DONGLE" ]]; then
5208
+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
5222
       return
5209
       return
5223
   fi
5210
   fi
5224
   if grep -Fxq "encrypt_outgoing_email" $COMPLETION_FILE; then
5211
   if grep -Fxq "encrypt_outgoing_email" $COMPLETION_FILE; then
5245
 }
5232
 }
5246
 
5233
 
5247
 function encrypt_all_email {
5234
 function encrypt_all_email {
5248
-  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" || $SYSTEM_TYPE == "$VARIANT_TOR_DONGLE" ]]; then
5235
+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
5249
       return
5236
       return
5250
   fi
5237
   fi
5251
   if grep -Fxq "encrypt_all_email" $COMPLETION_FILE; then
5238
   if grep -Fxq "encrypt_all_email" $COMPLETION_FILE; then
5379
 }
5366
 }
5380
 
5367
 
5381
 function email_client {
5368
 function email_client {
5382
-  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" || $SYSTEM_TYPE == "$VARIANT_TOR_DONGLE" ]]; then
5369
+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
5383
       return
5370
       return
5384
   fi
5371
   fi
5385
   if grep -Fxq "email_client" $COMPLETION_FILE; then
5372
   if grep -Fxq "email_client" $COMPLETION_FILE; then
5491
 }
5478
 }
5492
 
5479
 
5493
 function email_archiving {
5480
 function email_archiving {
5494
-  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" || $SYSTEM_TYPE == "$VARIANT_TOR_DONGLE" ]]; then
5481
+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
5495
       return
5482
       return
5496
   fi
5483
   fi
5497
   if grep -Fxq "email_archiving" $COMPLETION_FILE; then
5484
   if grep -Fxq "email_archiving" $COMPLETION_FILE; then
5523
 }
5510
 }
5524
 
5511
 
5525
 function folders_for_mailing_lists {
5512
 function folders_for_mailing_lists {
5526
-  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" || $SYSTEM_TYPE == "$VARIANT_TOR_DONGLE" ]]; then
5513
+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
5527
       return
5514
       return
5528
   fi
5515
   fi
5529
   if grep -Fxq "folders_for_mailing_lists" $COMPLETION_FILE; then
5516
   if grep -Fxq "folders_for_mailing_lists" $COMPLETION_FILE; then
5601
 }
5588
 }
5602
 
5589
 
5603
 function folders_for_email_addresses {
5590
 function folders_for_email_addresses {
5604
-  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" || $SYSTEM_TYPE == "$VARIANT_TOR_DONGLE" ]]; then
5591
+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
5605
       return
5592
       return
5606
   fi
5593
   fi
5607
   if grep -Fxq "folders_for_email_addresses" $COMPLETION_FILE; then
5594
   if grep -Fxq "folders_for_email_addresses" $COMPLETION_FILE; then
5654
 }
5641
 }
5655
 
5642
 
5656
 function create_public_mailing_list {
5643
 function create_public_mailing_list {
5657
-  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" || $SYSTEM_TYPE == "$VARIANT_TOR_DONGLE" ]]; then
5644
+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
5658
       return
5645
       return
5659
   fi
5646
   fi
5660
   if grep -Fxq "create_public_mailing_list" $COMPLETION_FILE; then
5647
   if grep -Fxq "create_public_mailing_list" $COMPLETION_FILE; then
5750
 }
5737
 }
5751
 
5738
 
5752
 function create_private_mailing_list {
5739
 function create_private_mailing_list {
5753
-  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" || $SYSTEM_TYPE == "$VARIANT_TOR_DONGLE" ]]; then
5740
+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
5754
       return
5741
       return
5755
   fi
5742
   fi
5756
   # This installation doesn't work, results in ruby errors
5743
   # This installation doesn't work, results in ruby errors
5811
 }
5798
 }
5812
 
5799
 
5813
 function import_email {
5800
 function import_email {
5814
-  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" || $SYSTEM_TYPE == "$VARIANT_TOR_DONGLE" ]]; then
5801
+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
5815
       return
5802
       return
5816
   fi
5803
   fi
5817
   EMAIL_COMPLETE_MSG='  *** Freedombone mailbox installation is complete ***'
5804
   EMAIL_COMPLETE_MSG='  *** Freedombone mailbox installation is complete ***'
5862
 }
5849
 }
5863
 
5850
 
5864
 function install_web_server {
5851
 function install_web_server {
5865
-  if [[ $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_TOR_DONGLE" ]]; then
5852
+  if [[ $SYSTEM_TYPE == "$VARIANT_CHAT" ]]; then
5866
       return
5853
       return
5867
   fi
5854
   fi
5868
   if grep -Fxq "install_web_server" $COMPLETION_FILE; then
5855
   if grep -Fxq "install_web_server" $COMPLETION_FILE; then
6133
 }
6120
 }
6134
 
6121
 
6135
 function install_owncloud_music_app {
6122
 function install_owncloud_music_app {
6136
-  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_TOR_DONGLE" ]]; then
6123
+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" ]]; then
6137
       return
6124
       return
6138
   fi
6125
   fi
6139
   if grep -Fxq "install_owncloud_music_app" $COMPLETION_FILE; then
6126
   if grep -Fxq "install_owncloud_music_app" $COMPLETION_FILE; then
6196
 }
6183
 }
6197
 
6184
 
6198
 function install_owncloud {
6185
 function install_owncloud {
6199
-  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_TOR_DONGLE" ]]; then
6186
+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" ]]; then
6200
       return
6187
       return
6201
   fi
6188
   fi
6202
   OWNCLOUD_COMPLETION_MSG1=" *** Freedombone $SYSTEM_TYPE is now installed ***"
6189
   OWNCLOUD_COMPLETION_MSG1=" *** Freedombone $SYSTEM_TYPE is now installed ***"
6447
 }
6434
 }
6448
 
6435
 
6449
 function install_xmpp {
6436
 function install_xmpp {
6450
-  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_TOR_DONGLE" ]]; then
6437
+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" ]]; then
6451
       return
6438
       return
6452
   fi
6439
   fi
6453
   if grep -Fxq "install_xmpp" $COMPLETION_FILE; then
6440
   if grep -Fxq "install_xmpp" $COMPLETION_FILE; then
6572
 }
6559
 }
6573
 
6560
 
6574
 function install_irc_server {
6561
 function install_irc_server {
6575
-  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_TOR_DONGLE" ]]; then
6562
+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" ]]; then
6576
       return
6563
       return
6577
   fi
6564
   fi
6578
   if grep -Fxq "install_irc_server" $COMPLETION_FILE; then
6565
   if grep -Fxq "install_irc_server" $COMPLETION_FILE; then
6653
 }
6640
 }
6654
 
6641
 
6655
 function install_wiki {
6642
 function install_wiki {
6656
-  if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_TOR_DONGLE" ]]; then
6643
+  if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" ]]; then
6657
       return
6644
       return
6658
   fi
6645
   fi
6659
   if grep -Fxq "install_wiki" $COMPLETION_FILE; then
6646
   if grep -Fxq "install_wiki" $COMPLETION_FILE; then
6941
 }
6928
 }
6942
 
6929
 
6943
 function install_blog {
6930
 function install_blog {
6944
-  if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_TOR_DONGLE" ]]; then
6931
+  if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" ]]; then
6945
       return
6932
       return
6946
   fi
6933
   fi
6947
   if grep -Fxq "install_blog" $COMPLETION_FILE; then
6934
   if grep -Fxq "install_blog" $COMPLETION_FILE; then
7183
   if grep -Fxq "install_gnu_social" $COMPLETION_FILE; then
7170
   if grep -Fxq "install_gnu_social" $COMPLETION_FILE; then
7184
       return
7171
       return
7185
   fi
7172
   fi
7186
-  if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_TOR_DONGLE" ]]; then
7173
+  if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MEDIA" ]]; then
7187
       return
7174
       return
7188
   fi
7175
   fi
7189
   if [ ! $MICROBLOG_DOMAIN_NAME ]; then
7176
   if [ ! $MICROBLOG_DOMAIN_NAME ]; then
7426
   if grep -Fxq "install_redmatrix" $COMPLETION_FILE; then
7413
   if grep -Fxq "install_redmatrix" $COMPLETION_FILE; then
7427
       return
7414
       return
7428
   fi
7415
   fi
7429
-  if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_TOR_DONGLE" ]]; then
7416
+  if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MEDIA" ]]; then
7430
       return
7417
       return
7431
   fi
7418
   fi
7432
   if [ ! $REDMATRIX_DOMAIN_NAME ]; then
7419
   if [ ! $REDMATRIX_DOMAIN_NAME ]; then
7730
   if grep -Fxq "install_dlna_server" $COMPLETION_FILE; then
7717
   if grep -Fxq "install_dlna_server" $COMPLETION_FILE; then
7731
       return
7718
       return
7732
   fi
7719
   fi
7733
-  if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_TOR_DONGLE" ]]; then
7720
+  if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" ]]; then
7734
       return
7721
       return
7735
   fi
7722
   fi
7736
   apt-get -y install minidlna
7723
   apt-get -y install minidlna
7782
   if grep -Fxq "install_mediagoblin" $COMPLETION_FILE; then
7769
   if grep -Fxq "install_mediagoblin" $COMPLETION_FILE; then
7783
       return
7770
       return
7784
   fi
7771
   fi
7785
-  if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_TOR_DONGLE" ]]; then
7772
+  if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" ]]; then
7786
       return
7773
       return
7787
   fi
7774
   fi
7788
   if [ ! $MEDIAGOBLIN_DOMAIN_NAME ]; then
7775
   if [ ! $MEDIAGOBLIN_DOMAIN_NAME ]; then
8060
   echo 'intrusion_detection' >> $COMPLETION_FILE
8047
   echo 'intrusion_detection' >> $COMPLETION_FILE
8061
 }
8048
 }
8062
 
8049
 
8063
-# see http://adammelton.com/tor_dongle.php
8064
-# Attach the BeagleBone to a PC via USB and then have an enthernet
8065
-# connection to the internet router
8066
-function create_tor_dongle {
8067
-  if grep -Fxq "create_tor_dongle" $COMPLETION_FILE; then
8068
-      return
8069
-  fi
8070
-  if [[ $SYSTEM_TYPE != "$VARIANT_TOR_DONGLE" ]]; then
8071
-      return
8072
-  fi
8073
-
8074
-  apt-get -y install tor tor-arm
8075
-
8076
-  # firewall
8077
-  iptables -A INPUT -i usb0 -p tcp --dport 9050 -j ACCEPT
8078
-  iptables -A INPUT -i usb0 -p tcp --dport 9051 -j ACCEPT
8079
-  save_firewall_settings
8080
-
8081
-  # tor settings
8082
-  sed -i "s/#SocksPort 192.168.0.1:9100/SocksPort 192.168.7.2:9050/g" /etc/tor/torrc
8083
-  sed -i 's/#ControlPort 9051/ControlPort 9051/g' /etc/tor/torrc
8084
-  sed -i 's/#CookieAuthentication 1/CookieAuthentication 1/g' /etc/tor/torrc
8085
-  if ! grep -q "DisableDebuggerAttachment" /etc/tor/torrc; then
8086
-      echo 'DisableDebuggerAttachment 0' >> /etc/tor/torrc
8087
-  fi
8088
-
8089
-  # ensure that USB networking is enabled
8090
-  echo '# The loopback network interface' > /etc/network/interfaces
8091
-  echo 'auto lo' >> /etc/network/interfaces
8092
-  echo 'iface lo inet loopback' >> /etc/network/interfaces
8093
-  echo '' >> /etc/network/interfaces
8094
-  echo '# The primary network interface' >> /etc/network/interfaces
8095
-  echo 'auto eth0' >> /etc/network/interfaces
8096
-  echo 'iface eth0 inet dhcp' >> /etc/network/interfaces
8097
-  echo '' >> /etc/network/interfaces
8098
-  echo '# USB network interface' >> /etc/network/interfaces
8099
-  echo 'iface usb0 inet static' >> /etc/network/interfaces
8100
-  echo '    address 192.168.7.2' >> /etc/network/interfaces
8101
-  echo '    netmask 255.255.255.0' >> /etc/network/interfaces
8102
-  echo '    network 192.168.7.0' >> /etc/network/interfaces
8103
-  echo '    gateway 192.168.7.1' >> /etc/network/interfaces
8104
-
8105
-  if ! grep -q "Tor Dongle" /home/$MY_USERNAME/README; then
8106
-      echo '' >> /home/$MY_USERNAME/README
8107
-      echo '' >> /home/$MY_USERNAME/README
8108
-      echo 'Tor Dongle' >> /home/$MY_USERNAME/README
8109
-      echo '==========' >> /home/$MY_USERNAME/README
8110
-      echo 'Connect your PC to the Beaglebone via the USB cable' >> /home/$MY_USERNAME/README
8111
-      echo 'and the Beaglebone ethernet to your internet router.' >> /home/$MY_USERNAME/README
8112
-      echo '' >> /home/$MY_USERNAME/README
8113
-      echo 'Within your network proxy settings set the SOCKS host' >> /home/$MY_USERNAME/README
8114
-      echo 'to 192.168.7.2 and the port to 9050, with remote' >> /home/$MY_USERNAME/README
8115
-      echo 'DNS enabled. There should be no proxying for localhost' >> /home/$MY_USERNAME/README
8116
-      echo 'and 127.0.0.1' >> /home/$MY_USERNAME/README
8117
-  fi
8118
-
8119
-  echo 'Freedombone Tor Dongle installation is complete'
8120
-  cat /home/$MY_USERNAME/README
8121
-
8122
-  service networking restart
8123
-  service tor restart
8124
-  exit 873
8125
-}
8126
-
8127
 # see https://trac.torproject.org/projects/tor/wiki/doc/TransparentProxy
8050
 # see https://trac.torproject.org/projects/tor/wiki/doc/TransparentProxy
8128
 # Local Redirection and Anonymizing Middlebox
8051
 # Local Redirection and Anonymizing Middlebox
8129
 function route_outgoing_traffic_through_tor {
8052
 function route_outgoing_traffic_through_tor {
8130
   if grep -Fxq "route_outgoing_traffic_through_tor" $COMPLETION_FILE; then
8053
   if grep -Fxq "route_outgoing_traffic_through_tor" $COMPLETION_FILE; then
8131
       return
8054
       return
8132
   fi
8055
   fi
8133
-  if [[ $SYSTEM_TYPE == "$VARIANT_TOR_DONGLE" ]]; then
8134
-      return
8135
-  fi
8136
   if [[ $ROUTE_THROUGH_TOR != "yes" ]]; then
8056
   if [[ $ROUTE_THROUGH_TOR != "yes" ]]; then
8137
       return
8057
       return
8138
   fi
8058
   fi
8484
 }
8404
 }
8485
 
8405
 
8486
 function install_voip {
8406
 function install_voip {
8487
-  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_TOR_DONGLE" ]]; then
8407
+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" ]]; then
8488
       return
8408
       return
8489
   fi
8409
   fi
8490
   if grep -Fxq "install_voip" $COMPLETION_FILE; then
8410
   if grep -Fxq "install_voip" $COMPLETION_FILE; then
8661
 create_restore_script
8581
 create_restore_script
8662
 backup_to_friends_servers
8582
 backup_to_friends_servers
8663
 restore_from_friend
8583
 restore_from_friend
8664
-create_tor_dongle
8665
 intrusion_detection
8584
 intrusion_detection
8666
 install_final
8585
 install_final
8667
 echo 'Freedombone installation is complete'
8586
 echo 'Freedombone installation is complete'

+ 0
- 1
src/freedombone-config View File

50
 VARIANT_NONMAILBOX="nonmailbox"
50
 VARIANT_NONMAILBOX="nonmailbox"
51
 VARIANT_SOCIAL="social"
51
 VARIANT_SOCIAL="social"
52
 VARIANT_MEDIA="media"
52
 VARIANT_MEDIA="media"
53
-VARIANT_TOR_DONGLE="tordongle"
54
 
53
 
55
 MY_USERNAME=
54
 MY_USERNAME=
56
 DEFAULT_DOMAIN_NAME=
55
 DEFAULT_DOMAIN_NAME=

+ 0
- 139
src/freedombone-tordongle View File

1
-#!/bin/bash
2
-# This script installs the Debian image to the microSD card, and should
3
-# be run on your laptop/desktop with the microSD card plugged in.
4
-
5
-# License
6
-# =======
7
-#
8
-# Copyright (C) 2014-2015 Bob Mottram <bob@robotics.uk.to>
9
-#
10
-# This program is free software: you can redistribute it and/or modify
11
-# it under the terms of the GNU General Public License as published by
12
-# the Free Software Foundation, either version 3 of the License, or
13
-# (at your option) any later version.
14
-#
15
-# This program is distributed in the hope that it will be useful,
16
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
17
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
-# GNU General Public License for more details.
19
-#
20
-# You should have received a copy of the GNU General Public License
21
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
22
-
23
-# Version number of this script
24
-VERSION="1.00"
25
-
26
-# typically /dev/sdb or /dev/sdc, depending upon how
27
-# many drives there are on your system
28
-MICROSD_DRIVE=$1
29
-
30
-# IP address of the router (gateway)
31
-ROUTER_IP_ADDRESS="192.168.1.254"
32
-
33
-# The fixed IP address of the Beaglebone Black on your local network
34
-BBB_FIXED_IP_ADDRESS="192.168.7.2"
35
-
36
-MICROSD_MOUNT_POINT="/media/$USER"
37
-
38
-DEBIAN_FILE_NAME="debian-jessie-console-armhf-2014-08-13"
39
-
40
-# Downloads for the Debian installer
41
-DOWNLOAD_LINK1="https://rcn-ee.net/deb/rootfs/jessie/$DEBIAN_FILE_NAME.tar.xz"
42
-DOWNLOAD_LINK2="http://ynezz.ibawizard.net/beagleboard/jessie/$DEBIAN_FILE_NAME.tar.xz"
43
-
44
-if [ ! MICROSD_DRIVE ]; then
45
-	echo 'You need to specify a drive for the connected microSD.'
46
-	echo 'This can most easily be found by removing the microSD, then'
47
-	echo 'running:'
48
-	echo ''
49
-	echo '  ls /dev/sd*'
50
-	echo ''
51
-	echo 'Then plugging the microSD back in and entering the same command again'
52
-	exit 1
53
-fi
54
-
55
-if [ ! -b ${MICROSD_DRIVE}1 ]; then
56
-	echo "The microSD drive could not be found at ${MICROSD_DRIVE}1"
57
-	exit 2
58
-fi
59
-
60
-if [ ! -d ~/freedombone ]; then
61
-	mkdir ~/freedombone
62
-fi
63
-cd ~/freedombone
64
-if [ ! -f ~/freedombone/$DEBIAN_FILE_NAME.tar.xz ]; then
65
-	wget $DOWNLOAD_LINK1
66
-fi
67
-if [ ! -f ~/freedombone/$DEBIAN_FILE_NAME.tar.xz ]; then
68
-	# try another site
69
-    wget $DOWNLOAD_LINK2
70
-	if [ ! -f ~/freedombone/$DEBIAN_FILE_NAME.tar.xz ]; then
71
-		echo 'The Debian installer could not be downloaded'
72
-		exit 3
73
-	fi
74
-fi
75
-
76
-echo 'Extracting files...'
77
-tar xJf $DEBIAN_FILE_NAME.tar.xz
78
-if [ ! -d ~/freedombone/$DEBIAN_FILE_NAME ]; then
79
-	echo "Couldn't extract files"
80
-	exit 4
81
-fi
82
-cd $DEBIAN_FILE_NAME
83
-sudo ./setup_sdcard.sh --mmc $MICROSD_DRIVE --dtb beaglebone
84
-
85
-echo ''
86
-echo ''
87
-read -p "Eject the microSD card, re-insert it and wait a minute for it to mount, then press any key to continue... " -n1 -s
88
-
89
-if [ ! -b ${MICROSD_DRIVE}1 ]; then
90
-	echo ''
91
-	echo "The microSD drive could not be found at ${MICROSD_DRIVE}1"
92
-	read -p "Wait for the drive to mount then press any key... " -n1 -s
93
-	if [ ! -b ${MICROSD_DRIVE}1 ]; then
94
-		echo "microSD drive not found at ${MICROSD_DRIVE}1"
95
-		exit 5
96
-	fi
97
-fi
98
-
99
-sudo cp $MICROSD_MOUNT_POINT/BOOT/bbb-uEnv.txt $MICROSD_MOUNT_POINT/BOOT/uEnv.txt
100
-
101
-sudo sed -i 's/nameserver.*/nameserver 213.73.91.35/g' $MICROSD_MOUNT_POINT/rootfs/etc/resolv.conf
102
-sudo sed -i '/nameserver 213.73.91.35/a\nameserver 85.214.20.141' $MICROSD_MOUNT_POINT/rootfs/etc/resolv.conf
103
-
104
-clear
105
-echo '*** Initial microSD card setup is complete ***'
106
-echo ''
107
-echo 'The microSD card can now be removed and inserted into the Beaglebone Black.'
108
-echo 'Once the Beaglebone has booted then you can log in with:'
109
-echo ''
110
-echo "    ssh debian@$BBB_FIXED_IP_ADDRESS"
111
-echo ''
112
-echo 'The password is "temppwd". You can then become the root user by typing:'
113
-echo ''
114
-echo '    su'
115
-echo ''
116
-echo 'Using the password "root". Change the root user password by typing:'
117
-echo ''
118
-echo '    passwd'
119
-echo ''
120
-echo 'Then create a user for the system with:'
121
-echo ''
122
-echo '    adduser [username]'
123
-echo ''
124
-echo 'Enter the command "exit" a couple of times to get back to your main system'
125
-echo 'then log back in as the user you just created with:'
126
-echo ''
127
-echo '    ssh [username]@$BBB_FIXED_IP_ADDRESS'
128
-echo ''
129
-echo 'and use the "su" command to become the root user again. You can then load'
130
-echo 'the freedombone main installation script with:'
131
-echo ''
132
-echo '    apt-get -y install git'
133
-echo '    git clone https://github.com/bashrc/freedombone.git'
134
-echo '    cd freedombone'
135
-echo ''
136
-echo 'Finally you can use the freedombone command to setup the BBB as a dongle:'
137
-echo ''
138
-echo "    freedombone --bbb -s tordongle -d [domain] -u [username] --ip $BBB_FIXED_IP_ADDRESS --iprouter $ROUTER_IP_ADDRESS"
139
-exit 0