Heute habe ich mega.co.nz überprüft und bin gespannt auf einige Funktionen. Auf der Download-Seite werden beispielsweise Dateien im Browser heruntergeladen und anschließend mit Javascript entschlüsselt.
Unter diesem Link können Sie beispielsweise eine PNG-Datei herunterladen:
https://mega.co.nz/#!7JRgFJzJ!efpJGWuPhYczLexY19ex82nuwfs4sR_DG4JXddeClH4
Über diesen Link wird der Download im Browser gestartet. Ich habe die Registerkarte Netzwerk im Inspect-Element überprüft. Es werden Teile der Datei mit AJAX heruntergeladen, nachdem alle Teile der Datei abgeschlossen wurden. Alle werden automatisch in einer Datei auf dem Computer gespeichert.
Ich möchte wissen, was sie tun? Können Sie eine Ressource zum Herunterladen von Dateien in einem solchen Browser erklären oder auf diese verlinken?
kann es auch nur mit javascript machen oder sollte man einige flash plugins oder ähnliches verwenden?
quelle
Antworten:
Mega verwendet dazu verschiedene Methoden: (Stand: 27. November 2013)
(Quelle: https://eu.static.mega.co.nz/js/download_6.js )
quelle
Eine grundlegende Implementierung des mehrteiligen Downloaders im Browser mithilfe von Blob- und URL-APIs wird hier vorgestellt . Es lädt eine Datei bei 4 gleichzeitigen Anforderungen herunter und zeigt auch den Fortschritt an. Bitte beachten Sie, dass das Festlegen des
range
Headers bei XHR-Anforderungen im Allgemeinen keine gute Idee ist. Schauen Sie sich dieses Thema an .Beim Herunterladen:
Nach dem Download:
Ein weiteres interessantes Thema wäre die Implementierung der Pause / Resume-Funktionalität von Mega. Die XHR-API aktueller Browser bietet diese Funktion nicht. Die einzige Möglichkeit besteht darin, mehrere kleine Chunks herunterzuladen und den heruntergeladenen Teil Ihrer kleinen Chunks aufzugeben, wie es anscheinend auch bei Mega der Fall ist. Aber die
fetch
Streaming-Funktion kann für diesen Zweck verwendet werden. Ich habe das noch nicht gut genug untersucht, aber es ist hier dokumentiert .Übrigens, schauen Sie sich diese großartigen Projekte an:
quelle
MEGAcmd
Es gibt Megacmd , die offizielle Befehlszeilenschnittstelle. Sie können es auch aus Quellen auf Github unter https://github.com/meganz/MEGAcmd erstellen
megacmd
ist ein Wrapper um Mega SDK. Wenn Sie es selbst kompilieren möchten, benötigen Sie dieselben Abhängigkeiten (auf Ubuntu) wie die unten aufgeführten für Mega SDK.Einzelheiten zur Verwendung finden Sie im MEGAcmd-Benutzerhandbuch .
Mega SDK
Mega SDK, das durch Befolgen der Schritte auf der Github- Seite kompiliert werden kann . Es enthält das
megacli
Dienstprogramm, eine interaktive Shell zum Synchronisieren und Herunterladen / Hochladen.mega.py Python-Modul (veraltet)
Für diejenigen, die diese Frage auf der Suche nach einem tatsächlichen Rezept zum Herunterladen eines Links im Textmodus gefunden haben, gibt es hier ein einfaches Python-Skript, das das Modul mega.py verwendet (installieren mit
sudo pip install mega.py
):Das Skript arbeitet mit Python 2.7 und verwendet die URL des Links mega.nz.
megatools
Auf den meisten Linux / Posix-Boxen können Sie Megatools aus Standard-Repositorys installieren , d. H.
Auf Ubuntu / Debian:
Unter MacOS:
Nach der Installation finden Sie eine Reihe von Befehlszeilenprogrammen, unter denen Sie
megadl
sowohl freigegebene Dateien als auch Ihre eigenen Dateien herunterladen können. Siehemegadl -h
für Details.quelle