Solved

MagentaCloud downloads mit linux und wget möglich per bash script?

8 years ago

Sehr geehrtes MagentaCloud Support Team,

Als T-Online Kunde möchte ich die Magenta-Cloud gerne für automatische Software Updates nutzen die ich selbst für den Raspberry (Linux) geschrieben habe.

Das Anlegen eines Testshares mit readonly Passwort sowie das Hochladen von Dateien hat super geklappt.
Der manuelle Download mit Mozilla Browser unter Knoppix(Linux) ebenso.

wget unter Linux funktioniert jedoch leider nicht wie gewünscht.

wget möchte ich deswegen nutzen um den download per (bash) script auszuführen -sofern das möglich ist-

Prinzipiell funktioniert der wget Aufruf zwar fehlerfrei.
Allerdings wird (neben diversen icon Dateien) nur eine Datei mit dem Share Namen heruntergeladen ANSTATT die im Share befindlichen Dateien.

Könnte evtl. ein passender wget parameter der Fix sein, oder funktioniert wget mit MagentaCloud überhaupt nicht, was ich sehr bedauern würde.

Für eine hilfreiche Antwort wäre ich Ihnen sehr sehr dankbar.


Der nachfolgende Screenshot -in dem ShareName und Password geändert wurden- dokumentiert, was passiert


knoppix@Microknoppix:/tmp$ echo;echo;echo;SHARE=<MyShareName>;PW=<MyPassword>;LOGFILE=/tmp/wget.log;DEST=/tmp/www.magentacloud.de; cd /tmp; rm -f $LOGFILE;if wget --password=$PW --recursive --https-only --tries=3 https://www.magentacloud.de/share/${SHARE} -o $LOGFILE ; then echo OK; else echo FAIL;fi ; cat $LOGFILE ; ls -l /tmp ; find $DEST; DLOAD=$(find $DEST | grep $SHARE);ls -l $DLOAD

 

OK
--2017-10-23 12:48:27-- https://www.magentacloud.de/share/<MyShareName>
Auflösen des Hostnamens »www.magentacloud.de (www.magentacloud.de)« … 85.214.4.97
Verbindungsaufbau zu www.magentacloud.de (www.magentacloud.de)|85.214.4.97|:443 … verbunden.
HTTP-Anforderung gesendet, auf Antwort wird gewartet … 200 OK
Länge: 5667 (5,5K) [text/html]
Wird in »»www.magentacloud.de/share/<MyShareName>«« gespeichert.

0K ..... 100% 1,74M=0,003s

2017-10-23 12:48:45 (1,74 MB/s) - »»www.magentacloud.de/share/<MyShareName>«« gespeichert [5667/5667]

»robots.txt« wird geladen; bitte Fehler ignorieren.
--2017-10-23 12:48:45-- https://www.magentacloud.de/robots.txt
Wiederverwendung der bestehenden Verbindung zu www.magentacloud.de:443.
HTTP-Anforderung gesendet, auf Antwort wird gewartet … 404 Not Found
2017-10-23 12:48:45 FEHLER 404: Not Found.

--2017-10-23 12:48:45-- https://www.magentacloud.de/v1.10.0/images/static/favicon.ico
Wiederverwendung der bestehenden Verbindung zu www.magentacloud.de:443.
HTTP-Anforderung gesendet, auf Antwort wird gewartet … 200 OK
Länge: 1342 (1,3K) [image/x-icon]
Wird in »»www.magentacloud.de/v1.10.0/images/static/favicon.ico«« gespeichert.

0K . 100% 36,0M=0s

2017-10-23 12:48:45 (36,0 MB/s) - »»www.magentacloud.de/v1.10.0/images/static/favicon.ico«« gespeichert [1342/1342]

--2017-10-23 12:48:45-- https://www.magentacloud.de/images/static/apple-touch-icon-180x180.png
Wiederverwendung der bestehenden Verbindung zu www.magentacloud.de:443.
HTTP-Anforderung gesendet, auf Antwort wird gewartet … 200 OK
Länge: 4215 (4,1K) [image/png]
Wird in »»www.magentacloud.de/images/static/apple-touch-icon-180x180.png«« gespeichert.

0K .... 100% 1,97M=0,002s

2017-10-23 12:48:45 (1,97 MB/s) - »»www.magentacloud.de/images/static/apple-touch-icon-180x180.png«« gespeichert [4215/4215]

BEENDET --2017-10-23 12:48:45--
Verstrichene Zeit: 18s
Geholt: 3 Dateien, 11K in 0,005s (2,07 MB/s)
insgesamt 8
drwx------ 2 knoppix knoppix 60 Okt 23 11:55 firefox_knoppix
drwx------ 2 knoppix knoppix 40 Okt 23 11:17 mozilla_knoppix0
-rw------- 1 knoppix knoppix 57 Okt 23 08:57 serverauth.uYVvS3rFIO
drwx------ 2 knoppix knoppix 60 Okt 23 08:58 ssh-ePEJwevWzMWZ
drwx------ 2 knoppix knoppix 60 Okt 23 08:58 ssh-K99kKy9X4s7Z
-rw-r--r-- 1 knoppix knoppix 2113 Okt 23 12:48 wget.log
drwxr-xr-x 5 knoppix knoppix 100 Okt 23 12:24 www.magentacloud.de
/tmp/www.magentacloud.de
/tmp/www.magentacloud.de/images
/tmp/www.magentacloud.de/images/static
/tmp/www.magentacloud.de/images/static/apple-touch-icon-180x180.png
/tmp/www.magentacloud.de/v1.10.0
/tmp/www.magentacloud.de/v1.10.0/images
/tmp/www.magentacloud.de/v1.10.0/images/static
/tmp/www.magentacloud.de/v1.10.0/images/static/favicon.ico
/tmp/www.magentacloud.de/share
/tmp/www.magentacloud.de/share/<MyShareName>
-rw-r--r-- 1 knoppix knoppix 5667 Sep 6 09:50 /tmp/www.magentacloud.de/share/<MyShareName>
knoppix@Microknoppix:/tmp$

894

11

    • 8 years ago

      Warum versuchst du so einen Aufwand zu betreiben, wenn du doch ganz einfach den WebDAV Zugang nutzen kannst?

      2

      Answer

      from

      8 years ago

      Das geht nur mit Einzelfreigaben, Ordner gehen nicht (bzw. nur über Umwege) - und auch nur ohne Passwort.

       

      wget https://www.magentacloud.de/api/sharelink/download?id=FREIGABE-ID -O Dateiname.endung

       

      Geht aber, wie gesagt, nur bei Einzelfreigaben; also https://www.magentacloud.de/lnk/IDxxxx

      Ordner, also  https://www.magentacloud.de/share/IDxxxx funktioniert nicht.

       

      Siehe auch hier: https://telekomhilft.telekom.de/t5/forums/v3_1/forumtopicpage/board-id/710/thread-id/789823/page/1

      Answer

      from

      8 years ago

      CyberSW

      Warum versuchst du so einen Aufwand zu betreiben, wenn du doch ganz einfach den WebDAV Zugang nutzen kannst?

      Warum versuchst du so einen Aufwand zu betreiben, wenn du doch ganz einfach den WebDAV Zugang nutzen kannst?
      CyberSW
      Warum versuchst du so einen Aufwand zu betreiben, wenn du doch ganz einfach den WebDAV Zugang nutzen kannst?

      Ja, das würde ich auch sagen.

      Ich habe gewisse, noch wenige Erfahrungen damit.

       

      Kopieren von Dateien geht natürlich in beide Richtungen.

      Ich habe schon ein tar-Archiv per tar cvf dort direkt kreiert.

      Aber z.B. tar tvf direkt geht danach nicht.

       

      Unlogged in user

      Answer

      from

    • Accepted Solution

      accepted by

      8 years ago

      Das geht nur mit Einzelfreigaben, Ordner gehen nicht (bzw. nur über Umwege) - und auch nur ohne Passwort.

       

      wget https://www.magentacloud.de/api/sharelink/download?id=FREIGABE-ID -O Dateiname.endung

       

      Geht aber, wie gesagt, nur bei Einzelfreigaben; also https://www.magentacloud.de/lnk/IDxxxx

      Ordner, also  https://www.magentacloud.de/share/IDxxxx funktioniert nicht.

       

      Siehe auch hier: https://telekomhilft.telekom.de/t5/forums/v3_1/forumtopicpage/board-id/710/thread-id/789823/page/1

      0

    • 8 years ago

      Hallo @hkraspi2

      wenn du den Vorschlag von @CyberSW aufgreifen möchtest, kannst auf folgender Seite mal reinschauen:

      https://telekomhilft.telekom.de/t5/MagentaCLOUD/Magenta-Cloud-mit-Linux/td-p/2030955

      Bachte bitte auch den letzten Beitrag von @T-Helferlein

      0

    • 8 years ago

      Hallo,

      erst mal vielen Dank für Eure vielen Antworten. Als Erstnutzer der Community hat mich das echt beeindruckt.

      Was in meiner Anfrage leider nicht genannt war ist, daß ich Freunden die meine SW auf dem Raspi nutzen, automatische Updates über die MagentaCLOUD bieten möchteohne meinen Login-User preiszugeben, was für WEBDAVS mounts offenbar nötig ist.

       

      Abgesehen davon meinen Login anderen preiszugeben, scheint mir die Konfiguration eines WEBDAVS Mounts mit Login und Password in fstab für wesentlich aufwändiger als ein Download mit einem einzigen wget Befehl.
      Die in meiner Anfrage genannte Befehlssequenz erscheint nur deswegen kompliziert, weil sie auch gleich die notwendige Dokumentation erzeugt hat. Der reine wget wäre easy:
      Die puristisch reduzierte Version würde lauten: wget --password=<PW> --tries=3 https://www.magentacloud.de/share/<Share>
      Sie funktioniert aber leider nicht. Weder für Ordner, noch für Einzeldateien die einzeln geshared wurden.

      Der wget an sich läuft fehlerfrei (Retunstatus=0) und erzeugt auch immer eine Datei (keine Directory) mit dem namen des Shares.
      Das gilt für Ordner wie für Einzelfreigaben.

      Diese Datei ist offenbar eine <!DOCTYPE html> Datei die JavaScript enthält und die meines Wissens nur im Browser ausgeführt werden kann was ja auch unter Linux funktioniert, aber leider nur händisch und nicht automatisch.
      Mit wget kann der Cloud-Server offenbar nichts anfangen, weshalb er in der Download Datei u.A. die folgenden Zeilen plaziert hat, weil er vermutlich glaubt mit einem Browser zu kommunizieren statt mit wget.

      .................
      <noscript class="nojs">

      <div class="lang">
      <h3>Deutsch</h3>
      <p class="text">Aktivieren Sie bitte JavaScript um MagentaCLOUD im Webbrowser benutzen zu können.</p>
      </div>

      <div class="lang">
      <h3>English</h3>
      <p class="text">Please activate JavaScript to use MagentaCLOUD in your web browser.</p>
      </div>

      </noscript>

      <script type="text/javascript">
      window.Bootstrap = function(ua) {
      .......................

      Habs leider nicht genau genug erläutert, sorry. In diesem Szenario wird nur der Download der automatisch erfolgen soll, aber nicht der Upload benötigt.
      Mir geht es hier um unkomplizierte, automatische Downloads unter Linux für Bekannte und Freunde mit identischen Sicherheitsmechanismen wie man auch Fotos teilt.
      So bin ich überhaupt erst auf die Idee mit den Raspi Updates und wget gekommen.
      ShareLink und SharePassword das wärs. WEBDAVS kommt hier nicht in Frage.

      wget scheint hier aber wohl nicht zu funktionieren. Vielleicht fehlt ja auch nur noch ein weiterer wget parameter.

      3

      Answer

      from

      8 years ago

      Es funktioniert, wie ich schon schrieb, eigentlich nur mit Einzelfreigaben und auch nur mit dem direkten Download-Link, den ich ebenfalls bereits genannt habe.

      Bei anderen Links, passwortgeschützt oder Ordnern, lädt wget lediglich die HTML Datei runter - wo das Passwort oder der echte Downloadlink angefordert wird - also das, was dir bei Aufruf im Browser angezeigt wird. 

      Answer

      from

      8 years ago

      wie lautet denn die exakte wget syntax die Du in Linux verwendest?

      Ich hatte folgendenBefehl benutzt

      wget --tries=3 https://www.magentacloud.de/lnk/<MeinDateiShareOhnePasswort>

      Der funktioniert bei mir nicht. Es wird nach wie vor nur die HTML-Datei mit dem Share Namen heruntergeladen

      Die hat übrigens einen Timestamp vom September. Hochgeladen hatte ich die Datei heute am 24.10.2017

      Wahrscheinlich geht die Systemuhr des betrovvenen Cloud Servers falsch.

      mein Linux heißt:

      noppix@Microknoppix:~$ uname -a
      Linux Microknoppix 4.9.6-64 #7 SMP PREEMPT Fri Jan 27 22:50:03 CET 2017 x86_64 GNU/Linux
      knoppix@Microknoppix:~$

       

      Answer

      from

      8 years ago


      @hkraspi2 schrieb:

      Abgesehen davon meinen Login anderen preiszugeben, scheint mir die Konfiguration eines WEBDAVS Mounts mit Login und Password in fstab für wesentlich aufwändiger als ein Download mit einem einzigen wget Befehl.


      403]  alias Mcloud
      wdfs -o username=uname -o password=mcpass https://webdav.magentacloud.de /cloud

       

      So mache ich das zurzeit.

      Ich finde das extrem simpel.

       

      Unlogged in user

      Answer

      from

    • Accepted Solution

      accepted by

      7 years ago

      hkraspi2

      Als T-Online Kunde möchte ich die Magenta-Cloud gerne für automatische Software Updates nutzen die ich selbst für den Raspberry (Linux) geschrieben habe.

       

      Als T-Online Kunde möchte ich die Magenta-Cloud gerne für automatische Software Updates nutzen die ich selbst für den Raspberry (Linux) geschrieben habe.

       

      hkraspi2

       

      Als T-Online Kunde möchte ich die Magenta-Cloud gerne für automatische Software Updates nutzen die ich selbst für den Raspberry (Linux) geschrieben habe.

       


      Hi @hkraspi2,

       

      zufällig bin ich vll auf eine Lösung für dein "Problem" gekommen. Schau mal unter https://alphathiel.de/magentacloud-hack-direkt-auf-freigegebene-dateien-zugreifen/. Dort steht beschrieben wir du den "Deeplink" zu deiner gesharten Datei herausfindest. Den kann man natürlich auch per wget abfragen. Dann allerdings ohne Passwort.

       

      Da du das ganze aber ja in einem Updatemechanismus verpacken möchtest, dürfte das ja kein Problem sein, da deine User die URL gar nicht zu sehen bekommen.

       

      Viele Grüße Alexander T.

      1

      Answer

      from

      7 years ago

      Hi Alexander T.,

      Suuuper, das ist die Lösung für die Linux Kommandozeile.
      Und es geht noch einfacher als auf dem von Dir genannten Link beschrieben:

       

      1) E-Mail mit Link Einladung öffnen
      2) RECHTSklick auf den Button "FreigabeÖffnen" und Link-Adresse kopieren (nach Clipboard)
      3) Linux Commandprompt holen und Eingabe:
      wget --tries=3 $(echo "https://www.magentacloud.de/lnk/ABcdDEfg" | sed s@lnk/@api/sharelink/download?id=@g)
      https... ist der mit MITTELKlick gepastete Link

       

      Der Trick: den Substring im ShareLink 'lnk/' ersetzen durch 'api/sharelink/download?id='
      Also: https://www.magentacloud.de/lnk/ABcdDEfg ändern in https://www.magentacloud.de/api/sharelink/download?id=ABcdDEfg

       

      Wenn man den Link mal in einer Variable gespeichert hat z.B. MyLink=https://www.magentacloud.de/lnk/ABcdDEfg
      kann man dann immer den gleichen wget Befehl nutzen und muß ggf. nur noch die Variable MyLink updaten:
      wget --tries=3 $(echo "$MyLink" | sed s@lnk/@api/sharelink/download?id=@g)

       

      Man könnte das sogar auf die Variable MyShare=ABcdDEfg reduzieren:
      wget --tries=3 https://www.magentacloud.de/api/sharelink/download?id=$MyShare

       

      Der Download landet dann in der current directory (pwd) unter dem Namen: download?id=ABcdDEfg
      Ein erneuter Aufruf des o.g. wget erzeugt dann eine "hochgezählte" Datei mit dem Namen: download?id=ABcdDEfg.1

       

      Der Link darf -wie von Dir bereits erwähnt- kein Passwort haben.

      Vielen Dank für diesen Super Tipp. Der ist mir mehr als nur einen Kudo wert.

      Unlogged in user

      Answer

      from

      Unlogged in user

      Ask

      from

      This could help you too

      Telekom Experte

      in  

      43752

      0

      1

      Solved

      in  

      36376

      10

      5

      in  

      203

      0

      2

      Solved

      3 years ago

      in  

      1022

      0

      2