diff --git a/src/freedombone-app-rsync b/src/freedombone-app-rsync index 19583709e723fda6ee5cfd54a0c3f2051929c10a..8b51f69a37bc2445d970c92454408b1931521df5 100755 --- a/src/freedombone-app-rsync +++ b/src/freedombone-app-rsync @@ -66,8 +66,10 @@ function rsync_setting_remote { return fi - sed -i 's|read only =.*|read only = true|g' /etc/rsync/rsyncd.conf - systemctl restart rsync + if ! grep -q 'read only = true' /etc/rsync/rsyncd.conf; then + sed -i 's|read only =.*|read only = true|g' /etc/rsync/rsyncd.conf + systemctl restart rsync + fi { echo '#!/bin/bash'; echo "cd $RSYNC_DATA || exit 1"; diff --git a/src/freedombone-utils-webadmin b/src/freedombone-utils-webadmin index 259ce6ec7152a42abd5ecd6d315f572060483a97..63e2e9f180433962be908b2e1707083a698de8a9 100755 --- a/src/freedombone-utils-webadmin +++ b/src/freedombone-utils-webadmin @@ -862,7 +862,12 @@ function web_admin_create_installed_apps_category { # special case for rsync if [[ "$app_name" == 'rsync' ]]; then RSYNC_HOSTNAME_ONION=$(cat /var/lib/tor/hidden_service_rsync/hostname) - domain_name="torsocks rsync -avmr --delete $RSYNC_HOSTNAME_ONION::files ~/your_directory/ \&\& torsocks rsync -avmr --delete ~/your_directory/ $RSYNC_HOSTNAME_ONION::files<br><br>rsync -avmr --delete ${PROJECT_NAME}::files ~/your_directory/ \&\& rsync -avmr --delete ~/your_directory/ ${PROJECT_NAME}::files" + + if grep -q 'read only = true' /etc/rsync/rsyncd.conf; then + domain_name="torsocks rsync -avmr --delete $RSYNC_HOSTNAME_ONION::files ~/your_directory/<br><br>rsync -avmr --delete ${PROJECT_NAME}::files ~/your_directory/" + else + domain_name="torsocks rsync -avmr --delete $RSYNC_HOSTNAME_ONION::files ~/your_directory/ \&\& torsocks rsync -avmr --delete ~/your_directory/ $RSYNC_HOSTNAME_ONION::files<br><br>rsync -avmr --delete ${PROJECT_NAME}::files ~/your_directory/ \&\& rsync -avmr --delete ~/your_directory/ ${PROJECT_NAME}::files" + fi fi if [ $installed_apps_ctr -eq 0 ]; then @@ -910,10 +915,18 @@ function web_admin_create_installed_apps_category { else # do something different for rsync: show the commands to sync RSYNC_HOSTNAME_ONION=$(cat /var/lib/tor/hidden_service_rsync/hostname) - if [ ! -f /usr/local/bin/myqr ]; then - echo -n "torsocks rsync -avmr --delete $RSYNC_HOSTNAME_ONION::files ~/your_directory/ && torsocks rsync -avmr --delete ~/your_directory/ $RSYNC_HOSTNAME_ONION::files" | qrencode -t PNG -o "$webadmin_install_dir/app_qrcode_${app_name}.png" + if grep -q 'read only = true' /etc/rsync/rsyncd.conf; then + if [ ! -f /usr/local/bin/myqr ]; then + echo -n "torsocks rsync -avmr --delete $RSYNC_HOSTNAME_ONION::files ~/your_directory/" | qrencode -t PNG -o "$webadmin_install_dir/app_qrcode_${app_name}.png" + else + myqr "torsocks rsync -avmr $RSYNC_HOSTNAME_ONION::files ~/your_directory/" -p /root/freedombone/img/onion.png -c -n "$webadmin_install_dir/app_qrcode_${app_name}.png" + fi else - myqr "torsocks rsync -avmr $RSYNC_HOSTNAME_ONION::files ~/your_directory/ && torsocks rsync -avmr ~/your_directory/ $RSYNC_HOSTNAME_ONION::files" -p /root/freedombone/img/onion.png -c -n "$webadmin_install_dir/app_qrcode_${app_name}.png" + if [ ! -f /usr/local/bin/myqr ]; then + echo -n "torsocks rsync -avmr --delete $RSYNC_HOSTNAME_ONION::files ~/your_directory/ && torsocks rsync -avmr --delete ~/your_directory/ $RSYNC_HOSTNAME_ONION::files" | qrencode -t PNG -o "$webadmin_install_dir/app_qrcode_${app_name}.png" + else + myqr "torsocks rsync -avmr $RSYNC_HOSTNAME_ONION::files ~/your_directory/ && torsocks rsync -avmr ~/your_directory/ $RSYNC_HOSTNAME_ONION::files" -p /root/freedombone/img/onion.png -c -n "$webadmin_install_dir/app_qrcode_${app_name}.png" + fi fi fi fi