...Also mal zerpflücken... aus der functions.sh:
Code: Alles auswählen
# Weblogin testen
weblogon() {
#echo "Function: weblogon"
WUP=""
[ "$CCUSER" != "" ] && WUP="$CCUSER:$CCPASS@"
CCWEBIF="http://$WUP$CCURL:$CCPORT"
WEBLOGIN=$(wget -q -O - $CCWEBIF)
[[ -z $WEBLOGIN ]] && clear && echo "CCcam Weblogon ERROR!" && exit 1
}
weblogon() {
...die Funktion "weblogon" wird geöffnet/erstellt (also quasi ein neuer Befehl)
WUP=""
...Variable $WUP wird auf "" gesetzt (also leer)
[ "$CCUSER" != "" ]
&& WUP="$CCUSER:$CCPASS@"
...wenn $CCUSER nicht gleich "" (also leer) dann setz WUP="$CCUSER:$CCPASS@"
CCWEBIF="http://$WUP$CCURL:$CCPORT"
...Variable $CCWEBIF wird auf "http://$WUP$CCURL:$CCPORT" gesetzt
WEBLOGIN=$(wget -q -O - $CCWEBIF)
...Variable $WEBLOGIN wird auf $(wget -q -O - $CCWEBIF) gesetzt - das in $() wird ausgeführt und die Rückgabe zurückgeworfen/zurückgegeben als wär es eine Variable
[[ -z $WEBLOGIN ]]
&& clear
&& echo "CCcam Weblogon ERROR!"
&& exit 1
...wenn Variable $WEBLOGIN leer oder nicht vorhanden dann clear (also einen neuen, leeren screen) dann gebe aus "CCcam Weblogon ERROR!" dann beende das Script mit fehlercode 1
}
...die zuvor geöffnete Funktion "weblogon" wird geschlossen
===================================================================================================
Das heisst also für uns sind zunächst folgende Informationen wichtig:
CCWEBIF="http://
$WUP$CCURL:
$CCPORT"
WEBLOGIN=$(wget -q -O - $CCWEBIF)
...dh wir müssen erst herrausfinden was in
$WUP drin steht und das wurde vorher geprüft mit [ "$CCUSER" != "" ] ...wenn $CCUSER nicht gleich "" also leer dann setz WUP="$CCUSER:$CCPASS@"... $CCUSER und $CCPASS wurden zuvor in der functions.sh ausgelesen über die Funktion
readcccamcfg:
readcccamcfg() {
#echo "Function: readcccamcfg"
CCUSER=$(grep -i "WEBINFO USERNAME" $CCCFG | cut -d ":" -f2 | sed -e 's/ //g' | sed -e 's/\r//g')
CCPASS=$(grep -i "WEBINFO PASSWORD" $CCCFG | cut -d ":" -f2 | sed -e 's/ //g' | sed -e 's/\r//g')
CCPORT=$(grep -i "WEBINFO LISTEN PORT" $CCCFG | cut -d ":" -f2 | sed -e 's/ //g' | sed -e 's/\r//g')
CCCHAN=$(grep -i "CHANNELINFO FILE" $CCCFG | cut -d ":" -f2 | sed -e 's/ //g' | sed -e 's/\r//g')
CCPROV=$(grep -i "PROVIDERINFO FILE" $CCCFG | cut -d ":" -f2 | sed -e 's/ //g' | sed -e 's/\r//g')
CCSPORT=$(grep -i "SERVER LISTEN PORT" $CCCFG | cut -d ":" -f2 | sed -e 's/ //g' | sed -e 's/\r//g')
[ "$CCSPORT" = "" ] && CCSPORT="12000"
[ "$CCPORT" = "" ] && CCPORT="16001"
#echo "CCUSER: $CCUSER"
#echo "CCPASS: $CCPASS"
#echo "CCPORT: $CCPORT"
}
$CCURL steht ebenfals oben in der functions.sh -> CCURL="localhost"
$CCPORT wurde ebenfals über die Funktion
readcccamcfg ausgelesen...
...Das heisst also wenn
$WUP leer wär, also kein WEBINFO USERNAME und PASSWORD gesetzt sind; sähe die Variable CCWEBIF zb so aus: CCWEBIF="http://
localhost:
16001"
...Wenn
$WUP nicht leer wäre sähe das zb so aus: CCWEBIF="http://
user:pass@localhost:
16001"
Weiter hiese das also dass...
WEBLOGIN=$(wget -q -O - $CCWEBIF)
...würde dann so aussehen: WEBLOGIN=$(wget -q -O - http://localhost:16001) ... also in WEBLOGIN steht die Rückgabe des Befehls:
wget -q -O - http://localhost:16001
===================================================================================================
So, dh wir wissen jetzt schonmal ungefähr was passiert wenn er in dem
cccam-fail2ban.sh Script die
functions.sh einliest und davon dann die Funktion
weblogon ausführt... oder
Wie gesagt ist die einzige Stelle wo deine Fehlermeldung erzeugt wird die folgende:
[[ -z $WEBLOGIN ]]
&& clear
&& echo "CCcam Weblogon ERROR!"
&& exit 1
...wenn Variable $WEBLOGIN leer oder nicht vorhanden dann clear (also einen neuen, leeren screen) dann gebe aus "CCcam Weblogon ERROR!" dann beende das Script mit fehlercode 1
...es muss also irgendwas damit zu tun haben...
wenn du also wirklich kein $CCUSER und $CCPASS definiert hast, dann müsste man jetzt das Script evtl. debuggen um das genauer herraus zu finden wo es hapert...
Füge dazu bitte an den Anfang des Scripts cccam-fail2ban.sh folgende neue Zeile ein:
set -x
(ggf auch in der functions.sh)
...und dann poste bitte die Ausgabe des Scripts (vorzugsweise in
Code: Alles auswählen
oder [quote])
PS: und du bist sicher das der CCcam Prozess auch läuft wärend du fail2ban einrichten willst? ( [b]i task[/b] )