Seiten

Sonntag, 4. März 2012

JDownloader alle AGBs bestätigen

Nachdem ich letztens erklärt habe, wie man das JDownloader Webinterface ohne eingeloggten Nutzer einrichtet, bin ich dadurch auf eine kleine Schwierigkeit getroffen. Wenn man per Webfrontend versucht von unterwegs Links hinzuzufügen, trifft man schnell auf das Problem, dass AGBs (noch) nicht bestätigt sind. Das ist natürlich ärgerlich, da die Bestätigung über das Webinterface nicht möglich ist.


Damit mir das nie wieder passiert, habe ich mir überlegt alle AGBs vorab schon einmal zu akzeptieren. Da mir aber das einzelne Anklicken aller Kästchen in der AGB-Ansicht des JD zu aufwändig ist, habe ich mal etwas recherchiert, ob man das irgendwie automatisieren kann. Durch ein bisschen Umschauen im JD-Ordner habe ich heraus gefunden, dass der JD eine HSQLDB-Datenbank benutzt und habe mal reingeschaut. Hier sind auch die Hoster und ihre Konfiguration abgelegt, leider aber als Object, was nicht wirklich lesbar ist:


So weit so gut, leider kann man hier nicht einfach einen Schalter umsetzen, damit alle AGBs bestätigt sind. Da aber HSQLDB eine Skript-Datei anlegt, kann man vielleicht hier etwas drehen, also habe ich mal reingeschaut in die Datei
C:\Program Files\JDownloader\config\database.script:


Auffällig war, dass die Config, die in die Datenbank geschrieben wird immer derselbe String ist, z.B.:


INSERT INTO CONFIG VALUES('youtube.com','aced0005737200116a6176612e7574696c2e486173684d61700507dac1c31660d103000246000a6c6f6164466163746f724900097468726573686f6c6478703f4000000000000c7708000000100000000078')


OK, dann den JDownloader gestartet, mal die Youtube-AGB bestätigt und mal sehen was sich in der Zeile ändert. Diese sieht dann so aus:



INSERT INTO CONFIG VALUES('youtube.com','aced0005737200116a6176612e7574696c2e486173684d61700507dac1c31660d103000246000a6c6f6164466163746f724900097468726573686f6c6478703f4000000000000c7708000000100000000974000a414c4c4f575f5745424d737200116a6176612e6c616e672e426f6f6c65616ecd207280d59cfaee0200015a000576616c756578700174000a5553455f504c5547494e71007e000474000c4953415346494c454e414d457371007e000300740009414c4c4f575f33475071007e000474000b4147425f434845434b454471007e0004740009414c4c4f575f464c5671007e000474000b464153545f434845434b3271007e0007740009414c4c4f575f4d503471007e0004740009414c4c4f575f4d503371007e000478')


Also den JDownloader wieder geschlossen und ein Backup der Script-Datei angelegt. Als Editor nutze ich Notepad++  (mit anderen funktioniert es bestimmt auch) und habe dann in der Datei per globalem Ersetzen den vorherigen String:


aced0005737200116a6176612e7574696c2e486173684d61700507dac1c31660d103000246000a6c6f6164466163746f724900097468726573686f6c6478703f4000000000000c7708000000100000000078



durch den neuen:


aced0005737200116a6176612e7574696c2e486173684d61700507dac1c31660d103000246000a6c6f6164466163746f724900097468726573686f6c6478703f4000000000000c7708000000100000000974000a414c4c4f575f5745424d737200116a6176612e6c616e672e426f6f6c65616ecd207280d59cfaee0200015a000576616c756578700174000a5553455f504c5547494e71007e000474000c4953415346494c454e414d457371007e000300740009414c4c4f575f33475071007e000474000b4147425f434845434b454471007e0004740009414c4c4f575f464c5671007e000474000b464153545f434845434b3271007e0007740009414c4c4f575f4d503471007e0004740009414c4c4f575f4d503371007e000478

ersetzt. 974 Ersetzungen später noch schnell die Datei gespeichert und den JD neu gestartet und siehe da, alle AGBs sind akzeptiert:


Das war ja einfach ;) Bisher hatte ich durch die Änderung keine Probleme, falls aber welche auftreten sollten, werde ich diese hier posten. Falls ihr die Anleitung nachvollziehen wollt, vollzieht die Änderungen genauso nach wie ich und legt ein Backup der Datei an. Die Anleitung bezieht sich auf den JD in Version 0.9.581, in anderen Versionen können die String durchaus etwas anders aussehen.

Kommentare:

  1. Mal eine Frage bitte also ich bin soweit gekommen blos mein problem ist ich hab jetzt auch den database.script:
    geöffnet inzwischen sind es schon 1161 zeilen.
    Meine frage ist nun muss ich dort alles raus nehmen und durch das neue erstzen also durch die zeiel -> " aced0005737200116a6176612e7574696c2e486173684d61700507dac1c31660d103000246000a6c6f6164466163746f724900097468726573686f6c6478703f4000000000000c7708000000100000000974000a414c4c4f575f5745424d737200116a6176612e6c616e672e426f6f6c65616ecd207280d59cfaee0200015a000576616c756578700174000a5553455f504c5547494e71007e000474000c4953415346494c454e414d457371007e000300740009414c4c4f575f33475071007e000474000b4147425f434845434b454471007e0004740009414c4c4f575f464c5671007e000474000b464153545f434845434b3271007e0007740009414c4c4f575f4d503471007e0004740009414c4c4f575f4d503371007e000478 " ???

    AntwortenLöschen
  2. Hallo,

    leider verstehe ich deine Frage nicht ganz, aber du musst nur den vorherigen String ersetzen und nicht die ganze Zeile. Wenn also vorher eine Zeile so aussieht (gekürzt):
    INSERT INTO CONFIG VALUES('youtube.com','aced....')

    sieht sie danach so aus:
    INSERT INTO CONFIG VALUES('youtube.com','6c6f6...')

    Es ändert sich also nur die letzte Zeichenfolge innerhalb der Klammer.

    Grüße,
    Danny

    AntwortenLöschen