Du bist nicht angemeldet.
Hallo,
ich habe ein Problem mit der Übertragung der Downloads via FTP.
Im log steh z.B.
curl: Can't open '/var/fritzload/downloads/transfer/test2.mp4[b] -u user:password[/b]'!
Es sieht wohl so aus, als ist der CURL befehl nicht richtig zusammen gesetzt. das ' sollte wohl direkt hinter dem Datei-Namen stehen und nicht hinter dem user:password.
Wenn man in der config den ftp komplett angibt (ftp://user:password@FTPserver) und die zwei Felder für user und pw leer lässt funktioniert der Transfer.
Ich nutze die Version V0.42/Rev.: 2480 auf einer 7390.
Abwesend
Hast du ein DEBUG Log?
Der Zeile mit "transferServer" in der fritzload.ini wäre auch interessant.
Abwesend
wow. Das ist jetzt schon ein Jahr her. Habe bis vor kurzem nicht wieder in das Thema rein geschaut.
Habe es total vergessen, da ich zum FTP uploaden konnte, wenn man ftp://user:pw@server eingegeben hat.
Nun habe ich versucht mich selbst um das Problem zu kümmern. So wirklich verstehen tue ich nicht, warum curl ein Problem hat.
Wenn mich jemand da aufklären kann, wäre ich sehr froh darüber.
if $CURL -T $file$params "$url";then
diese Zeile habe ich verändert und die Variablen mit eval ausführen lassen
if eval $CURL -T "\""${file}"\""${params} "--connect-timeout 30" "$url";then
Zusätzlich habe ich noch einen Connection-Timeout von 30 Sekunden angefügt.
Auf diese Weise funktioniert der Upload, wenn man user und pw braucht.
Danach habe ich noch etwas weiter gespielt und versucht auf den HFS HTTP Server etwas hochzuladen.
Der Server muss in den Einstellungen als HFShttp://<HFSipaddress>/<HFSfolder>/ angegeben werden.
Hier muss curl jedoch wie folgt aufgerufen werden:
curl -F fileupload1=@MyFile.iso -F press="Upload files" http://<HFSipaddress>/<HFSfolder>/
Die downloadTransfer.sh habe ich nun sehr stark erweitert.
Die while Schleife für den Upload sieht jetzt bei mir so aus:
# --proxytunnel -x proxy:port
try=1
while [ "${try:-0}" -le 3 ];do
print "Dateiübertragung: $file >>> $url"
# support for uploading to FTP server
if ! [ -n "${url##ftp\:\/\/*}" ]; then
if eval $CURL -T "\""${file}"\""${params} "--connect-timeout 30" "$url";then
print "Dateiübertragung erfolgreich: Lösche lokal $file"
rm -f $file
return
fi
fi
# support for uploading to HTTP server
if ! [ -n "${url##http\:\/\/*}" ]; then
eval $CURL -T "\""${file}"\""${params} "--connect-timeout 30" "$url" 1> /dev/null
if [ "$?" -eq 0 ]; then
print "Dateiübertragung erfolgreich: Lösche lokal $file"
rm -f $file
return
fi
fi
# support for uploading to HFS HTTP Server
if ! [ -n "${url##HFShttp\:\/\/*}" ]; then
#curl -F fileupload1=@MyFile.iso -F press="Upload files" http://<HFSipaddress>/<HFSfolder>/
eval $CURL -F "fileupload1=\@\""${file}"\"" "-F press=\"Upload files\""${params} "--connect-timeout 30" "${url##HFS}\/" 1> /dev/null
#> /dev/null 2>&1
if [ "$?" -eq 0 ]; then
print "Dateiübertragung erfolgreich: Lösche lokal $file"
rm -f $file
return
fi
fi
errmsg "Die Dateiübertragung ist fehlgeschlagen! - $(curl_error_code "$?")"
try=$(($try+1))
done
Es passt zwar hier nicht mehr direkt zu. Jedoch habe ich vor den Upload noch ein WOL ähnlich wie für die NAS eingebaut:
url="${url%/}/"
# Check, if Server is On
print "Ist der Server ${cifsAdress} wach?"
ping -c 2 ${cifsAdress} > /dev/null 2>&1
if [ "$?" -gt 0 ]; then
# try to wake cifs server
print "Server mit der Mac-Adresse: ${cifsMAC} Aufwecken"
if [ -n "${cifsMAC}" ]; then
for intf in eth0 eth1; do
/usr/bin/ether-wake -i ${intf} ${cifsMAC} >/dev/null 2>&1 && _gui_output_format "Magic-Packet auf ${intf} gesendet - NAS wird hochgefahren."
done
if [ -n $TIMEINSEC ];then
TIMEINSEC=60
fi
print "Warte $TIMEINSEC Sekunden um den Server wach werden zu lassen"
try=1
while [ "${try:-0}" -le 6 ];do
sleep $(($TIMEINSEC/6)) # $TIMEINSEC Sekunden warten, bis zum ersten Mount-Versuch, default 60
ping -c 1 ${cifsAdress} > /dev/null 2>&1
if [ "$?" -gt 0 ]; then
print "Server erfolgreich aufgeweckt!"
break
fi
try=$(($try+1))
done
fi
else
print "Server ist wach!"
fi
# --proxytunnel -x proxy:port
Das ist meine komplette downloadTransfer.sh
Der Beitrag wurde geändert von pseudex (am 07. Feb. 2015 um 00:16 Uhr)
Abwesend
Ich kann diesen Bug so bestätigen.
Abwesend
Das Problem ist bei ein paar Sachen (FTP-Transfer, voipcheck, reconnect, unrar, ...), dass ich die überhaupt nicht nutze.
Manche kann ich nicht testen, mangels Festnetz-Telefon, für andere ist es mir zu ganz klar zu mühsam das einzurichten, durch zu probieren etc. wenn ich das nicht annähernd verwende.
Viele Entwickler sind hier nicht mehr aktiv, @roadman17, @genuk und ich machen noch ab und zu was.
Vieles am Code ist wahrscheinlich antik und nicht mehr lauffähig, bzw. müsste auch neuere Fritz!OS/Freetz Versionen angepasst werden.
Das obige gilt allgemein.
Mit einem DEBUG Log kann man ansetzen und wenn jemand das dann auch ausprobieren will es eventuell auch reparieren.
Btw. wenn du das File von @pseudex oben nimmst und das jetzige ersetzt, funktioniert damit dann der FTP Transfer?
Der Beitrag wurde geändert von rolex0815 (am 16. Dec. 2017 um 17:55 Uhr)
Abwesend
Ich hätte präziser sein können:
Ich kann sowohl den Bug bestätigen, als auch das pseudex's Einzeiler den FTP Transfer für mich gefixt hat.
Den Teil mit dem HTTP Server und WOL habe ich nicht überprüft, teils weil ich keinen HTTP Server habe und mein FTP Server immer online ist.
Abwesend
Änderungen von @pseudex sind ins SVN gewandert.
Abwesend
Möchte keinen neuen Thread aufmachen, nur eine kurze Frage, die sich wahrscheinlich einfach beantworten lässt von jemandem der einen Überblick über die verwendeten Bibliotheken und Bausteine hat:
Ist FTP über SSL möglich? Also sowohl abhängig von den Bibliotheken als auch von der aktuellen Implementierung?
Editiert für Präzisierung
Der Beitrag wurde geändert von Chefi (am 10. Jul. 2018 um 12:42 Uhr)
Abwesend