#!/bin/bash
#
# DynamicDNSupdater - supports: DynDNS.org, NO-IP.com, DYNServ.ca and IPActive.de
#
# Es koennen auch verschiedene Dienste genutzt werden um mehrere DNS-Hosts
# zu nutzen, einfach Script kopieren, umbenennen, konfigurieren und erneut starten...
#
# Sonderzeichen im Password werden nun auch supported (danke IDDQD)
#
# credits: Didge2002, SnowHead, r00t, rj.2001, IDDQD
#
### CONFIG - START
USERNAME="[COLOR=#ff0000]benutzer[/COLOR]" # DDNS Benutzername
PASSWORD="[COLOR=#ff0000]password[/COLOR]" # DDNS Passwort
DDNSHOST="[COLOR=#ff0000]host.ath.cx[/COLOR]" # DDNS Hostname
EVERY="300" # Zeit in Sekunden zwischen den Abfragen
LOG="1" # Erstelle Logfile hiervon? (wenn moeglich aus lassen) [0=nein; 1=ja]
# Provider URL's - Es darf nur EINE benutzt werden, alle anderen auskommentieren!
# (beliebig erweiterbar)
#
# NEU: $USERNAME und $PASSWORD werden innerhalb der URL mit %USER% und %PASS% definiert!
#
# DynDNS.org
#URL="http://%USER%:%PASS%@members.dyndns.org/nic/update?hostname=$DDNSHOST"
# No-IP.com
[COLOR=#ff0000]URL="http://dynupdate.no-ip.com/dns?username=%USER%&password=%PASS%&hostname=$DDNSHOST"[/COLOR]
# DYNServ.ca
#URL="http://dynserv.ca/dyn/dynengine.cgi?name=%USER%&pass=%PASS%&func=set&domain=$DDNSHOST"
# IPActive.de
#URL="http://logon.ipactive.de/cgi-bin/logon_off.pl?V=2.1&B=%USER%&P=%PASS%&IP=$DDNSHOST&F=1"
### CONFIG - END
USERNAME="benutzer" # DDNS Benutzername
PASSWORD="password" # DDNS Passwort
DDNSHOST="host.ath.cx" # DDNS Hostname
URL="http://dynupdate.no-ip.com/dns?username=%USER%&password=%PASS%&hostname=$DDNSHOST"
Hier kommt deine DDNS rein.DDNSHOST="host.ath.cx" # DDNS Hostname
Dieser String bleibt unverändert, er zieht sich ja die Variablen USER, PASS und DDNSHOSTURL="http://dynupdate.no-ip.com/dns?username=%USER%&password=%PASS%&hostname=$DDNSHOST"
USERNAME["1"]="user1" # DDNS Benutzername1
PASSWORD["1"]="password1" # DDNS Passwort1
DDNSHOST["1"]="user1.dyndns.org" # DDNS Hostname1
USERNAME["1"]="user1" # DDNS Benutzername1
PASSWORD["1"]="password1" # DDNS Passwort1
DDNSHOST["1"]="user1.dyndns.org" # DDNS Hostname1
USERNAME["2"]="user2" # DDNS Benutzername2
PASSWORD["2"]="password2" # DDNS Passwort2
DDNSHOST["2"]="user2.dyndns.org" # DDNS Hostname2
.
.
.
USERNAME["57"]="user57" # DDNS Benutzername57
PASSWORD["57"]="password57" # DDNS Passwort57
DDNSHOST["57"]="user57.dyndns.org" # DDNS Hostname57
# DynamicDNSupdater - supports: DynDNS.org, NO-IP.com, DYNServ.ca and IPActive.de
#
# Es koennen auch verschiedene Dienste genutzt werden um mehrere DNS-Hosts
# zu nutzen, einfach Script kopieren, umbenennen, konfigurieren und erneut starten...
#
# Sonderzeichen im Password werden nun auch supported (danke IDDQD)
#
# credits: Didge2002, SnowHead, r00t, rj.2001, IDDQD
#
### CONFIG - START
USERNAME="[COLOR=#ff0000]benutzer[/COLOR]" # DDNS Benutzername
PASSWORD="[COLOR=#ff0000]password[/COLOR]" # DDNS Passwort
DDNSHOST="[COLOR=#ff0000]host.ath.cx[/COLOR]" # DDNS Hostname
EVERY="300" # Zeit in Sekunden zwischen den Abfragen
LOG="1" # Erstelle Logfile hiervon? (wenn moeglich aus lassen) [0=nein; 1=ja]
# Provider URL's - Es darf nur EINE benutzt werden, alle anderen auskommentieren!
# (beliebig erweiterbar)
#
# NEU: $USERNAME und $PASSWORD werden innerhalb der URL mit %USER% und %PASS% definiert!
#
# DynDNS.org
#URL="http://%USER%:%PASS%@members.dyndns.org/nic/update?hostname=$DDNSHOST"
# No-IP.com
[COLOR=#ff0000]URL="http://dynupdate.no-ip.com/dns?username=%USER%&password=%PASS%&hostname=$DDNSHOST"[/COLOR]
# DYNServ.ca
#URL="http://dynserv.ca/dyn/dynengine.cgi?name=%USER%&pass=%PASS%&func=set&domain=$DDNSHOST"
# IPActive.de
#URL="http://logon.ipactive.de/cgi-bin/logon_off.pl?V=2.1&B=%USER%&P=%PASS%&IP=$DDNSHOST&F=1"
USERNAME["1"]="user1" # DDNS Benutzername1
PASSWORD["1"]="password1" # DDNS Passwort1
DDNSHOST["1"]="user1.dyndns.org" # DDNS Hostname1
USERNAME["2"]="user2" # DDNS Benutzername2
PASSWORD["2"]="password2" # DDNS Passwort2
DDNSHOST["2"]="user2.dyndns.org" # DDNS Hostname2
### CONFIG - END
DDNSupdater.sh Dynamic DNS updater (supports: DynDNS.org, NO-IP.com, DYNServ.ca and IPActive.de)
DDNSupdater2.sh Multi-Account Dynamic DNS updater (kann unendlich viele hosts gleichzeitig updaten)
#!/bin/bash
#
# DynamicDNSupdater - supports: DynDNS.org, NO-IP.com, DYNServ.ca and IPActive.de
#
# Es koennen auch verschiedene Dienste genutzt werden um mehrere DNS-Hosts zu nutzen...
#
# Sonderzeichen im Password werden nun auch supported (danke IDDQD)
#
# credits: Didge2002, SnowHead, r00t, rj.2001, IDDQD
#
### CONFIG - START
# Zugangsdaten...
# es koennen mehrere accounts geupdated werden... (rest auskommentieren)
USERNAME["1"]="benutzer" # DDNS Benutzername1
PASSWORD["1"]="password" # DDNS Passwort1
DDNSHOST["1"]="host.dyndns.tv" # DDNS Hostname1
USERNAME["2"]="benutzer2" # DDNS Benutzername2
PASSWORD["2"]="password2" # DDNS Passwort2
DDNSHOST["2"]="host2.zapto.org" # DDNS Hostname2
USERNAME["3"]="benutzer3" # DDNS Benutzername3
PASSWORD["3"]="password3" # DDNS Passwort3
DDNSHOST["3"]="host3.dyndns.org" # DDNS Hostname3
#
# Provider URL's - pro DDNSHOST muss wie oben ein dazu passendes URL["<zahl>"] angelegt werden!
# (beliebig erweiterbar)
#
# $USERNAME , $PASSWORD , $DDNSHOST werden innerhalb der URL mit %USER% , %PASS% , %HOST% angegeben!
#
URL["1"]="http://%USER%:%PASS%@members.dyndns.org/nic/update?hostname=%HOST%"
URL["2"]="http://dynupdate.no-ip.com/dns?username=%USER%&password=%PASS%&hostname=%HOST%"
URL["3"]="http://%USER%:%PASS%@members.dyndns.org/nic/update?hostname=%HOST%"
#
# BEISPIEL URL's
#
# DynDNS.org: "http://%USER%:%PASS%@members.dyndns.org/nic/update?hostname=%HOST%"
# No-IP.com: "http://dynupdate.no-ip.com/dns?username=%USER%&password=%PASS%&hostname=%HOST%"
# DYNServ.ca: "http://dynserv.ca/dyn/dynengine.cgi?name=%USER%&pass=%PASS%&func=set&domain=%HOST%"
# IPActive.de: "http://logon.ipactive.de/cgi-bin/logon_off.pl?V=2.1&B=%USER%&P=%PASS%&IP=%HOST%&F=1"
# two-dns.de: "http://%USER%:%PASS%@update.two-dns.de/update?hostname=%HOST%"
EVERY="300" # Zeit in Sekunden zwischen den Abfragen
LOG="1" # Erstelle Logfile vom update? [0=nein; 1=ja]
# Verschicke EMail bei Problemen? [no=nein; yes=ja]
# ( benoetigt: apt-get install sendEmail )
EMAIL="no"
EMAILFROM="`hostname`@fqdn.net"
EMAILTO='admin@fqdn.net'
EMAILSERVER='mail.fqdn.net'
EMAILUSER=''
EMAILPASS=''
### CONFIG - END
...
...
...
usw.
#!/bin/bash
#
#### CONFIG - START
## OScam WebIf with SSL? [1=yes , 0=no]
OSssl="0"
## /path/to/oscam.conf?
OScfg="/var/etc/oscam.conf"
## Cards to monitor
CARD["1"]="mille"
CARD["2"]="sky"
CARD["3"]="sky2"
CARD["4"]="skdhd"
#CARD["5"]="mtv"
## OScam's Logfile?
OSlog="/var/log/oscam.log"
## monitoring Error message
OSerror="ERROR Phoenix_GetStatus: ioctl error in card detection for %CARDNAME%"
## reporting logfile for this script?
OStolog="/var/log/oscam.error"
#### CONFIG - END
OSip="127.0.0.1"
[ "$OSssl" = 1 ] && URL="https://" || URL="http://"
# Simple URL encoding
proc_url_encode() {
out=${1//%/%25}; out=${out//\{/%7B}; out=${out//\}/%7D}; out=${out//|/%7C};
out=${out//\\/%5C}; out=${out//^/%5E}; out=${out//~/%7E}; out=${out//[/%5B};
out=${out//]/%5D}; out=${out//\`/%60}; out=${out//#/%23}; out=${out//>/%3E};
out=${out//\$/%24}; out=${out//&/%26}; out=${out//+/%2B}; out=${out//,/%2C};
out=${out//\//%2F}; out=${out//:/%3A}; out=${out//;/%3B}; out=${out//=/%3B};
out=${out//\?/%3F}; out=${out// /%20}; out=${out//</%3C};
out=${out//\!/%21}; out=${out//\"/%22}; out=${out//\@/%40}; out=${out//\'/%27};
out=${out//\(/%28}; out=${out//\)/%29}; out=${out//\*/%2A}; out=${out//\-/%2D};
out=${out//\_/%5F}; out=${out//\./%2E}; out=${out//\€/%80};
echo $out
}
proc_parse_cfg() {
i=0
while read line; do
line=$(echo $line | sed -e 's/ //g')
if [[ "$line" =~ ^[^#]*= ]]; then
cfg_name[$i]=$(echo $line | cut -d'=' -f 1)
cfg_value[$i]=$(echo $line | cut -d'=' -f 2-)
((++i))
fi
done < $1
}
get_cfg_value() {
i=0
for name in ${cfg_name
[*]}; do
[ "$1" = "$name" ] && echo "${cfg_value[$i]}" && break
((++i))
done
}
proc_get_infos() {
proc_parse_cfg $OScfg
WEBPORT=$(get_cfg_value httpport)
[ -z "$WEBPORT" ] && "ERROR: WebIf isnt enabled! Abort!" && exit 1
USERNAME=$(get_cfg_value httpuser)
if [ ! -z "$USERNAME" ]; then
PASSWORD=$(get_cfg_value httppwd)
URL="$URL"`proc_url_encode "${USERNAME}"`":"`proc_url_encode "${PASSWORD}"`"@${OSip}:${WEBPORT}"
else
URL="${URL}$OSip:$WEBPORT"
fi
}
proc_get_infos
for card in ${CARD
[*]}; do
ERRORmsg=${OSerror//%CARDNAME%/$card}
founds=`tail -10 $OSlog | grep "$ERRORmsg" | wc -l`
if [ $founds -gt 0 ]; then
echo "`date +%d-%b-%Y` `date +%H:%M:%S`: $card Card lost" >> $OStolog
curl -s --digest "$URL/readers.html?label=${card}&action=disable" >/dev/null
curl -s --digest "$URL/readers.html?label=${card}&action=enable" >/dev/null
fi
done
exit 0
Wir verwenden Cookies und ähnliche Technologien für folgende Zwecke:
Akzeptieren Sie Cookies und diese Technologien?
Wir verwenden Cookies und ähnliche Technologien für folgende Zwecke:
Akzeptieren Sie Cookies und diese Technologien?