瀏覽代碼

Remove exif metadata from images uploaded to gnusocial/postactiv

Bob Mottram 8 年之前
父節點
當前提交
fad79baefc
共有 3 個檔案被更改,包括 18 行新增6 行删除
  1. 3
    3
      src/freedombone-app-gnusocial
  2. 3
    3
      src/freedombone-app-postactiv
  3. 12
    0
      src/freedombone-utils-gnusocialtools

+ 3
- 3
src/freedombone-app-gnusocial 查看文件

@@ -359,7 +359,7 @@ function upgrade_gnusocial {
359 359
     fi
360 360
 
361 361
     gnusocial_block_user_script
362
-    gnusocial_block_domain_script gnusocial
362
+    gnusocial_block_domain_script gnusocial $GNUSOCIAL_DOMAIN_NAME
363 363
 
364 364
     gnusocial_hourly_script gnusocial $GNUSOCIAL_DOMAIN_NAME
365 365
     upgrade_pleroma "$GNUSOCIAL_DOMAIN_NAME" "gnusocial" "$GNUSOCIAL_BACKGROUND_IMAGE_URL" "$GNUSOCIAL_TITLE"
@@ -536,7 +536,7 @@ function install_gnusocial_main {
536 536
     repair_databases_script
537 537
 
538 538
     apt-get -yq install php-gettext php5-curl php5-gd php5-mysql git curl php-xml-parser
539
-    apt-get -yq install php5-memcached php5-intl
539
+    apt-get -yq install php5-memcached php5-intl exiftool
540 540
 
541 541
     if [ ! -d /var/www/$GNUSOCIAL_DOMAIN_NAME ]; then
542 542
         mkdir /var/www/$GNUSOCIAL_DOMAIN_NAME
@@ -769,7 +769,7 @@ function install_gnusocial_main {
769 769
 
770 770
     ${PROJECT_NAME}-pass -u $MY_USERNAME -a gnusocial -p "$GNUSOCIAL_ADMIN_PASSWORD"
771 771
     gnusocial_block_user_script
772
-    gnusocial_block_domain_script gnusocial
772
+    gnusocial_block_domain_script gnusocial "$GNUSOCIAL_DOMAIN_NAME"
773 773
 
774 774
     set_completion_param "gnusocial domain" "$GNUSOCIAL_DOMAIN_NAME"
775 775
 

+ 3
- 3
src/freedombone-app-postactiv 查看文件

@@ -362,7 +362,7 @@ function upgrade_postactiv {
362 362
     postactiv_running_script
363 363
 
364 364
     gnusocial_block_user_script
365
-    gnusocial_block_domain_script postactiv
365
+    gnusocial_block_domain_script postactiv "$POSTACTIV_DOMAIN_NAME"
366 366
 
367 367
     upgrade_pleroma "$POSTACTIV_DOMAIN_NAME" "postactiv" "$POSTACTIV_BACKGROUND_IMAGE_URL" "$POSTACTIV_TITLE"
368 368
     postactiv_customise_logo
@@ -534,7 +534,7 @@ function install_postactiv_main {
534 534
     repair_databases_script
535 535
 
536 536
     apt-get -yq install php-gettext php5-curl php5-gd php5-mysql git curl php-xml-parser
537
-    apt-get -yq install php5-memcached php5-intl
537
+    apt-get -yq install php5-memcached php5-intl exiftool
538 538
 
539 539
     if [ ! -d /var/www/$POSTACTIV_DOMAIN_NAME ]; then
540 540
         mkdir /var/www/$POSTACTIV_DOMAIN_NAME
@@ -771,7 +771,7 @@ function install_postactiv_main {
771 771
     ${PROJECT_NAME}-pass -u $MY_USERNAME -a postactiv -p "$POSTACTIV_ADMIN_PASSWORD"
772 772
 
773 773
     gnusocial_block_user_script
774
-    gnusocial_block_domain_script postactiv
774
+    gnusocial_block_domain_script postactiv "$POSTACTIV_DOMAIN_NAME"
775 775
 
776 776
     set_completion_param "postactiv domain" "$POSTACTIV_DOMAIN_NAME"
777 777
 

+ 12
- 0
src/freedombone-utils-gnusocialtools 查看文件

@@ -547,6 +547,18 @@ function gnusocial_block_domain_script {
547 547
     echo '        /usr/bin/gnusocial-delete-user "$database_name" "$block" "$GNUSOCIAL_DOMAIN_NAME"' >> /usr/bin/${database_name}-firewall
548 548
     echo '    fi' >> /usr/bin/${database_name}-firewall
549 549
     echo 'done <$FIREWALL_DOMAINS' >> /usr/bin/${database_name}-firewall
550
+    echo '' >> /usr/bin/${database_name}-firewall
551
+    echo '# remove any metadata from images uploaded in the last 2 minutes' >> /usr/bin/${database_name}-firewall
552
+    echo 'if [ -d /var/www/$GNUSOCIAL_DOMAIN_NAME/htdocs ]; then' >> /usr/bin/${database_name}-firewall
553
+    echo '    cd /var/www/$GNUSOCIAL_DOMAIN_NAME/htdocs' >> /usr/bin/${database_name}-firewall
554
+    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
555
+    echo '    for f in ${recent_image[@]}' >> /usr/bin/${database_name}-firewall
556
+    echo '    do' >> /usr/bin/${database_name}-firewall
557
+    echo '        if [ ${#f} -gt 1 ]; then' >> /usr/bin/${database_name}-firewall
558
+    echo '            exiftool -q -all= "file/${f}"' >> /usr/bin/${database_name}-firewall
559
+    echo '        fi' >> /usr/bin/${database_name}-firewall
560
+    echo '    done' >> /usr/bin/${database_name}-firewall
561
+    echo 'fi' >> /usr/bin/${database_name}-firewall
550 562
     chmod +x /usr/bin/${database_name}-firewall
551 563
 
552 564
     if ! grep -q "${database_name}-firewall" /etc/crontab; then