Pārlūkot izejas kodu

Beginning of ipfs

Bob Mottram 10 gadus atpakaļ
vecāks
revīzija
24067c7e13
1 mainītis faili ar 259 papildinājumiem un 83 dzēšanām
  1. 259
    83
      src/freedombone

+ 259
- 83
src/freedombone Parādīt failu

@@ -2725,6 +2725,16 @@ function create_backup_script {
2725 2725
   echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2726 2726
   echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
2727 2727
 
2728
+  echo '# Backup IPFS' >> /usr/bin/$BACKUP_SCRIPT_NAME
2729
+  echo 'if [ -d /home/$MY_USERNAME/.ipfs ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2730
+  echo '  echo "Backing up IPFS"' >> /usr/bin/$BACKUP_SCRIPT_NAME
2731
+  echo "  if [ ! -d $USB_MOUNT/backup/ipfs ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
2732
+  echo "    mkdir -p $USB_MOUNT/backup/ipfs" >> /usr/bin/$BACKUP_SCRIPT_NAME
2733
+  echo '  fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2734
+  backup_directory_to_usb '/home/$MY_USERNAME/.ipfs' 'ipfs'
2735
+  echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2736
+  echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
2737
+
2728 2738
   echo '# Backup Mutt settings' >> /usr/bin/$BACKUP_SCRIPT_NAME
2729 2739
   echo 'if [ -f /home/$MY_USERNAME/.muttrc ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2730 2740
   echo '  echo "Backing up Mutt settings"' >> /usr/bin/$BACKUP_SCRIPT_NAME
@@ -3196,6 +3206,25 @@ function create_restore_script {
3196 3206
 
3197 3207
   RESTORE_SUBDIR='home/'
3198 3208
   if [[ $BACKUP_TYPE != 'obnam' ]]; then
3209
+      RESTORE_SUBDIR='usb/backup/ipfs/'
3210
+  fi
3211
+  echo "if [ -d $USB_MOUNT/backup/ipfs ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3212
+  echo '  echo "Restoring IPFS"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3213
+  restore_directory_from_usb '/root/tempipfs' 'ipfs'
3214
+  echo -n "  cp -f /root/tempipfs/${RESTORE_SUBDIR}" >> /usr/bin/$RESTORE_SCRIPT_NAME
3215
+  echo '$MY_USERNAME/tempbackup/ipfs/* /home/$MY_USERNAME/.ipfs' >> /usr/bin/$RESTORE_SCRIPT_NAME
3216
+  echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3217
+  echo "    umount $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
3218
+  echo "    rm -rf $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
3219
+  echo '    rm -rf /root/tempipfs' >> /usr/bin/$RESTORE_SCRIPT_NAME
3220
+  echo '    exit 276' >> /usr/bin/$RESTORE_SCRIPT_NAME
3221
+  echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3222
+  echo '  rm -rf /root/tempipfs' >> /usr/bin/$RESTORE_SCRIPT_NAME
3223
+  echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3224
+  echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
3225
+
3226
+  RESTORE_SUBDIR='home/'
3227
+  if [[ $BACKUP_TYPE != 'obnam' ]]; then
3199 3228
       RESTORE_SUBDIR='usb/backup/ssh/'
3200 3229
   fi
3201 3230
   echo "if [ -d $USB_MOUNT/backup/ssh ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
@@ -3998,6 +4027,16 @@ function backup_to_friends_servers {
3998 4027
   echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3999 4028
   echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4000 4029
 
4030
+  echo '# Backup IPFS' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4031
+  echo 'if [ -d /home/$MY_USERNAME/.ipfs ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4032
+  echo '  echo "Backing up IPFS"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4033
+  echo '  if [ ! -d $SERVER_DIRECTORY/backup/ipfs ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4034
+  echo '    mkdir -p $SERVER_DIRECTORY/backup/ipfs' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4035
+  echo '  fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4036
+  backup_directory_to_friend '/home/$MY_USERNAME/.ipfs' 'ipfs'
4037
+  echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4038
+  echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4039
+
4001 4040
   echo '# Backup Mutt settings' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4002 4041
   echo 'if [ -f /home/$MY_USERNAME/.muttrc ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4003 4042
   echo '  echo "Backing up Mutt settings"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
@@ -4526,6 +4565,23 @@ function restore_from_friend {
4526 4565
 
4527 4566
   RESTORE_SUBDIR='home'
4528 4567
   if [[ $BACKUP_TYPE != 'obnam' ]]; then
4568
+      RESTORE_SUBDIR='remoterestore/backup/ipfs'
4569
+  fi
4570
+  echo 'if [ -d $SERVER_DIRECTORY/backup/ipfs ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4571
+  echo '  echo "Restoring IPFS"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4572
+  restore_directory_from_friend /root/tempipfs ipfs
4573
+  echo -n "  cp -f /root/tempipfs/${RESTORE_SUBDIR}/" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4574
+  echo '$MY_USERNAME/tempbackup/ipfs/* /home/$MY_USERNAME/.ipfs' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4575
+  echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4576
+  echo '    rm -rf /root/tempipfs' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4577
+  echo '    exit 276' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4578
+  echo '  fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4579
+  echo '  rm -rf /root/tempipfs' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4580
+  echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4581
+  echo '' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4582
+
4583
+  RESTORE_SUBDIR='home'
4584
+  if [[ $BACKUP_TYPE != 'obnam' ]]; then
4529 4585
       RESTORE_SUBDIR='remoterestore/backup/ssh'
4530 4586
   fi
4531 4587
   echo 'if [ -d $SERVER_DIRECTORY/backup/ssh ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
@@ -9784,95 +9840,102 @@ function create_upgrade_script {
9784 9840
   echo '' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9785 9841
   echo 'apt-get -y update' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9786 9842
   echo 'apt-get -y upgrade' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9787
-  if grep -Fxq "install_hubzilla" $COMPLETION_FILE; then
9788
-      echo '' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9789
-      echo '# Hubzilla' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9790
-      echo "cd /var/www/$HUBZILLA_DOMAIN_NAME/htdocs" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9791
-      echo 'git stash' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9792
-      echo 'git stash drop' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9793
-      echo 'git pull' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9794
-      echo "cd /var/www/$HUBZILLA_DOMAIN_NAME/htdocs/addon" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9795
-      echo 'git stash' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9796
-      echo 'git stash drop' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9797
-      echo 'git pull' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9798
-      echo "chown -R www-data:www-data /var/www/$HUBZILLA_DOMAIN_NAME/htdocs" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9799
-  fi
9800
-  if grep -Fxq "install_gnu_social" $COMPLETION_FILE; then
9801
-      echo '' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9802
-      echo '# GNU Social' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9803
-      echo "cd /var/www/$MICROBLOG_DOMAIN_NAME/htdocs" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9804
-      echo 'git stash' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9805
-      echo 'git stash drop' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9806
-      echo 'git pull' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9807
-      echo "chown -R www-data:www-data /var/www/$MICROBLOG_DOMAIN_NAME/htdocs" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9808
-  fi
9809
-  if grep -Fxq "install_blog" $COMPLETION_FILE; then
9810
-      echo '' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9811
-      echo '# Blog' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9812
-      echo "cd /var/www/$FULLBLOG_DOMAIN_NAME/htdocs" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9813
-      echo 'git stash' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9814
-      echo 'git stash drop' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9815
-      echo '#git pull' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9816
-      echo "#chown -R www-data:www-data /var/www/$FULLBLOG_DOMAIN_NAME/htdocs" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9817
-  fi
9818
-  if grep -Fxq "install_owncloud_music_app" $COMPLETION_FILE; then
9819
-      echo '' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9820
-      echo '# Owncloud music app' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9821
-      echo "cd /usr/share/owncloud/apps/music" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9822
-      echo 'git stash' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9823
-      echo 'git stash drop' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9824
-      echo 'git pull' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9825
-  fi
9826
-  if grep -Fxq "mesh_cjdns" $COMPLETION_FILE; then
9827
-      echo '' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9828
-      echo '# cjdns' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9829
-      echo "cd /etc/cjdns" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9830
-      echo 'git stash' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9831
-      echo 'git stash drop' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9832
-      echo 'git pull' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9833
-  fi
9834
-  if grep -Fxq "install_gogs" $COMPLETION_FILE; then
9835
-      echo '' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9836
-      echo '# gogs' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9837
-      echo "mv /home/git/gogs-repositories/*.git /home/git/gogs-repositories/$MY_USERNAME" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9838
-      echo 'cd /home/git/go/src/github.com/gogits/gogs' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9839
-      echo 'git stash' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9840
-      echo 'git stash drop' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9841
-      echo 'git pull' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9842
-      echo 'chown -R git:git /home/git' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9843
-      echo 'chmod 600 /home/git/go/src/github.com/gogits/gogs/custom/conf/app.ini' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9844
-      echo 'export GOPATH=/home/git/go' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9845
-      echo 'go get -u ./...' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9846
-      echo 'go build' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9847
-      echo 'systemctl restart gogs' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9848
-      echo 'systemctl daemon-reload' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9849
-  fi
9850
-
9843
+  echo "if grep -Fxq \"install_hubzilla\" $COMPLETION_FILE; then" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9844
+  echo '  # Hubzilla' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9845
+  echo "  cd /var/www/$HUBZILLA_DOMAIN_NAME/htdocs" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9846
+  echo '  git stash' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9847
+  echo '  git stash drop' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9848
+  echo '  git pull' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9849
+  echo "  cd /var/www/$HUBZILLA_DOMAIN_NAME/htdocs/addon" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9850
+  echo '  git stash' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9851
+  echo '  git stash drop' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9852
+  echo '  git pull' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9853
+  echo "  chown -R www-data:www-data /var/www/$HUBZILLA_DOMAIN_NAME/htdocs" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9854
+  echo 'fi' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME      
9855
+  echo '' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9856
+  echo "if grep -Fxq \"install_gnu_social\" $COMPLETION_FILE; then" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9857
+  echo '  # GNU Social' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9858
+  echo "  cd /var/www/$MICROBLOG_DOMAIN_NAME/htdocs" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9859
+  echo '  git stash' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9860
+  echo '  git stash drop' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9861
+  echo '  git pull' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9862
+  echo "  chown -R www-data:www-data /var/www/$MICROBLOG_DOMAIN_NAME/htdocs" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9863
+  echo 'fi' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9864
+  echo '' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9865
+  echo "if grep -Fxq \"install_blog\" $COMPLETION_FILE; then" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9866
+  echo '  # Blog' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9867
+  echo "  cd /var/www/$FULLBLOG_DOMAIN_NAME/htdocs" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9868
+  echo '  git stash' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9869
+  echo '  git stash drop' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9870
+  echo '  #git pull' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9871
+  echo "  #chown -R www-data:www-data /var/www/$FULLBLOG_DOMAIN_NAME/htdocs" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9872
+  echo 'fi' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9873
+  echo '' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9874
+  echo "if grep -Fxq \"install_owncloud_music_app\" $COMPLETION_FILE; then" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9875
+  echo '  # Owncloud music app' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9876
+  echo "  cd /usr/share/owncloud/apps/music" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9877
+  echo '  git stash' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9878
+  echo '  git stash drop' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9879
+  echo '  git pull' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9880
+  echo "fi" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9881
+  echo '' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9882
+  echo "if grep -Fxq \"mesh_cjdns\" $COMPLETION_FILE; then" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9883
+  echo '  # cjdns' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9884
+  echo "  cd /etc/cjdns" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9885
+  echo '  git stash' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9886
+  echo '  git stash drop' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9887
+  echo '  git pull' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9888
+  echo 'fi' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9889
+  echo '' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9890
+  echo "if grep -Fxq \"install_gogs\" $COMPLETION_FILE; then" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9891
+  echo '  # gogs' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9892
+  echo "  mv /home/git/gogs-repositories/*.git /home/git/gogs-repositories/$MY_USERNAME" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9893
+  echo '  cd /home/git/go/src/github.com/gogits/gogs' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9894
+  echo '  git stash' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9895
+  echo '  git stash drop' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9896
+  echo '  git pull' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9897
+  echo '  chown -R git:git /home/git' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9898
+  echo '  chmod 600 /home/git/go/src/github.com/gogits/gogs/custom/conf/app.ini' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9899
+  echo '  export GOPATH=/home/git/go' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9900
+  echo '  go get -u ./...' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9901
+  echo '  go build' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9902
+  echo '  systemctl restart gogs' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9903
+  echo '  systemctl daemon-reload' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9904
+  echo 'fi' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9905
+  echo '' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9906
+  echo "if grep -Fxq \"install_ipfs\" $COMPLETION_FILE; then" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9907
+  echo '  # ipfs' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9908
+  echo '  chown -R git:git /home/git' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9909
+  echo '  export GOPATH=/home/git/go' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9910
+  echo '  go get -u github.com/ipfs/go-ipfs/cmd/ipfs' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9911
+  echo '  systemctl restart ipfs' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9912
+  echo '  systemctl daemon-reload' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9913
+  echo 'fi' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9914
+  echo '' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9851 9915
   echo '# update tox node' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9852 9916
   echo "if [ -d $INSTALL_DIR/toxcore ]; then" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9853
-  echo "    cd $INSTALL_DIR/toxcore" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9854
-  echo '    git stash' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9855
-  echo '    git pull' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9856
-  echo '    autoreconf -i' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9857
-  echo '    ./configure --enable-daemon' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9858
-  echo '    make' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9859
-  echo '    make install' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9860
-  echo '    systemctl restart tox-bootstrapd.service' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9861
-  echo "    cd $INSTALL_DIR/toxic" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9862
-  echo '    git stash' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9863
-  echo '    git pull' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9864
-  echo '    make' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9865
-  echo '    make install' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9917
+  echo "  cd $INSTALL_DIR/toxcore" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9918
+  echo '  git stash' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9919
+  echo '  git pull' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9920
+  echo '  autoreconf -i' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9921
+  echo '  ./configure --enable-daemon' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9922
+  echo '  make' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9923
+  echo '  make install' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9924
+  echo '  systemctl restart tox-bootstrapd.service' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9925
+  echo "  cd $INSTALL_DIR/toxic" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9926
+  echo '  git stash' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9927
+  echo '  git pull' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9928
+  echo '  make' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9929
+  echo '  make install' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9866 9930
   echo 'fi' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9867
-
9931
+  echo '' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9868 9932
   echo '# update email encryption script' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9869 9933
   echo "if [ -d $INSTALL_DIR/gpgit ]; then" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9870
-  echo "    cd $INSTALL_DIR/gpgit" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9871
-  echo '    git stash' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9872
-  echo '    git pull' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9873
-  echo '    cp gpgit.pl /usr/bin' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9934
+  echo "  cd $INSTALL_DIR/gpgit" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9935
+  echo '  git stash' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9936
+  echo '  git pull' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9937
+  echo '  cp gpgit.pl /usr/bin' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9874 9938
   echo 'fi' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9875
-
9876 9939
   echo '' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
9877 9940
   echo "echo '
9878 9941
 
@@ -10178,6 +10241,118 @@ function get_voip_server_password {
10178 10241
   fi
10179 10242
 }
10180 10243
 
10244
+function install_ipfs {
10245
+  if [[ $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" ]]; then
10246
+      return
10247
+  fi
10248
+  if grep -Fxq "install_ipfs" $COMPLETION_FILE; then
10249
+      return
10250
+  fi
10251
+  apt-get -y install golang libpam0g-dev fuse
10252
+
10253
+  if [ ! -d /home/git ]; then  
10254
+      # add a gogs user account
10255
+      adduser --disabled-login --gecos 'Gogs' git
10256
+
10257
+      # install Go
10258
+      if ! grep -q "export GOPATH=/home/git/go" ~/.bashrc; then
10259
+          echo 'export GOPATH=/home/git/go' >> ~/.bashrc
10260
+          echo 'systemctl set-environment GOPATH=/home/git/go' >> ~/.bashrc
10261
+      fi
10262
+      . ~/.bashrc
10263
+      export GOPATH=/home/git/go
10264
+      if [ ! -d $GOPATH ]; then
10265
+          mkdir -p $GOPATH
10266
+      fi
10267
+  fi
10268
+
10269
+  if ! grep -q 'GOPATH/bin' ~/.bashrc; then
10270
+      echo 'export PATH="$GOPATH/bin:$PATH:";' >> ~/.bashrc
10271
+      echo 'export PATH="$PATH:/usr/local/opt/go/libexec/bin";' >> ~/.bashrc
10272
+  fi
10273
+  . ~/.bashrc
10274
+
10275
+  # set gopath for the user
10276
+  if ! grep -q "GOPATH=" /home/$MY_USERNAME/.bashrc; then
10277
+      echo 'export GOPATH=/home/git/go' >> /home/$MY_USERNAME/.bashrc
10278
+      echo 'export PATH="$GOPATH/bin:$PATH:";' >> /home/$MY_USERNAME/.bashrc
10279
+      echo 'export PATH="$PATH:/usr/local/opt/go/libexec/bin";' >> /home/$MY_USERNAME/.bashrc
10280
+      chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/.bashrc
10281
+  fi
10282
+  
10283
+  go get -u github.com/ipfs/go-ipfs/cmd/ipfs
10284
+  if [ ! "$?" = "0" ]; then
10285
+      exit 8242
10286
+  fi
10287
+
10288
+  # initialise
10289
+  su -c 'ipfs init -b 4096' - $MY_USERNAME
10290
+  if [ ! -d /home/$MY_USERNAME/.ipfs ]; then
10291
+      echo "IPFS could not be initialised for user $MY_USERNAME"
10292
+      exit 7358
10293
+  fi
10294
+
10295
+  IPFS_IDENTITY=$(ipfs refs local | tail -n 1 | tr '\n' ' ' | tr -d '[[:space:]]')
10296
+  if [ ${#IPFS_IDENTITY} -lt 10 ]; then
10297
+      echo 'IPFS identity shorter than expected'
10298
+      echo "$IPFS_IDENTITY"
10299
+      exit 82652
10300
+  fi
10301
+  if [[ $IPFS_IDENTITY == *" "* ]]; then
10302
+      echo 'IPFS identity contains spaces'
10303
+      exit 72585
10304
+  fi
10305
+
10306
+  # directories to mount to
10307
+  if [ ! -d /ipfs ]; then
10308
+      mkdir /ipfs
10309
+      mkdir /ipns
10310
+      chown $MY_USERNAME:$MY_USERNAME /ipfs
10311
+      chown $MY_USERNAME:$MY_USERNAME /ipns
10312
+  fi
10313
+
10314
+  if [-f /etc/fuse.conf ]; then
10315
+      chown $MY_USERNAME:$MY_USERNAME /etc/fuse.conf
10316
+  fi
10317
+  if [ -f /dev/fuse ]; then
10318
+      chown $MY_USERNAME:$MY_USERNAME /dev/fuse
10319
+  fi
10320
+  
10321
+  echo '[Unit]' > /etc/systemd/system/ipfs.service
10322
+  echo 'Description=IPFS daemon' >> /etc/systemd/system/ipfs.service
10323
+  echo 'After=syslog.target' >> /etc/systemd/system/ipfs.service
10324
+  echo 'After=network.target' >> /etc/systemd/system/ipfs.service
10325
+  echo '' >> /etc/systemd/system/ipfs.service
10326
+  echo '[Service]' >> /etc/systemd/system/ipfs.service
10327
+  echo 'Type=simple' >> /etc/systemd/system/ipfs.service
10328
+  echo 'User=git' >> /etc/systemd/system/ipfs.service
10329
+  echo 'Group=git' >> /etc/systemd/system/ipfs.service
10330
+  echo 'WorkingDirectory=/home/git/go/src/github.com/ipfs/go-ipfs' >> /etc/systemd/system/ipfs.service
10331
+  echo 'ExecStart=/home/git/go/bin/ipfs daemon --mount' >> /etc/systemd/system/ipfs.service
10332
+  echo 'Restart=on-failure' >> /etc/systemd/system/ipfs.service
10333
+  echo 'Environment="USER=git" "HOME=/home/git" "GOPATH=/home/git/go"' >> /etc/systemd/system/ipfs.service
10334
+  echo '' >> /etc/systemd/system/ipfs.service
10335
+  echo '[Install]' >> /etc/systemd/system/ipfs.service
10336
+  echo 'WantedBy=multi-user.target' >> /etc/systemd/system/ipfs.service
10337
+  
10338
+  systemctl enable ipfs
10339
+  systemctl daemon-reload
10340
+  systemctl restart ipfs
10341
+
10342
+  if ! grep -q "IPFS Identity" /home/$MY_USERNAME/README; then
10343
+      echo '' >> /home/$MY_USERNAME/README
10344
+      echo '' >> /home/$MY_USERNAME/README
10345
+      echo 'IPFS' >> /home/$MY_USERNAME/README
10346
+      echo '====' >> /home/$MY_USERNAME/README
10347
+      echo "IPFS Identity: $IPFS_IDENTITY" >> /home/$MY_USERNAME/README
10348
+      echo '' >> /home/$MY_USERNAME/README
10349
+      chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
10350
+      chmod 600 /home/$MY_USERNAME/README
10351
+  fi
10352
+
10353
+  echo 'install_ipfs' >> $COMPLETION_FILE
10354
+}
10355
+
10181 10356
 function install_voip {
10182 10357
   if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" ]]; then
10183 10358
       return
@@ -10376,6 +10551,7 @@ install_hubzilla
10376 10551
 install_dlna_server
10377 10552
 configure_firewall_for_dlna
10378 10553
 install_mediagoblin
10554
+#install_ipfs
10379 10555
 repair_databases_script
10380 10556
 create_backup_script
10381 10557
 create_restore_script