SynoGet - Download via Kommandozeile hinzufügen

Status
Für weitere Antworten geschlossen.

BjoernWeber

Benutzer
Mitglied seit
28. Sep 2008
Beiträge
22
Punkte für Reaktionen
0
Punkte
0
Hallo!

Seit ich meine Downloadstation hab, hab ich mir gewünscht, Downloads per Kommandozeile an den DownloadRedirector übergeben zu können, um ihn in FlashGot (Firefox Extension) integrieren zu können. Leider unterstützt der DownloadRedirector bis zur aktuellen Version (2.0-0722) nicht das Hinzufügen von Downloads per Kommandozeile.

Also hab ich mir ein eigenes Tool, SynoGet, gebaut, das Downloads per Kommandozeile der Download Station hinzufügen kann. Vielleicht kann noch jemand von Euch sowas brauchen:

http://www.bjoernweber.net/SynoGet/SynoGet-0.1.zip

Ich denke, es wird nur mit der aktuellen Firmware (2.0-0722) funktionieren, denn es benutzt die JSONHttpRequests, die Synology (soweit ich weiß) erst mit dieser Version eingeführt hat.

Wenn man das Tool ohne Kommandozeilenparameter startet, gibt es eine kurze Anleitung aus, wie es zu benutzen ist. Es ist gebaut für Win32 und braucht .NET 2.0.
Wenn das Hinzufügen eines Downloads erfolgreich war, erscheint er in der Liste des DownloadRedirectors, andernfalls schreibt SynoGet eine Error-Datei 'SynoGetErrors.txt'.
Das gespeicherte Passwort (wenn man denn eins speichern will) ist base64 kodiert. Ich weiß, das ist keine Verschlüsslung aber ich denke, das ist besser, als es im Plaintext zu speichern. Wenn man sein Passwort base64 kodieren will kann man z.B. sowas benutzen: http://www.webutils.pl/Base64. Man kann aber natürlich auch un-'verschlüsselte' Passworte benutzen.

Viel Spaß damit und viele Grüße
Björn :)
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
@BjoernWeber,

kann man sich das Programm auch als Source ansehen? Möchte ungern etwas auf meinen PC laden, wo ich nicht weiß, was drin ist. ;)

itari
 

earthvirus

Benutzer
Mitglied seit
14. Aug 2008
Beiträge
9
Punkte für Reaktionen
0
Punkte
0
hat das prog nochmal jemand getestet und kann seine eindrücke mal schildern???
 

TobiasM

Benutzer
Mitglied seit
07. Aug 2008
Beiträge
354
Punkte für Reaktionen
0
Punkte
0
Ich hoffe, das ist nicht dein echtes Password in der app.conf.
(Erscheint mir auch zu einfach, aber wer weiß...)
 

BjoernWeber

Benutzer
Mitglied seit
28. Sep 2008
Beiträge
22
Punkte für Reaktionen
0
Punkte
0
Nein, das ist natürlich nicht mein echtes Passwort.
Aber danke für den Hinweis! :D
 

proto

Benutzer
Mitglied seit
06. Okt 2008
Beiträge
38
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich bekomme die Fehlermeldung :
Der Remoteserver hat einen Fehler zurückgegeben: (403) Unzulässig

Ich habe in der SynoGet.exe.config meine Serverdaten eingefügt.

Folgendes gebe ich im CMD ein

SynoGet.exe http://rapidshare.com/files/123456789/Datei.part1.rar /ds_ip:192.168.XX.XX /ds_username:xxxxx /ds_password:yyyyy

jedoch bekomme ich die o.g. Fehlermeldung.

Um RS Files zu saugen, habe ich die wget in der DS106 nach Anleitung geändert.
Das funktioniert auch wunderbar.

Eine Verständnisfrage:
Wird der Link direkt an die DS gesendet oder muß ich den Download Redirector einschalten?
(eigentlich müsste es ja direkt an die DS gehen, da IP/USER/PW angegeben werden)

Vielen Dank
 

BjoernWeber

Benutzer
Mitglied seit
28. Sep 2008
Beiträge
22
Punkte für Reaktionen
0
Punkte
0
@proto:

Also zunächst mal, wenn Du Deine Daten in der SynoGet.exe.config angibst, musst Du sie nicht mehr per Kommandozeile übergeben. Dazu musst Du natürlich in den Zeilen, die benutzt werden sollen, die Kommentarzeichen entfernen, also am Anfang das "<!--" und am Ende das "-->".

Nun zu Deiner Fehlermeldung: Ich konnte das hier bei mir leider nicht nachstellen, aber ich denke, dass es daran liegt, dass Du bei Deiner Diskstation nicht standardmäßig die HTTPS-Verbindung aktiviert hast und so als Protokoll (ds_protocol) noch "http" und als Port (ds_port) "5000" angeben musst.

Das was Du da angibst, muss mit der Adresse, über die Du den Diskstation-Manager benutzt, übereinstimmen. Ich habe als Standard eben das genommen, was bei mir eingestellt ist:

Rich (BBCode):
https://XXX.XXX.XXX.XXX:5001

Wenn das nicht mit der Adresse Deines DS-Managers übereinstimmt, musst Du es SynoGet sagen.

SynoGet geht natürlich auch ohne laufenden DownloadRedirector. Das was es macht, ist eigentlich ganz einfach:
Im Wesentlichen werden zwei HTTP-Posts gesendet, und zwar an die folgende Adresse:

Rich (BBCode):
https://XXX.XXX.XXX.XXX:5001/download/download_redirector.cgi

(Das ist auch die, die ich dann über die verschiedenen Kommandozeilenschalter, bzw. SynoGet.exe.config-Einstellungen zusammenbaue.)

Zunächst wird ein Post mit den Login-Daten geschickt, woraufhin die Diskstation mit einem OK und einem Token in einem JSON-Response antwortet.
Mit diesem Token kann man dann in einem zweiten Post die URL, die heruntergeladen werden soll in die Queue schicken (dazu muss die URL allerdings erst URL-encoded werden).
Das wars schon.

Wenn Du also entweder die SynoGet.exe.config anpasst, oder noch die anderen Kommandozeilenschalter für Protokoll und Port benutzt, sollte alles so gehen, wie es soll.

Viele Grüße
Björn

P.S. Natürlich muss auch die Firmware neuer oder gleich DSM2.0-0722 sein!!!
 
Zuletzt bearbeitet:

proto

Benutzer
Mitglied seit
06. Okt 2008
Beiträge
38
Punkte für Reaktionen
0
Punkte
0
Hallo ,

Danke für die Unterstützung!

Also bei mir ist auch Https und Internetverwaltung automatisch zu einem sicheren Kanal umleiten eingeschaltet.

Die Seite kann ich unter https://192.168.xx.xx:5001 aufrufen,
wenn ich jedoch https://192.168.xx.xx:5001/download eingebe um zu probieren ob die Seite erscheint werde ich automatisch auf die Anmeldeseite
https://192.168.xx.xx:5001/index.cgi weitergeleitet.

Die Firmware ist DSM2.0-0722.

Habe auch die config so geändert wie du es geschrieben hast

Ich habe einen neuen User angelegt mit Benutzername und Passwort, also nicht mit admin.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="ds_protocol" value="https" />
<add key="ds_ip" value="192.168.2.20" />
<add key="ds_port" value="5001" />
<add key="ds_path" value="download/download_redirector.cgi" />
<add key="ds_username" value="xxx" />
<add key="ds_password" value="yyy" />
</appSettings>
</configuration>

Ich bekomme trotzdem noch die gleiche Fehlermeldung.

Das CMD fenster mache ich doch unter Start Ausführen und dann cmd eingeben und dann in das Verzeichniss wechseln wo Synoget abgelegt ist und dann einfach nur noch z.B.

SynoGet.exe http://www.bjoernweber.net/SynoGet/SynoGet-0.1.zip

eingeben und Enter?

Was mache ich hier falsch?

Vielen Dank
 

BjoernWeber

Benutzer
Mitglied seit
28. Sep 2008
Beiträge
22
Punkte für Reaktionen
0
Punkte
0
@proto

Seltsam, eigentlich machst Du alles richtig. :confused:

Ich habe auf verschiedenste Weise versucht, Deinen Fehler nachzustellen, aber was ich auch tue, ich bekomme keinen HTTP-403 Fehler. Mir ist auch nicht ganz klar, wie es überhaupt zu einem 403 Fehler kommen kann (näheres dazu z.B. unter http://en.wikipedia.org/wiki/HTTP_403).

OK, also vielleicht versuchen wir mal, das nachzuspielen, was SynoGet macht, vielleicht finden wir so eine Lösung:

Gib mal in Deinem Browser folgendes ein:

Rich (BBCode):
https://192.168.2.20:5001/download/download_redirector.cgi?action=login&username=xxx&passwd=yyy

Statt xxx setzt Du natürlich Deinen Benutzernamen ein und statt yyy Dein Passwort (im Klartext, also genauso, wie Du es beim Einloggen eintippst).
Daraufhin sollte Dein Browser mit sowas anworten:

Rich (BBCode):
{
   "id" : "FDvR157dyx1NM",
   "login_success" : true,
   "success" : true
}

Die "id" ist das Token, mit dem man nun einen Download queuen kann, diese solltest Du Dir also erstmal merken.
Dann gibts Du in Deinem Browser folgendes ein:

Rich (BBCode):
https://192.168.2.20:5001/download/download_redirector.cgi?id=FDvR157dyx1NM&action=addurl&username=xxx&url=http%3A%2F%2Fwww.bjoernweber.net%2FSynoGet%2FSynoGet-0.1.zip

Wobei nun natürlich das zwischen "id=" und dem nächsten "&" Dein eben generiertes Token ist und xxx wieder Dein Benutzername.
Im Idealfall sollte Dein Browser mit sowas antworten:

Rich (BBCode):
{
   "success" : true
}

Und dann sollte der Download in der Queue sein.

Wenn das allerdings alles klappt, dann weiß ich auch nicht, warum SynoGet bei Dir nicht geht, denn das ist genau das, was SynoGet macht.
Wenn da an irgendeiner Stelle was anderes passiert, können wir den Fehler vielleicht eingrenzen.

Viele Grüße
Björn

P.S. Interessant wäre auch nochmal ein
Rich (BBCode):
https://192.168.2.20:5001/download/download_redirector.cgi?action=getconf

und ein

Rich (BBCode):
https://192.168.2.20:5001/download/download_redirector.cgi?id=FDvR157dyx1NM&action=shareget&username=xxx
 
Zuletzt bearbeitet:

proto

Benutzer
Mitglied seit
06. Okt 2008
Beiträge
38
Punkte für Reaktionen
0
Punkte
0
Hallo,
das ist unglaulich ich habe so wie du geschrieben hast die ID bekommen
und die URL direkt in den Browser eingegeben. Der Download hat auch funktioniert!

Jedoch funktioniert es mit dem Synoget nicht.

Ich habe auch schon im CMD alles von Hand eingetippt (ohne Copy&Paste)
hat auch nichts gebracht


Folgende Antworten bekomme ich wenn ich die URL eingebe:

Rich (BBCode):
https://192.168.2.20:5001/download/download_redirector.cgi?action=getconf

Rich (BBCode):
{
   "dl_enable" : 1,
   "dl_order" : 0,
   "dl_time" : "00:00-00:00",
   "seeding_int" : 0,
   "seeding_ratio" : 0,
   "success" : true
}

Rich (BBCode):
https://192.168.2.20:5001/download/download_redirector.cgi?id=FDvR157dyx1NM&action=shareget&username=xxx

Rich (BBCode):
{
   "share_folder" : "video",
   "success" : true,
   "user_disabled" : false
}

natürlich habe ich die ID und Benutzername richtig eingegeben.

Die ID gebe ich hier mal nicht an(soweit ich das verstanden habe ist es sowas wie das Passwort)

Vielleicht etwas zu meinem PC:

Standardbrowser ist Firefox;
Windows stellt auch nicht die Frage, wenn ich z.B. mit IE mal ins Netz gehe, ob das nun der neue Standardbrowser sein soll
habe das damals in der Installation schon abgeschaltet.

Ich habe 2 Netzwerkkarten (wobei die eine Deaktiviert ist)

ein Netgear FWG114P sollte eigentlich richtig eingestellt sein

Vielen Dank für die Mühen
 
Zuletzt bearbeitet:

proto

Benutzer
Mitglied seit
06. Okt 2008
Beiträge
38
Punkte für Reaktionen
0
Punkte
0
Hallo,

habe Syno nochmal von deinem Link im ersten Beitrag heruntergeladen und neu entpackt. Nun bekomme ich eine Windows Fehlermeldung :

SynoGet hat ein Problem festgestellt und muss beendet werden.

Habe dann mal mit Debug weitergemacht sh. Bilder


Danke
 

Anhänge

  • 1.jpg
    1.jpg
    104,8 KB · Aufrufe: 106
  • 2.jpg
    2.jpg
    62,6 KB · Aufrufe: 104
  • 3.jpg
    3.jpg
    40 KB · Aufrufe: 105

BjoernWeber

Benutzer
Mitglied seit
28. Sep 2008
Beiträge
22
Punkte für Reaktionen
0
Punkte
0
@proto

Uff... das wird ja immer absurder... :confused:

So langsam glaube ich, da stimmt was nicht mit Deinem .NET-Framework. Welches hast Du denn installiert? 1.1, 2.0, 3.0, 3.5? Alle? -> Start -> Systemsteuerung -> Software

Viele Grüße
Björn
 

proto

Benutzer
Mitglied seit
06. Okt 2008
Beiträge
38
Punkte für Reaktionen
0
Punkte
0
Hi,
ja einige :D
 

Anhänge

  • 4.jpg
    4.jpg
    143,9 KB · Aufrufe: 106

proto

Benutzer
Mitglied seit
06. Okt 2008
Beiträge
38
Punkte für Reaktionen
0
Punkte
0
Hashes habe ich überprüft passt soweit
 

BjoernWeber

Benutzer
Mitglied seit
28. Sep 2008
Beiträge
22
Punkte für Reaktionen
0
Punkte
0
@proto

Hmmm..... jetzt hab ich erstmal keine Idee mehr, sorry. Ich werd nochmal drüber nachdenken, vielleicht fällt mir noch was ein...

Das einzige was mir auffällt: In dem Screenshot von Deinen installierten .Net-Frameworks ist ein seltsames Icon beim .Net-Framwork 2.0 - Lang. Pack (welches SynoGet benutzt). Ist das original von Microsoft? Hab das Icon da (und auch sonstwo) noch nie gesehen...
 

BjoernWeber

Benutzer
Mitglied seit
28. Sep 2008
Beiträge
22
Punkte für Reaktionen
0
Punkte
0
Hat vielleicht noch irgendjemand mal mein SynoGet ausprobiert und ähnliche Probleme wie proto?
Oder läuft SynoGet sonst bei allen, die es mal ausprobiert haben?

Für eine Rückmeldung diesbezüglich wäre ich dankbar! :)
 

proto

Benutzer
Mitglied seit
06. Okt 2008
Beiträge
38
Punkte für Reaktionen
0
Punkte
0
das ist von Call of Duty 4.

Ich deinstalliere .Net-Framwork 2.0 mit Sp und installiere mal neu.
Das SP muß ich auch installieren oder?

Danke
 

BjoernWeber

Benutzer
Mitglied seit
28. Sep 2008
Beiträge
22
Punkte für Reaktionen
0
Punkte
0
@proto

Ja, installier mal .Net 2.0 und das SP neu. Vielleicht hilts ja...!
Ich drück die Daumen! ;)
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat