|  | @@ -62,127 +62,6 @@ pleroma_variables=(ONION_ONLY
 | 
	
		
			
			| 62 | 62 |                     MY_EMAIL_ADDRESS
 | 
	
		
			
			| 63 | 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 | 65 |  function pleroma_recompile {
 | 
	
		
			
			| 187 | 66 |      # necessary after parameter changes
 | 
	
		
			
			| 188 | 67 |      sudo -u pleroma mix clean
 |