|  | 
 |  | 
 | 
												
													
														| 62 |                     MY_EMAIL_ADDRESS
 | 62 |                     MY_EMAIL_ADDRESS
 | 
												
													
														| 63 |                     MY_USERNAME)
 | 63 |                     MY_USERNAME)
 | 
												
													
														| 64 |  
 | 64 |  
 | 
												
													
														| 65 | -function pleroma_block_domain_script {
 |  | 
 | 
												
													
														| 66 | -    database_name='pleroma'
 |  | 
 | 
												
													
														| 67 | -    pleroma_domain=$PLEROMA_DOMAIN_NAME
 |  | 
 | 
												
													
														| 68 | -
 |  | 
 | 
												
													
														| 69 | -    echo '#!/bin/bash' > /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 70 | -    echo '' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 71 | -    echo 'database_name=$1' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 72 | -    echo 'remove_domain=$2' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 73 | -    echo 'domain_name=$3' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 74 | -    echo "POSTGRESQL_PASSWORD=\$(${PROJECT_NAME}-pass -u root -a pleroma)" >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 75 | -    echo '' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 76 | -    echo 'if [ ${#remove_domain} -lt 2 ]; then' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 77 | -    echo '    echo $"No domain was specified"' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 78 | -    echo '    exit 1' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 79 | -    echo 'fi' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 80 | -    echo '' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 81 | -    echo 'if [[ "$remove_domain" != *"."* ]]; then' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 82 | -    echo '    echo $"This doesnt look like a domain"' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 83 | -    echo '    exit 2' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 84 | -    echo 'fi' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 85 | -    echo '' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 86 | -    echo 'if [ ${#database_name} -lt 2 ]; then' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 87 | -    echo '    echo $"No database was specified"' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 88 | -    echo '    exit 3' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 89 | -    echo 'fi' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 90 | -    echo '' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 91 | -    echo "database_query=\"select user_id from profile where profileurl like '%\${remove_domain}%';\"" >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 92 | -    echo 'declare -a ids=$(mysql -u root --password="$POSTGRESQL_PASSWORD" << EOF' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 93 | -    echo 'use $database_name;' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 94 | -    echo '$database_query' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 95 | -    echo 'EOF' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 96 | -    echo ')' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 97 | -    echo '' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 98 | -    echo 'ctr=0' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 99 | -    echo 'for id in $ids' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 100 | -    echo 'do' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 101 | -    echo '    if [ $ctr -gt 0 ]; then' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 102 | -    echo '        #echo "Removing user ID $id on $remove_domain"' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 103 | -    echo '' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 104 | -    echo "        database_query=\"delete from conversation where uri like '%\${remove_domain}%';\"" >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 105 | -    echo '        mysql -u root --password="$POSTGRESQL_PASSWORD" -e "$database_query" $database_name' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 106 | -    echo '' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 107 | -    echo '        database_query="delete from reply where profile_id=${id};"' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 108 | -    echo '        mysql -u root --password="$POSTGRESQL_PASSWORD" -e "$database_query" $database_name' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 109 | -    echo '' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 110 | -    echo '        database_query="delete from reply where replied_id=${id};"' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 111 | -    echo '        mysql -u root --password="$POSTGRESQL_PASSWORD" -e "$database_query" $database_name' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 112 | -    echo '' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 113 | -    echo '        if [ $domain_name ]; then' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 114 | -    echo '          database_query="select rendered from notice where profile_id=${id} and rendered like '"'"'%/file/%'"'"';"' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 115 | -    echo '          declare -a stored_files=$(mysql -u root --password="$POSTGRESQL_PASSWORD" << EOF' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 116 | -    echo 'use $database_name;' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 117 | -    echo '$database_query' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 118 | -    echo 'EOF' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 119 | -    echo ')' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 120 | -    echo -n "           files_to_delete=\$(echo \"\$stored_files\" | " >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 121 | -    echo 'sed -n '"'"'s/.*href="\([^"]*\).*/\1/p'"'"' | awk -F '"'"'file/'"'"' '"'"'{print $2}'"'"')' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 122 | -    echo '            filectr=0' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 123 | -    echo '            for f in $files_to_delete' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 124 | -    echo '            do' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 125 | -    echo '                if [ $filectr -gt 0 ]; then' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 126 | -    echo '                    if $(ls /var/www/${domain_name}/htdocs/file/*${f}* 1> /dev/null 2>&1); then' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 127 | -    echo '                        rm /var/www/${domain_name}/htdocs/file/*${f}*' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 128 | -    echo '                    fi' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 129 | -    echo '                fi' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 130 | -    echo '                filectr=$((filectr + 1))' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 131 | -    echo '            done' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 132 | -    echo '        fi' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 133 | -    echo '' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 134 | -    echo '        database_query="delete from notice where profile_id=${id};"' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 135 | -    echo '        mysql -u root --password="$POSTGRESQL_PASSWORD" -e "$database_query" $database_name' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 136 | -    echo '' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 137 | -    echo '        database_query="delete from profile where id=${id};"' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 138 | -    echo '        mysql -u root --password="$POSTGRESQL_PASSWORD" -e "$database_query" $database_name' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 139 | -    echo '' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 140 | -    echo '        database_query="delete from qvitternotification where to_profile_id=${id} or from_profile_id=${id};"' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 141 | -    echo '        mysql -u root --password="$POSTGRESQL_PASSWORD" -e "$database_query" $database_name' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 142 | -    echo '    fi' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 143 | -    echo '    ctr=$((ctr + 1))' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 144 | -    echo 'done' >> /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 145 | -    chmod +x /usr/bin/pleroma-delete-domain
 |  | 
 | 
												
													
														| 146 | -
 |  | 
 | 
												
													
														| 147 | -    echo '#!/bin/bash' > /usr/bin/${database_name}-firewall
 |  | 
 | 
												
													
														| 148 | -    echo '' >> /usr/bin/${database_name}-firewall
 |  | 
 | 
												
													
														| 149 | -    echo "PROJECT_NAME=$PROJECT_NAME" >> /usr/bin/${database_name}-firewall
 |  | 
 | 
												
													
														| 150 | -
 |  | 
 | 
												
													
														| 151 | -    if [[ $ONION_ONLY == 'no' ]]; then
 |  | 
 | 
												
													
														| 152 | -        echo "PLEROMA_DOMAIN_NAME=$PLEROMA_DOMAIN_NAME" >> /usr/bin/${database_name}-firewall
 |  | 
 | 
												
													
														| 153 | -    else
 |  | 
 | 
												
													
														| 154 | -        echo "PLEROMA_DOMAIN_NAME=$PLEROMA_ONION_HOSTNAME" >> /usr/bin/${database_name}-firewall
 |  | 
 | 
												
													
														| 155 | -    fi
 |  | 
 | 
												
													
														| 156 | -
 |  | 
 | 
												
													
														| 157 | -    echo "database_name=$database_name" >> /usr/bin/${database_name}-firewall
 |  | 
 | 
												
													
														| 158 | -    echo 'FIREWALL_DOMAINS=$HOME/${PROJECT_NAME}-firewall-domains.cfg' >> /usr/bin/${database_name}-firewall
 |  | 
 | 
												
													
														| 159 | -    echo '' >> /usr/bin/${database_name}-firewall
 |  | 
 | 
												
													
														| 160 | -    echo 'while read block; do' >> /usr/bin/${database_name}-firewall
 |  | 
 | 
												
													
														| 161 | -    echo '    if [[ "$block" != *"@"* ]]; then' >> /usr/bin/${database_name}-firewall
 |  | 
 | 
												
													
														| 162 | -    echo '        /usr/bin/pleroma-delete-domain "$database_name" "$block" "$PLEROMA_DOMAIN_NAME"' >> /usr/bin/${database_name}-firewall
 |  | 
 | 
												
													
														| 163 | -    echo '    else' >> /usr/bin/${database_name}-firewall
 |  | 
 | 
												
													
														| 164 | -    echo '        /usr/bin/pleroma-delete-user "$database_name" "$block" "$PLEROMA_DOMAIN_NAME"' >> /usr/bin/${database_name}-firewall
 |  | 
 | 
												
													
														| 165 | -    echo '    fi' >> /usr/bin/${database_name}-firewall
 |  | 
 | 
												
													
														| 166 | -    echo 'done <$FIREWALL_DOMAINS' >> /usr/bin/${database_name}-firewall
 |  | 
 | 
												
													
														| 167 | -    echo '' >> /usr/bin/${database_name}-firewall
 |  | 
 | 
												
													
														| 168 | -    echo '# remove any metadata from images uploaded in the last 2 minutes' >> /usr/bin/${database_name}-firewall
 |  | 
 | 
												
													
														| 169 | -    echo 'if [ -d /var/www/$PLEROMA_DOMAIN_NAME/htdocs ]; then' >> /usr/bin/${database_name}-firewall
 |  | 
 | 
												
													
														| 170 | -    echo '    cd /var/www/$PLEROMA_DOMAIN_NAME/htdocs' >> /usr/bin/${database_name}-firewall
 |  | 
 | 
												
													
														| 171 | -    echo '    declare -a recent_image=$(find file ! -name thumb-* -mmin -2 -type f -exec ls -l {} + | awk -F '"'"'file/'"'"' '"'"'{print $2}'"'"')' >> /usr/bin/${database_name}-firewall
 |  | 
 | 
												
													
														| 172 | -    echo '    for f in ${recent_image[@]}' >> /usr/bin/${database_name}-firewall
 |  | 
 | 
												
													
														| 173 | -    echo '    do' >> /usr/bin/${database_name}-firewall
 |  | 
 | 
												
													
														| 174 | -    echo '        if [ ${#f} -gt 1 ]; then' >> /usr/bin/${database_name}-firewall
 |  | 
 | 
												
													
														| 175 | -    echo '            exiftool -q -all= "file/${f}"' >> /usr/bin/${database_name}-firewall
 |  | 
 | 
												
													
														| 176 | -    echo '        fi' >> /usr/bin/${database_name}-firewall
 |  | 
 | 
												
													
														| 177 | -    echo '    done' >> /usr/bin/${database_name}-firewall
 |  | 
 | 
												
													
														| 178 | -    echo 'fi' >> /usr/bin/${database_name}-firewall
 |  | 
 | 
												
													
														| 179 | -    chmod +x /usr/bin/${database_name}-firewall
 |  | 
 | 
												
													
														| 180 | -
 |  | 
 | 
												
													
														| 181 | -    if ! grep -q "${database_name}-firewall" /etc/crontab; then
 |  | 
 | 
												
													
														| 182 | -        echo "*/1            * *   *   *   root /usr/bin/${database_name}-firewall" >> /etc/crontab
 |  | 
 | 
												
													
														| 183 | -    fi
 |  | 
 | 
												
													
														| 184 | -}
 |  | 
 | 
												
													
														| 185 | -
 |  | 
 | 
												
													
														| 186 |  function pleroma_recompile {
 | 65 |  function pleroma_recompile {
 | 
												
													
														| 187 |      # necessary after parameter changes
 | 66 |      # necessary after parameter changes
 | 
												
													
														| 188 |      sudo -u pleroma mix clean
 | 67 |      sudo -u pleroma mix clean
 |