Synology Download Station Adapter

Erebus

Benutzer
Mitglied seit
10. Okt 2012
Beiträge
352
Punkte für Reaktionen
1
Punkte
18
Hallo Erebus,

um deinem Problem nachgehen zu können brauche ich mehr Informationen.
Ich nehme an, dass der Fehler auftritt, wenn du auf Open Download Station klickst?
Hast du einen Alias für die DownloadStation auf deiner DS definiert? Welches OS nutzt du?
Und ich bräuchte mehr Inhalt der Debug Datei...

Gruß
TheDuffman85

Hallo TheDuffman85

Fehler tritt auf wenn ich eine *.torrent datei doppelklicke.

Die 1.1.0.2 schreibt leider nicht mehr viel ins log:
[0103/192926:INFO:(0)] WebCore is now online.
[0103/192926:INFO:(0)] Running Awesomium 1.7.5.0
[0103/193239:INFO:(0)] WebCore is now online.
[0103/193239:INFO:(0)] Running Awesomium 1.7.5.0

Bei der vorherigen war wenigstens noch der pipe error mit drinnen.

System.
Windows 8.1 mit allen Updates.
Alias ist als Download definiert.
"Open Download Station" funktioniert. Daher denke ich das es nicht an den einstellungen liegt.

Settings:
Adress: 192.168.20.1:5001
Application URL https://192.168.20.1:5001/download/index.cgi

Als Alias ist download definiert. (klein grosschreibung beachtet)
 

TheDuffman85

Benutzer
Mitglied seit
19. Nov 2014
Beiträge
83
Punkte für Reaktionen
1
Punkte
0
Hallo TheDuffman85

Fehler tritt auf wenn ich eine *.torrent datei doppelklicke.

Die 1.1.0.2 schreibt leider nicht mehr viel ins log:
[0103/192926:INFO:(0)] WebCore is now online.
[0103/192926:INFO:(0)] Running Awesomium 1.7.5.0
[0103/193239:INFO:(0)] WebCore is now online.
[0103/193239:INFO:(0)] Running Awesomium 1.7.5.0

Bei der vorherigen war wenigstens noch der pipe error mit drinnen.

System.
Windows 8.1 mit allen Updates.
Alias ist als Download definiert.
"Open Download Station" funktioniert. Daher denke ich das es nicht an den einstellungen liegt.

Settings:
Adress: 192.168.20.1:5001
Application URL https://192.168.20.1:5001/download/index.cgi

Als Alias ist download definiert. (klein grosschreibung beachtet)

Hallo Erebus,

*.torrent Dateien werden nicht unterstützt und eine Unterstützung ist auch erst einmal nicht geplant.
Die debug.log Datei gehört zu Awesomium, welches ausschließlich verwendet wird, um die Weboberfläche der Download Station anzuzeigen.

Gruß
TheDuffman85
 
Zuletzt bearbeitet:

TheDuffman85

Benutzer
Mitglied seit
19. Nov 2014
Beiträge
83
Punkte für Reaktionen
1
Punkte
0
Hallo zusammen,

es gibt wieder eine neue Version vom Synology Download Station Adapter.

Changelog
  • Added a check for supported file types
  • Fixed a bug which caused the SelectHoster window to show even when there was only one hoster available

Synology Download Station Adapter 1.1.0.3
Download: https://github.com/TheDuffman85/SynologyDownloadStationAdapter/releases/download/1.1.0.3/Synology.Download.Station.Adapter.1.1.0.3.zip
Source Code: https://github.com/TheDuffman85/SynologyDownloadStationAdapter
 

wMAN

Benutzer
Mitglied seit
04. Aug 2014
Beiträge
17
Punkte für Reaktionen
0
Punkte
0
Ich benutze Bitdefender Total Security 2015.
Dieser schlägt leider an, ist etwas nervig, kann man die Datei bei denen evtl melden?

Ansonsten super Programm, hab bisher den jdadapter, aber dein Programm ist doch deutlich umfangreicher und komfortabler.
Falls es die API zulässt, wäre eine kleine Statusanzeige, wie weiter der Download ist noch sehr nett.
Vielen Dank für deine Arbeit!
 

Matthieu

Benutzer
Mitglied seit
03. Nov 2008
Beiträge
13.222
Punkte für Reaktionen
88
Punkte
344

TheDuffman85

Benutzer
Mitglied seit
19. Nov 2014
Beiträge
83
Punkte für Reaktionen
1
Punkte
0
Ich benutze Bitdefender Total Security 2015.
Dieser schlägt leider an, ist etwas nervig, kann man die Datei bei denen evtl melden?

Ansonsten super Programm, hab bisher den jdadapter, aber dein Programm ist doch deutlich umfangreicher und komfortabler.
Falls es die API zulässt, wäre eine kleine Statusanzeige, wie weiter der Download ist noch sehr nett.
Vielen Dank für deine Arbeit!

Hallo wMAN,

was meldet der Bitdefender denn? Ich nutze AVG AntiVirus Free Edition 2015 und bekomme keine Sicherheitsmeldung.
Ich vermute, dass beim Bitdefender die Heuristik anschlägt, weil das Tool für bestimmte Dinge (Autostart, Verknüpfung mit Dateitypen und HttpListener) erhöhte Rechte anfordert.
Das einfachste dürfte sein, wenn du bei dir Lokal eine Ausnahme hinzufügst. Man kann bei Bitdefender aber sicherlich auch Fehlalarme melden...

Wenn du für deine Download Station ein Alias anlegst, kannst du diese auch über den Synology Download Station Adapter direkt im Fenster öffnen.
Das Download Station Fenster kannst du öffnen in dem du Doppelklick auf das Tray Icon machst oder auf den entsprechenden Menüpunkt im Kontextmenü klickst.

c3b2fb78-78e8-11e4-91a3-098bba3e1498.jpg

Von dort aus hast du vollen Zugriff auf die Download Station.

EDIT:
Ich habe das Archiv auf virustotal.com scannen lassen. Erkennungsrate: 0 / 56. Auch BitDefender bringt ein negatives Ergebnis.
Hast du vielleicht iregendwelche Sicherheitseinstellungen in deinem Virenscanner hochgeschraubt? Insbesondere die Heuristik?

Gruß
TheDuffman85
 
Zuletzt bearbeitet:

wMAN

Benutzer
Mitglied seit
04. Aug 2014
Beiträge
17
Punkte für Reaktionen
0
Punkte
0
Sorry für die späte Antwort ;)
Also ich hatte es gelöst, indem ich den Ordner zu den Ausnahmen hinzugefügt habe (wie ich sehe, hast du ja das gleiche vorgeschlagen).
Bitdefender meldet mir:
"Potenziell gefährliche Anwendung gefunden"
"Die Anwendung ...\Download Station Adapter.exe wurde als schädlich erkannt
Active Virus Control hat diesen Prozess aufgrund der folgenden Aktion blockiert:
- Das Verhalten dieser Anwendung könnte ihrem Computer schaden."

Sagt also leider nicht sehr viel aus, vermute aber auch, dass es an der Heuristik liegt.

Das mit dem Alias wusste ich nicht, hab ich jetzt konfiguriert, ist nen super Feature :)
Danke!
 

TimTaylor

Benutzer
Mitglied seit
01. Mai 2014
Beiträge
80
Punkte für Reaktionen
0
Punkte
12

TheDuffman85

Benutzer
Mitglied seit
19. Nov 2014
Beiträge
83
Punkte für Reaktionen
1
Punkte
0
@TimTaylor Mit der API und der Dokumentation habe ich auch Schwierigkeiten. Ich hab es nicht hinbekommen, dass die Download Station hochgeladen Dateien auch wirklich läd.
Die API meldet success, aber passieren tut nichts... Habe letztendlich einen etwas unschönen Workaround bauen müssen.
 
Zuletzt bearbeitet:

TheDuffman85

Benutzer
Mitglied seit
19. Nov 2014
Beiträge
83
Punkte für Reaktionen
1
Punkte
0
Hallo zusammen,

es gibt wieder eine neue Version vom Synology Download Station Adapter.

Changelog
  • Added support for .torrent and .nzb files (currently only works via LAN)
  • Improved the Download Station window
  • Multiple will be added in one single request
  • A few minor bug fixes

Synology Download Station Adapter 1.2.0.0
Download: https://github.com/TheDuffman85/SynologyDownloadStationAdapter/releases/download/1.2.0.0/Synology.Download.Station.Adapter.1.2.0.0.zip
Source Code: https://github.com/TheDuffman85/SynologyDownloadStationAdapter
 

TheDuffman85

Benutzer
Mitglied seit
19. Nov 2014
Beiträge
83
Punkte für Reaktionen
1
Punkte
0
Ja, hier und da macht sie komische Sachen, ich schlage mich aber eher mit CnL rum :(

Guck dir einfach mal meinen Code an. Dürfte relativ einfach sein, den von C# nach Objective-C zu portieren...

Rich (BBCode):
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Text.RegularExpressions;

namespace TheDuffman85.ContainerDecrypter
{
    /// <summary>
    /// Decrypts Click'N'Load content
    /// </summary>
    /// <remarks>
    /// Based on code created by bennyborn
    /// https://github.com/bennyborn/ClickNLoadDecrypt/
    /// </remarks>
    public class ClickNLoadDecrypter : DecrypterBase
    {
        private string _content;

        /// <summary>
        /// ClickNLoadDecrypter constructor
        /// </summary>
        /// <param name="content">Click'N'Load content</param>
        public ClickNLoadDecrypter(string content)
        {
            this._content = content;
        }

        protected override string LoadContent()
        {
            return this._content;
        } 
                
        protected override void Decrypt(string content, out string[] links, out string password)
        {
            links = null;
            password = null;
            
            // get encrypted data
            Regex rgxData = new Regex("crypted=(.*?)(&|$)");
            String data = rgxData.Match(content).Groups[1].ToString();

            // get encrypted pass
            Regex rgxKey = new Regex("jk=(.*?){(.*?)}(&|$)");
            String key = rgxKey.Match(content).Groups[2].ToString();

            // get archive password
            Regex rgxPass = new Regex("passwords=(.*?)(&|$)");
            password = rgxPass.Match(content).Groups[1].ToString();

            var jsEngine = new Jurassic.ScriptEngine();
            key = jsEngine.Evaluate("(function (){" + key + "})()").ToString();
                                   
            // decode key
            key = key.ToUpper();
            String decKey = "";
            for (int i = 0; i < key.Length; i += 2)
            {
                decKey += (char)Convert.ToUInt16(key.Substring(i, 2), 16);
            }

            // decode data
            byte[] dataByte = Convert.FromBase64String(data);

            // decrypt that shit!
            RijndaelManaged rDel = new RijndaelManaged();
            System.Text.ASCIIEncoding aEc = new System.Text.ASCIIEncoding();
            rDel.Key = aEc.GetBytes(decKey);
            rDel.IV = aEc.GetBytes(decKey);
            rDel.Mode = CipherMode.CBC;
            rDel.Padding = PaddingMode.None;
            ICryptoTransform cTransform = rDel.CreateDecryptor();
            byte[] resultArray = cTransform.TransformFinalBlock(dataByte, 0, dataByte.Length);
            String rawLinks = aEc.GetString(resultArray);

            // replace empty paddings
            Regex rgx = new Regex("\u0000+$");
            String cleanLinks = rgx.Replace(rawLinks, "");

            // replace newlines
            rgx = new Regex("\n+");
            cleanLinks = rgx.Replace(cleanLinks, "\r\n");
            links = cleanLinks.Split("\r\n".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
        }
    }
}
Quelle: https://github.com/TheDuffman85/SynologyDownloadStationAdapter/blob/master/ContainerDecrypter/ClickNLoadDecrypter.cs

EDIT:
Die ContainerDecrypter Assembly hat keinerlei Betriebsystem Abhängigkeiten theoretisch solltest du die sogar mit Mono auf OSX zum laufen bekommen.
 
Zuletzt bearbeitet:

TimTaylor

Benutzer
Mitglied seit
01. Mai 2014
Beiträge
80
Punkte für Reaktionen
0
Punkte
12
Guck dir einfach mal meinen Code an. Dürfte relativ einfach sein, den von C# nach Objective-C zu portieren...

Danke für die Antwort :) Also ich arbeite gar nicht mit Xcode sondern mit Xojo. Xcode ist eine furchtbare IDE, vor allem wenn man von VisualStudio kommt ;)

Ich habe mehrere Probleme mit CnL2, das Ding ist dermaßen schlecht dokumentiert :(

Warum verhalten sich die Seiten unterschiedlich? Dokumentiert ist "GET /jdcheck.js HTTP/1.1" und als Antwort gebe ich "jdownloader=true; var version='18507';" das funktioniert auf der Doku seit und Jdownloader wird als Online angezeigt. Die nächste Seite kommt dann mit "GET /crossdomain.xml HTTP/1.1" und man hat keine Ahnung was die als Antwort erwartet...

Bei manchen ist auch das Passwords= leer
 

TheDuffman85

Benutzer
Mitglied seit
19. Nov 2014
Beiträge
83
Punkte für Reaktionen
1
Punkte
0
Danke für die Antwort :) Also ich arbeite gar nicht mit Xcode sondern mit Xojo. Xcode ist eine furchtbare IDE, vor allem wenn man von VisualStudio kommt ;)

Ich habe mehrere Probleme mit CnL2, das Ding ist dermaßen schlecht dokumentiert :(

Warum verhalten sich die Seiten unterschiedlich? Dokumentiert ist "GET /jdcheck.js HTTP/1.1" und als Antwort gebe ich "jdownloader=true; var version='18507';" das funktioniert auf der Doku seit und Jdownloader wird als Online angezeigt. Die nächste Seite kommt dann mit "GET /crossdomain.xml HTTP/1.1" und man hat keine Ahnung was die als Antwort erwartet...

Bei manchen ist auch das Passwords= leer

Ich hab mich an dieser Implementierung orientiert:
https://github.com/bennyborn/ClickNLoadDecrypt/tree/master/ClickNLoadDecrypt
 

Slifer

Benutzer
Mitglied seit
03. Jan 2015
Beiträge
4
Punkte für Reaktionen
0
Punkte
0
Großes Lob an dich, TheDuffman85! Klasse Projekt! Wärst du mir nicht zuvorgekommen, hätte ich wohl sowas auch in der Richtung selbst geschrieben. :D

Eine Fräge hätte ich da aber doch noch: Warum ist die Sprache bei dem Downloadstation Window auf English?
 

TheDuffman85

Benutzer
Mitglied seit
19. Nov 2014
Beiträge
83
Punkte für Reaktionen
1
Punkte
0
Großes Lob an dich, TheDuffman85! Klasse Projekt! Wärst du mir nicht zuvorgekommen, hätte ich wohl sowas auch in der Richtung selbst geschrieben. :D

Eine Fräge hätte ich da aber doch noch: Warum ist die Sprache bei dem Downloadstation Window auf English?

Ist mir noch gar nicht aufgefallen, habs gefixt ;). Die Sprache der Download Station ist jetzt abhängig von der jeweiligen Systemsprache...


Changelog
  • Display Download Station in current language

Synology Download Station Adapter 1.2.0.2
Download: https://github.com/TheDuffman85/Syn...Synology.Download.Station.Adapter.1.2.0.2.zip
Source Code: https://github.com/TheDuffman85/SynologyDownloadStationAdapter
 

TimTaylor

Benutzer
Mitglied seit
01. Mai 2014
Beiträge
80
Punkte für Reaktionen
0
Punkte
12
Zuletzt bearbeitet:

TheDuffman85

Benutzer
Mitglied seit
19. Nov 2014
Beiträge
83
Punkte für Reaktionen
1
Punkte
0
Edit: also ich werde wohl Probleme mit dem Java Kram bekommen, mir ist noch unklar was die Jurassic Script Engine ist, scheinbar eine Art Java Wrapper.

Jurassic ist eine Javascript Engine. ClickNLoad liefert das Passwort als JavaScript Funktion zurück, die man evaluieren muss.
 

TheDuffman85

Benutzer
Mitglied seit
19. Nov 2014
Beiträge
83
Punkte für Reaktionen
1
Punkte
0
Du musst vorher ein Url Decode durchführen.

Code:
passwords=autopostpw&jk=function f(){a=n ew Array('3236','3633','3431'% 2C'3239','3031','3531','3432%2 7,'3833');var n='';for(var%2 0i=0;i<=7;i++)n=n+a[i].s plit('').reverse().join(''%2 9.split('').reverse().join(' ');return n;}&crypted=blabla
 


 

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