Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/nextcloudpi.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'etc/ncp-config.d/duckDNS.sh')
-rw-r--r--etc/ncp-config.d/duckDNS.sh75
1 files changed, 75 insertions, 0 deletions
diff --git a/etc/ncp-config.d/duckDNS.sh b/etc/ncp-config.d/duckDNS.sh
new file mode 100644
index 00000000..90d9c35f
--- /dev/null
+++ b/etc/ncp-config.d/duckDNS.sh
@@ -0,0 +1,75 @@
+#!/bin/bash
+
+# DuckDNS installation on Raspbian for NextcloudPlus
+#
+#
+# Copyleft 2017 by Courtney Hicks
+# GPL licensed (see end of file) * Use at your own risk!
+#
+
+ACTIVE_=no
+DOMAIN_=mycloud.duckdns.org
+TOKEN_=your-duckdns-token
+
+INSTALLDIR=duckdns
+INSTALLPATH=/usr/local/etc/$INSTALLDIR
+CRONFILE=/etc/cron.d/duckdns
+DESCRIPTION="Free Dynamic DNS provider (need account from https://duckdns.org)"
+
+install() { :; }
+
+configure()
+{
+ local DOMAIN="$( sed 's|.duckdns.org||' <<<"$DOMAIN_" )"
+ if [[ $ACTIVE_ == "yes" ]]; then
+ mkdir -p "$INSTALLPATH"
+
+ # Creates duck.sh script that checks for updates to DNS records
+ touch "$INSTALLPATH"/duck.sh
+ touch "$INSTALLPATH"/duck.log
+ echo -e "echo url=\"https://www.duckdns.org/update?domains=$DOMAIN&token=$TOKEN_&ip=\" | curl -k -o "$INSTALLPATH"/duck.log -K -" > "$INSTALLPATH"/duck.sh
+
+ # Adds file to cron to run script for DNS record updates and change permissions
+ touch $CRONFILE
+ echo "*/5 * * * * root $INSTALLPATH/duck.sh >/dev/null 2>&1" > "$CRONFILE"
+ chmod 700 "$INSTALLPATH"/duck.sh
+ chmod +x "$CRONFILE"
+
+ # First-time execution of duck script
+ "$INSTALLPATH"/duck.sh > /dev/null 2>&1
+
+ SUCCESS="$( cat $INSTALLPATH/duck.log )"
+
+ # Checks for successful run of duck.sh
+ if [[ $SUCCESS == "OK" ]]; then
+ echo "DuckDNS is enabled"
+ elif [[ $SUCCESS == "KO" ]]; then
+ echo "DuckDNS install failed, is your information correct?"
+ fi
+
+ # Removes config files and cron job if ACTIVE_ is set to no
+ elif [[ $ACTIVE_ == "no" ]]; then
+ rm -f "$CRONFILE"
+ rm -f "$INSTALLPATH"/duck.sh
+ rm -f "$INSTALLPATH"/duck.log
+ rmdir "$INSTALLPATH"
+ echo "DuckDNS is now disabled"
+ fi
+}
+
+# License
+#
+# This script is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This script is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this script; if not, write to the
+# Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+# Boston, MA 02111-1307 USA