|
|
|
|
47
|
PLEROMA_PORT=4000
|
47
|
PLEROMA_PORT=4000
|
48
|
PLEROMA_ONION_PORT=8011
|
48
|
PLEROMA_ONION_PORT=8011
|
49
|
PLEROMA_REPO="https://git.pleroma.social/pleroma/pleroma.git"
|
49
|
PLEROMA_REPO="https://git.pleroma.social/pleroma/pleroma.git"
|
50
|
-PLEROMA_COMMIT='c1fa1e8844c8eae1ad7638a2d7f9d00e8cd07ce8'
|
|
|
|
|
50
|
+PLEROMA_COMMIT='2f291576e4eef95e6867348e24bc526058518095'
|
51
|
PLEROMA_ADMIN_PASSWORD=
|
51
|
PLEROMA_ADMIN_PASSWORD=
|
52
|
PLEROMA_DIR=/etc/pleroma
|
52
|
PLEROMA_DIR=/etc/pleroma
|
53
|
PLEROMA_SECRET_KEY=""
|
53
|
PLEROMA_SECRET_KEY=""
|
|
|
|
|
85
|
echo ' fi' >> $blocking_script_file
|
85
|
echo ' fi' >> $blocking_script_file
|
86
|
echo 'fi' >> $blocking_script_file
|
86
|
echo 'fi' >> $blocking_script_file
|
87
|
echo 'touch /tmp/pleroma-blocking.lock' >> $blocking_script_file
|
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
|
echo 'while read blocked; do' >> $blocking_script_file
|
93
|
echo 'while read blocked; do' >> $blocking_script_file
|
90
|
echo ' if [[ "$blocked" == *"."* || "$blocked" == *"@"* ]]; then' >> $blocking_script_file
|
94
|
echo ' if [[ "$blocked" == *"."* || "$blocked" == *"@"* ]]; then' >> $blocking_script_file
|
91
|
echo ' if [ ${#blocked} -gt 4 ]; then' >> $blocking_script_file
|
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
|
echo ' if [[ "$blocked" != *"@"* ]]; then' >> $blocking_script_file
|
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
|
echo ' fi' >> $blocking_script_file
|
109
|
echo ' fi' >> $blocking_script_file
|
97
|
echo ' fi' >> $blocking_script_file
|
110
|
echo ' fi' >> $blocking_script_file
|
98
|
echo ' fi' >> $blocking_script_file
|
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
|
echo 'rm /tmp/pleroma-blocking.lock' >> $blocking_script_file
|
122
|
echo 'rm /tmp/pleroma-blocking.lock' >> $blocking_script_file
|
|
|
123
|
+
|
101
|
chmod +x $blocking_script_file
|
124
|
chmod +x $blocking_script_file
|
102
|
|
125
|
|
103
|
if ! grep -q "$blocking_script_file" /etc/crontab; then
|
126
|
if ! grep -q "$blocking_script_file" /etc/crontab; then
|
|
|
|
|
441
|
write_config_param "PLEROMA_BACKGROUND_IMAGE_URL" "$PLEROMA_BACKGROUND_IMAGE_URL"
|
464
|
write_config_param "PLEROMA_BACKGROUND_IMAGE_URL" "$PLEROMA_BACKGROUND_IMAGE_URL"
|
442
|
if [[ $(pleroma_set_background_image_from_url $PLEROMA_DIR "$PLEROMA_DOMAIN_NAME" "$PLEROMA_BACKGROUND_IMAGE_URL" "$PLEROMA_TITLE" | tail -n 1) == "0" ]]; then
|
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
|
pleroma_recompile
|
466
|
pleroma_recompile
|
|
|
467
|
+
|
444
|
dialog --title $"Set Pleroma login background" \
|
468
|
dialog --title $"Set Pleroma login background" \
|
445
|
--msgbox $"The background image has been set" 6 60
|
469
|
--msgbox $"The background image has been set" 6 60
|
446
|
fi
|
470
|
fi
|
|
|
|
|
521
|
--yesno $"\nDo you wish to disable new registrations?" 10 60
|
545
|
--yesno $"\nDo you wish to disable new registrations?" 10 60
|
522
|
sel=$?
|
546
|
sel=$?
|
523
|
case $sel in
|
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
|
255) return;;
|
554
|
255) return;;
|
531
|
esac
|
555
|
esac
|
|
|
|
|
677
|
return
|
701
|
return
|
678
|
fi
|
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
|
function_check set_repo_commit
|
715
|
function_check set_repo_commit
|
681
|
set_repo_commit $PLEROMA_DIR "pleroma commit" "$PLEROMA_COMMIT" $PLEROMA_REPO
|
716
|
set_repo_commit $PLEROMA_DIR "pleroma commit" "$PLEROMA_COMMIT" $PLEROMA_REPO
|
682
|
chown -R pleroma:pleroma $PLEROMA_DIR
|
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
|
sudo -u pleroma mix deps.get
|
729
|
sudo -u pleroma mix deps.get
|
685
|
pleroma_recompile
|
730
|
pleroma_recompile
|
686
|
|
731
|
|
687
|
expire_pleroma_posts $PLEROMA_DOMAIN_NAME $PLEROMA_EXPIRE_MONTHS
|
732
|
expire_pleroma_posts $PLEROMA_DOMAIN_NAME $PLEROMA_EXPIRE_MONTHS
|
688
|
create_pleroma_blocklist
|
733
|
create_pleroma_blocklist
|
|
|
734
|
+
|
|
|
735
|
+ systemctl restart pleroma
|
689
|
}
|
736
|
}
|
690
|
|
737
|
|
691
|
function backup_local_pleroma {
|
738
|
function backup_local_pleroma {
|
|
|
|
|
735
|
chown -R pleroma:pleroma $pleroma_dir
|
782
|
chown -R pleroma:pleroma $pleroma_dir
|
736
|
rm -rf $temp_restore_dir
|
783
|
rm -rf $temp_restore_dir
|
737
|
fi
|
784
|
fi
|
|
|
785
|
+ systemctl restart pleroma
|
738
|
|
786
|
|
739
|
echo $"Restore of pleroma complete"
|
787
|
echo $"Restore of pleroma complete"
|
740
|
fi
|
788
|
fi
|
|
|
|
|
789
|
rm -rf $temp_restore_dir
|
837
|
rm -rf $temp_restore_dir
|
790
|
fi
|
838
|
fi
|
791
|
|
839
|
|
792
|
- pleroma_update_after_restore pleroma ${PLEROMA_DOMAIN_NAME}
|
|
|
|
|
840
|
+ systemctl restart pleroma
|
793
|
|
841
|
|
794
|
echo $"Restore of pleroma complete"
|
842
|
echo $"Restore of pleroma complete"
|
795
|
fi
|
843
|
fi
|