| 
				
			 | 
			
			
				@@ -47,7 +47,7 @@ PLEROMA_CODE= 
			 | 
		
	
		
			
			| 
				47
			 | 
			
				47
			 | 
			
			
				 PLEROMA_PORT=4000 
			 | 
		
	
		
			
			| 
				48
			 | 
			
				48
			 | 
			
			
				 PLEROMA_ONION_PORT=8011 
			 | 
		
	
		
			
			| 
				49
			 | 
			
				49
			 | 
			
			
				 PLEROMA_REPO="https://git.pleroma.social/pleroma/pleroma.git" 
			 | 
		
	
		
			
			| 
				50
			 | 
			
				
			 | 
			
			
				-PLEROMA_COMMIT='c1fa1e8844c8eae1ad7638a2d7f9d00e8cd07ce8' 
			 | 
		
	
		
			
			| 
				
			 | 
			
				50
			 | 
			
			
				+PLEROMA_COMMIT='2f291576e4eef95e6867348e24bc526058518095' 
			 | 
		
	
		
			
			| 
				51
			 | 
			
				51
			 | 
			
			
				 PLEROMA_ADMIN_PASSWORD= 
			 | 
		
	
		
			
			| 
				52
			 | 
			
				52
			 | 
			
			
				 PLEROMA_DIR=/etc/pleroma 
			 | 
		
	
		
			
			| 
				53
			 | 
			
				53
			 | 
			
			
				 PLEROMA_SECRET_KEY="" 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -85,19 +85,42 @@ function create_pleroma_blocklist { 
			 | 
		
	
		
			
			| 
				85
			 | 
			
				85
			 | 
			
			
				     echo '    fi' >> $blocking_script_file 
			 | 
		
	
		
			
			| 
				86
			 | 
			
				86
			 | 
			
			
				     echo 'fi' >> $blocking_script_file 
			 | 
		
	
		
			
			| 
				87
			 | 
			
				87
			 | 
			
			
				     echo 'touch /tmp/pleroma-blocking.lock' >> $blocking_script_file 
			 | 
		
	
		
			
			| 
				88
			 | 
			
				
			 | 
			
			
				-    echo 'cd /etc/postgresql' >> $blocking_script_file 
			 | 
		
	
		
			
			| 
				
			 | 
			
				88
			 | 
			
			
				+    echo 'objects_query="DELETE FROM objects WHERE"' >> $blocking_script_file 
			 | 
		
	
		
			
			| 
				
			 | 
			
				89
			 | 
			
			
				+    echo 'objects_updated=' >> $blocking_script_file 
			 | 
		
	
		
			
			| 
				
			 | 
			
				90
			 | 
			
			
				+    echo 'users_query="DELETE FROM users WHERE"' >> $blocking_script_file 
			 | 
		
	
		
			
			| 
				
			 | 
			
				91
			 | 
			
			
				+    echo 'websub_server_subscriptions_query="DELETE FROM websub_server_subscriptions WHERE"' >> $blocking_script_file 
			 | 
		
	
		
			
			| 
				
			 | 
			
				92
			 | 
			
			
				+    echo 'websub_server_subscriptions_updated=' >> $blocking_script_file 
			 | 
		
	
		
			
			| 
				89
			 | 
			
				93
			 | 
			
			
				     echo 'while read blocked; do' >> $blocking_script_file 
			 | 
		
	
		
			
			| 
				90
			 | 
			
				94
			 | 
			
			
				     echo '    if [[ "$blocked" == *"."* || "$blocked" == *"@"* ]]; then' >> $blocking_script_file 
			 | 
		
	
		
			
			| 
				91
			 | 
			
				95
			 | 
			
			
				     echo '        if [ ${#blocked} -gt 4 ]; then' >> $blocking_script_file 
			 | 
		
	
		
			
			| 
				92
			 | 
			
				
			 | 
			
			
				-    echo "            sudo -u postgres psql -d pleroma -c \"DELETE FROM objects WHERE data->>'content' ilike '%\${blocked}%' or data->>'actor' ilike '%\${blocked}%' or data->>'to' ilike '%\${blocked}%' or data->>'id' ilike '%\${blocked}%' or data->>'external_url' ilike '%\${blocked}%'\"" >> $blocking_script_file 
			 | 
		
	
		
			
			| 
				93
			 | 
			
				
			 | 
			
			
				-    echo "            sudo -u postgres psql -d pleroma -c \"DELETE FROM users WHERE nickname ilike '%\${blocked}%'\"" >> $blocking_script_file 
			 | 
		
	
		
			
			| 
				
			 | 
			
				96
			 | 
			
			
				+    echo '          if [ $objects_updated ]; then' >> $blocking_script_file 
			 | 
		
	
		
			
			| 
				
			 | 
			
				97
			 | 
			
			
				+    echo '              objects_query="${objects_query} or"' >> $blocking_script_file 
			 | 
		
	
		
			
			| 
				
			 | 
			
				98
			 | 
			
			
				+    echo '              users_query="${users_query} or"' >> $blocking_script_file 
			 | 
		
	
		
			
			| 
				
			 | 
			
				99
			 | 
			
			
				+    echo '          fi' >> $blocking_script_file 
			 | 
		
	
		
			
			| 
				
			 | 
			
				100
			 | 
			
			
				+    echo "          objects_query=\"\${objects_query} data->>'content' ilike '%\${blocked}%' or data->>'actor' ilike '%\${blocked}%' or data->>'to' ilike '%\${blocked}%' or data->>'id' ilike '%\${blocked}%' or data->>'external_url' ilike '%\${blocked}%'\"" >> $blocking_script_file 
			 | 
		
	
		
			
			| 
				
			 | 
			
				101
			 | 
			
			
				+    echo "          users_query=\"\${users_query} nickname ilike '%\${blocked}%'\"" >> $blocking_script_file 
			 | 
		
	
		
			
			| 
				
			 | 
			
				102
			 | 
			
			
				+    echo '          objects_updated=1' >> $blocking_script_file 
			 | 
		
	
		
			
			| 
				94
			 | 
			
				103
			 | 
			
			
				     echo '            if [[ "$blocked" != *"@"* ]]; then' >> $blocking_script_file 
			 | 
		
	
		
			
			| 
				95
			 | 
			
				
			 | 
			
			
				-    echo "                sudo -u postgres psql -d pleroma -c \"DELETE FROM websub_server_subscriptions WHERE callback like '%\${blocked}%'\"" >> $blocking_script_file 
			 | 
		
	
		
			
			| 
				
			 | 
			
				104
			 | 
			
			
				+    echo '              if [ $websub_server_subscriptions_updated ]; then' >> $blocking_script_file 
			 | 
		
	
		
			
			| 
				
			 | 
			
				105
			 | 
			
			
				+    echo '                  websub_server_subscriptions_query="${websub_server_subscriptions_query} or"' >> $blocking_script_file 
			 | 
		
	
		
			
			| 
				
			 | 
			
				106
			 | 
			
			
				+    echo '              fi' >> $blocking_script_file 
			 | 
		
	
		
			
			| 
				
			 | 
			
				107
			 | 
			
			
				+    echo "              websub_server_subscriptions_query=\"\${websub_server_subscriptions_query} callback like '%\${blocked}%'\"" >> $blocking_script_file 
			 | 
		
	
		
			
			| 
				
			 | 
			
				108
			 | 
			
			
				+    echo '              websub_server_subscriptions_updated=1' >> $blocking_script_file 
			 | 
		
	
		
			
			| 
				96
			 | 
			
				109
			 | 
			
			
				     echo '            fi' >> $blocking_script_file 
			 | 
		
	
		
			
			| 
				97
			 | 
			
				110
			 | 
			
			
				     echo '        fi' >> $blocking_script_file 
			 | 
		
	
		
			
			| 
				98
			 | 
			
				111
			 | 
			
			
				     echo '    fi' >> $blocking_script_file 
			 | 
		
	
		
			
			| 
				99
			 | 
			
				
			 | 
			
			
				-    echo "done </root/${PROJECT_NAME}-firewall-domains.cfg" >> $blocking_script_file 
			 | 
		
	
		
			
			| 
				
			 | 
			
				112
			 | 
			
			
				+    echo 'done </root/freedombone-firewall-domains.cfg' >> $blocking_script_file 
			 | 
		
	
		
			
			| 
				
			 | 
			
				113
			 | 
			
			
				+    echo '' >> $blocking_script_file 
			 | 
		
	
		
			
			| 
				
			 | 
			
				114
			 | 
			
			
				+    echo 'cd /etc/postgresql' >> $blocking_script_file 
			 | 
		
	
		
			
			| 
				
			 | 
			
				115
			 | 
			
			
				+    echo 'if [ $objects_updated ]; then' >> $blocking_script_file 
			 | 
		
	
		
			
			| 
				
			 | 
			
				116
			 | 
			
			
				+    echo '    sudo -u postgres psql -d pleroma -c "$objects_query"' >> $blocking_script_file 
			 | 
		
	
		
			
			| 
				
			 | 
			
				117
			 | 
			
			
				+    echo '    sudo -u postgres psql -d pleroma -c "$users_query"' >> $blocking_script_file 
			 | 
		
	
		
			
			| 
				
			 | 
			
				118
			 | 
			
			
				+    echo 'fi' >> $blocking_script_file 
			 | 
		
	
		
			
			| 
				
			 | 
			
				119
			 | 
			
			
				+    echo 'if [ $websub_server_subscriptions_updated ]; then' >> $blocking_script_file 
			 | 
		
	
		
			
			| 
				
			 | 
			
				120
			 | 
			
			
				+    echo '    sudo -u postgres psql -d pleroma -c "$websub_server_subscriptions_query"' >> $blocking_script_file 
			 | 
		
	
		
			
			| 
				
			 | 
			
				121
			 | 
			
			
				+    echo 'fi' >> $blocking_script_file 
			 | 
		
	
		
			
			| 
				100
			 | 
			
				122
			 | 
			
			
				     echo 'rm /tmp/pleroma-blocking.lock' >> $blocking_script_file 
			 | 
		
	
		
			
			| 
				
			 | 
			
				123
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				101
			 | 
			
				124
			 | 
			
			
				     chmod +x $blocking_script_file 
			 | 
		
	
		
			
			| 
				102
			 | 
			
				125
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				103
			 | 
			
				126
			 | 
			
			
				     if ! grep -q "$blocking_script_file" /etc/crontab; then 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -441,6 +464,7 @@ function pleroma_set_background_image { 
			 | 
		
	
		
			
			| 
				441
			 | 
			
				464
			 | 
			
			
				                 write_config_param "PLEROMA_BACKGROUND_IMAGE_URL" "$PLEROMA_BACKGROUND_IMAGE_URL" 
			 | 
		
	
		
			
			| 
				442
			 | 
			
				465
			 | 
			
			
				                 if [[ $(pleroma_set_background_image_from_url $PLEROMA_DIR "$PLEROMA_DOMAIN_NAME" "$PLEROMA_BACKGROUND_IMAGE_URL" "$PLEROMA_TITLE" | tail -n 1) == "0" ]]; then 
			 | 
		
	
		
			
			| 
				443
			 | 
			
				466
			 | 
			
			
				                     pleroma_recompile 
			 | 
		
	
		
			
			| 
				
			 | 
			
				467
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				444
			 | 
			
				468
			 | 
			
			
				                     dialog --title $"Set Pleroma login background" \ 
			 | 
		
	
		
			
			| 
				445
			 | 
			
				469
			 | 
			
			
				                            --msgbox $"The background image has been set" 6 60 
			 | 
		
	
		
			
			| 
				446
			 | 
			
				470
			 | 
			
			
				                 fi 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -521,11 +545,11 @@ function pleroma_disable_registrations { 
			 | 
		
	
		
			
			| 
				521
			 | 
			
				545
			 | 
			
			
				            --yesno $"\nDo you wish to disable new registrations?" 10 60 
			 | 
		
	
		
			
			| 
				522
			 | 
			
				546
			 | 
			
			
				     sel=$? 
			 | 
		
	
		
			
			| 
				523
			 | 
			
				547
			 | 
			
			
				     case $sel in 
			 | 
		
	
		
			
			| 
				524
			 | 
			
				
			 | 
			
			
				-        0) sed -i 's|registrations_open:.*|registrations_open: false|g' $PLEROMA_DIR/config/config.exs 
			 | 
		
	
		
			
			| 
				525
			 | 
			
				
			 | 
			
			
				-           sed -i 's|"registrationOpen":.*|"registrationOpen": false|g' $PLEROMA_DIR/priv/static/static/config.json 
			 | 
		
	
		
			
			| 
				
			 | 
			
				548
			 | 
			
			
				+        0) sed -i 's|registrations_open:.*|registrations_open: false,|g' $PLEROMA_DIR/config/config.exs 
			 | 
		
	
		
			
			| 
				
			 | 
			
				549
			 | 
			
			
				+           sed -i 's|"registrationOpen":.*|"registrationOpen": false,|g' $PLEROMA_DIR/priv/static/static/config.json 
			 | 
		
	
		
			
			| 
				526
			 | 
			
				550
			 | 
			
			
				            ;; 
			 | 
		
	
		
			
			| 
				527
			 | 
			
				
			 | 
			
			
				-        1) sed -i 's|registrations_open:.*|registrations_open: true|g' $PLEROMA_DIR/config/config.exs 
			 | 
		
	
		
			
			| 
				528
			 | 
			
				
			 | 
			
			
				-           sed -i 's|"registrationOpen":.*|"registrationOpen": true|g' $PLEROMA_DIR/priv/static/static/config.json 
			 | 
		
	
		
			
			| 
				
			 | 
			
				551
			 | 
			
			
				+        1) sed -i 's|registrations_open:.*|registrations_open: true,|g' $PLEROMA_DIR/config/config.exs 
			 | 
		
	
		
			
			| 
				
			 | 
			
				552
			 | 
			
			
				+           sed -i 's|"registrationOpen":.*|"registrationOpen": true,|g' $PLEROMA_DIR/priv/static/static/config.json 
			 | 
		
	
		
			
			| 
				529
			 | 
			
				553
			 | 
			
			
				            ;; 
			 | 
		
	
		
			
			| 
				530
			 | 
			
				554
			 | 
			
			
				         255) return;; 
			 | 
		
	
		
			
			| 
				531
			 | 
			
				555
			 | 
			
			
				     esac 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -677,15 +701,38 @@ function upgrade_pleroma { 
			 | 
		
	
		
			
			| 
				677
			 | 
			
				701
			 | 
			
			
				         return 
			 | 
		
	
		
			
			| 
				678
			 | 
			
				702
			 | 
			
			
				     fi 
			 | 
		
	
		
			
			| 
				679
			 | 
			
				703
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				
			 | 
			
				704
			 | 
			
			
				+    # make a copy of the configuration 
			 | 
		
	
		
			
			| 
				
			 | 
			
				705
			 | 
			
			
				+    cp $PLEROMA_DIR/priv/static/static/config.json $PLEROMA_DIR/priv/static/static/config_prev.json 
			 | 
		
	
		
			
			| 
				
			 | 
			
				706
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				707
			 | 
			
			
				+    if [ -f $PLEROMA_DIR/config/emoji.txt ]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				708
			 | 
			
			
				+        cp $PLEROMA_DIR/config/emoji.txt $PLEROMA_DIR/config/emoji_prev.txt 
			 | 
		
	
		
			
			| 
				
			 | 
			
				709
			 | 
			
			
				+    fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				710
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				711
			 | 
			
			
				+    apt-get -yq update 
			 | 
		
	
		
			
			| 
				
			 | 
			
				712
			 | 
			
			
				+    apt-get -yq install --only-upgrade esl-erlang 
			 | 
		
	
		
			
			| 
				
			 | 
			
				713
			 | 
			
			
				+    apt-get -yq install --only-upgrade elixir erlang-xmerl erlang-dev erlang-parsetools 
			 | 
		
	
		
			
			| 
				
			 | 
			
				714
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				680
			 | 
			
				715
			 | 
			
			
				     function_check set_repo_commit 
			 | 
		
	
		
			
			| 
				681
			 | 
			
				716
			 | 
			
			
				     set_repo_commit $PLEROMA_DIR "pleroma commit" "$PLEROMA_COMMIT" $PLEROMA_REPO 
			 | 
		
	
		
			
			| 
				682
			 | 
			
				717
			 | 
			
			
				     chown -R pleroma:pleroma $PLEROMA_DIR 
			 | 
		
	
		
			
			| 
				683
			 | 
			
				718
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				
			 | 
			
				719
			 | 
			
			
				+    # restore the configuration 
			 | 
		
	
		
			
			| 
				
			 | 
			
				720
			 | 
			
			
				+    cp $PLEROMA_DIR/priv/static/static/config_prev.json $PLEROMA_DIR/priv/static/static/config.json 
			 | 
		
	
		
			
			| 
				
			 | 
			
				721
			 | 
			
			
				+    chown pleroma:pleroma $PLEROMA_DIR/priv/static/static/config.json 
			 | 
		
	
		
			
			| 
				
			 | 
			
				722
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				723
			 | 
			
			
				+    if [ -f $PLEROMA_DIR/config/emoji_prev.txt ]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				724
			 | 
			
			
				+        cp $PLEROMA_DIR/config/emoji_prev.txt $PLEROMA_DIR/config/emoji.txt 
			 | 
		
	
		
			
			| 
				
			 | 
			
				725
			 | 
			
			
				+        chown pleroma:pleroma $PLEROMA_DIR/config/emoji.txt 
			 | 
		
	
		
			
			| 
				
			 | 
			
				726
			 | 
			
			
				+        rm cp $PLEROMA_DIR/config/emoji_prev.txt 
			 | 
		
	
		
			
			| 
				
			 | 
			
				727
			 | 
			
			
				+    fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				728
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				684
			 | 
			
				729
			 | 
			
			
				     sudo -u pleroma mix deps.get 
			 | 
		
	
		
			
			| 
				685
			 | 
			
				730
			 | 
			
			
				     pleroma_recompile 
			 | 
		
	
		
			
			| 
				686
			 | 
			
				731
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				687
			 | 
			
				732
			 | 
			
			
				     expire_pleroma_posts $PLEROMA_DOMAIN_NAME $PLEROMA_EXPIRE_MONTHS 
			 | 
		
	
		
			
			| 
				688
			 | 
			
				733
			 | 
			
			
				     create_pleroma_blocklist 
			 | 
		
	
		
			
			| 
				
			 | 
			
				734
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				735
			 | 
			
			
				+    systemctl restart pleroma 
			 | 
		
	
		
			
			| 
				689
			 | 
			
				736
			 | 
			
			
				 } 
			 | 
		
	
		
			
			| 
				690
			 | 
			
				737
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				691
			 | 
			
				738
			 | 
			
			
				 function backup_local_pleroma { 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -735,6 +782,7 @@ function restore_local_pleroma { 
			 | 
		
	
		
			
			| 
				735
			 | 
			
				782
			 | 
			
			
				             chown -R pleroma:pleroma $pleroma_dir 
			 | 
		
	
		
			
			| 
				736
			 | 
			
				783
			 | 
			
			
				             rm -rf $temp_restore_dir 
			 | 
		
	
		
			
			| 
				737
			 | 
			
				784
			 | 
			
			
				         fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				785
			 | 
			
			
				+        systemctl restart pleroma 
			 | 
		
	
		
			
			| 
				738
			 | 
			
				786
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				739
			 | 
			
				787
			 | 
			
			
				         echo $"Restore of pleroma complete" 
			 | 
		
	
		
			
			| 
				740
			 | 
			
				788
			 | 
			
			
				     fi 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -789,7 +837,7 @@ function restore_remote_pleroma { 
			 | 
		
	
		
			
			| 
				789
			 | 
			
				837
			 | 
			
			
				             rm -rf $temp_restore_dir 
			 | 
		
	
		
			
			| 
				790
			 | 
			
				838
			 | 
			
			
				         fi 
			 | 
		
	
		
			
			| 
				791
			 | 
			
				839
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				792
			 | 
			
				
			 | 
			
			
				-        pleroma_update_after_restore pleroma ${PLEROMA_DOMAIN_NAME} 
			 | 
		
	
		
			
			| 
				
			 | 
			
				840
			 | 
			
			
				+        systemctl restart pleroma 
			 | 
		
	
		
			
			| 
				793
			 | 
			
				841
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				794
			 | 
			
				842
			 | 
			
			
				         echo $"Restore of pleroma complete" 
			 | 
		
	
		
			
			| 
				795
			 | 
			
				843
			 | 
			
			
				     fi 
			 |