...wer also interesse hat mitzuwirken, der kann sich hier beim JD-Team melden oder selbst mal schauen ob so etwas zu ermöglichen wäre.
**External links are only visible to Support Staff**
github.com/jdstream/jd2stream
zur JD Soruce:
Hier gehts zur JD Soruce zum kennenlernen und coden:
http://beta.jdownloader.org/developmentquicktutorial
JD Script Infos:
Script Editor: JD>Erweiterungsmodule>Ereignismanager>Hinzufügen
Hilfe zum erstellen der Scripts findet ihr wenn ihr auf "Bearbeiten" eines Scriptes Klickt und auf den Button "Hilfe zeigen/verstecken" des Editors wählt.
Desweiteren stehen das Forum und der JD-Entwickler-Live-Chat zur verfügung.
Script-API-Hilfe:
Code:
/* =============== Global API =============== */ /* ========= Methods =========*/ alert(myObject[]);/*Show a Message Box*/ /* Example: */alert(JD_HOME); var myObject = callAPI(myString, myString, myObject[]);/*Call the MyJDownloader API*/ /* Example: */callAPI("downloadsV2", "queryLinks", { "name": true}) callAsync(myFunction, myString[]);/*Call a local Process asynchronous*/ /* Example: */callAsync(function(exitCode,stdOut,errOut){ alert("Closed Notepad");},"notepad.exe",JD_HOME+"\\license.txt"); var myString = callSync(myString[]);/*Call a local Process. Blocks Until the process returns*/ /* Example: */var pingResultString = callSync("ping","jdownloader.org"); var myBoolean = deleteFile(myString/*path*/, myBoolean/*recursive*/);/*Delete a file or a directory*/ /* Example: */var myBooleanResult=deleteFile(JD_HOME+"/mydirectory/",false); var myBoolean = doReconnect();/*Perform a reconnect and wait for it*/ /* Example: */var success= doReconnect(); var myDownloadLink = getDownloadLinkByUUID(myLong/*uuid*/);/*Get a DownloadList Link by it's uuid*/ var myFilePackage = getDownloadPackageByUUID(myLong/*uuid*/);/*Get a DownloadList Package by it's uuid*/ var myString = getPage(myString/*URL*/);/*Loads a website (Method: GET) and returns the source code*/ /* Example: */var myhtmlSourceString=getPage("http://jdownloader.org"); var myFilePath = getPath(myString/*Path to a file or folder*/);/*Get a FilePath Object*/ var myObject = getProperty(myString/*"key"*/, myBoolean/*global(boolean)*/);/*Get a Property. Set global to true if you want to access a global property*/ /* Example: */var value=getProperty("myobject", false); var myDownloadLink[] = getRunningDownloadLinks();/*Get a list of all running downloadlinks*/ var myFilePackage[] = getRunningDownloadPackages();/*Get a list of all running packages*/ var myInt = getTotalSpeed();/*Get current total Download Speed in bytes/second*/ var myBoolean = isDownloadControllerIdle();/*Check if Download Controller is in IDLE State*/ var myBoolean = isDownloadControllerPaused();/*Check if Download Controller is in PAUSE State*/ var myBoolean = isDownloadControllerRunning();/*Check if Download Controller is in RUNNING State*/ var myBoolean = isDownloadControllerStopping();/*Check if Download Controller is in STOPPING State (Still running, but stop has been pressed)*/ log(myObject[]);/*Log to stderr and to JDownloader Log Files*/ playWavAudio(myString/*myFilePathOrUrl*/);/*Play a Wav Audio file*/ /* Example: */playWavAudio(JD_HOME+"/themes/standard/org/jdownloader/sounds/captcha.wav"); var myString = postPage(myString/*URL*/, myString/*PostData*/);/*Loads a website (METHOD: POST) and returns the source code*/ /* Example: */var myhtmlSourceString=postPage("http://support.jdownloader.org/index.php","searchquery=captcha"); var myString = readFile(myString/*filepath*/);/*Read a text file*/ /* Example: */var myString=readFile(JD_HOME+"/license.txt"); refreshAccounts(myBoolean/*true|false (Wait for account checks)*/, myBoolean/*true|false (Force Check)*/);/*Refresh all premium accounts*/ /* Example: */refreshAccounts(true,true); requestReconnect();/*Request a reconnect*/ /* Example: */requestReconnect(); require(myString/*myFilePathOrUrl*/);/*Loads a Javascript file or url. ATTENTION. The loaded script can access the API as well.*/ /* Example: */require("**External links are only visible to Support Staff**); setDownloadsPaused(myBoolean);/*Pause/Unpause Downloads*/ var myObject = setProperty(myString/*"key"*/, myObject/*anyValue*/, myBoolean/*global(boolean)*/);/*Set a Property. This property will be available until JD-exit or a script overwrites it. if global is true, the property will be available for al scripts*/ /* Example: */var oldValue=setProperty("myobject", { "name": true}, false); setSpeedlimit(myInt/*speedlimit in bytes/second*/);/*Set the Speedlimit in bytes/second. Values<=0 -> Disable Limiter*/ startDownloads();/*Start Downloads*/ stopDownloads();/*Stop Downloads*/ writeFile(myString/*filepath*/, myString/*myText*/, myBoolean/*append*/);/*Write a text file*/ /* Example: */writeFile(JD_HOME+"/log.txt",JSON.stringify(this)+"\r\n",true); /* ========= Properties =========*/ //JDownloader Installation Directory; var myString = JD_HOME; /* =============== Classes =============== */ /* === Archive === */ /* ========= Methods =========*/ var myString = myArchive.getArchiveType(); var myDownloadLink[] = myArchive.getDownloadLinks(); var myString[] = myArchive.getExtractedFiles(); var myString = myArchive.getExtractionLog(); var myString = myArchive.getFolder(); var myObject = myArchive.getInfo(); var myString = myArchive.getName(); var myString = myArchive.getUsedPassword(); /* === DownloadLink === */ /* The context download list link*/ /* ========= Methods =========*/ myDownloadLink.abort(); var myArchive = myDownloadLink.getArchive(); var myLong = myDownloadLink.getBytesLoaded(); var myLong = myDownloadLink.getBytesTotal(); var myString = myDownloadLink.getComment(); var myLong = myDownloadLink.getDownloadDuration(); var myString = myDownloadLink.getDownloadPath(); var myLong = myDownloadLink.getDownloadSessionDuration(); var myLong = myDownloadLink.getDownloadTime(); var myLong = myDownloadLink.getEta(); var myString = myDownloadLink.getExtractionStatus(); var myString = myDownloadLink.getFinalLinkStatus(); var myLong = myDownloadLink.getFinishedDate(); var myString = myDownloadLink.getHost(); var myString = myDownloadLink.getName(); var myFilePackage = myDownloadLink.getPackage(); var myObject = myDownloadLink.getProperty(myString); var myObject = myDownloadLink.getSessionProperty(myString); var myString = myDownloadLink.getSkippedReason(); var myLong = myDownloadLink.getSpeed(); var myString = myDownloadLink.getStatus(); var myString = myDownloadLink.getUUID(); var myString = myDownloadLink.getUrl(); var myBoolean = myDownloadLink.isEnabled(); var myBoolean = myDownloadLink.isFinished(); var myBoolean = myDownloadLink.isRunning(); var myBoolean = myDownloadLink.isSkipped(); myDownloadLink.reset(); myDownloadLink.setEnabled(myBoolean); myDownloadLink.setName(myString/*new Name*/);/*Sets a new filename*/ myDownloadLink.setProperty(myString, myObject); myDownloadLink.setSessionProperty(myString, myObject); myDownloadLink.setSkipped(myBoolean); var myString = myDownloadLink.toString(); /* === FilePackage === */ /* The context download list package*/ /* ========= Methods =========*/ var myArchive[] = myFilePackage.getArchives(); var myLong = myFilePackage.getBytesLoaded(); var myLong = myFilePackage.getBytesTotal(); var myString = myFilePackage.getComment(); var myString = myFilePackage.getDownloadFolder(); var myDownloadLink[] = myFilePackage.getDownloadLinks(); var myString = myFilePackage.getName(); var myBoolean = myFilePackage.isFinished(); myFilePackage.setComment(myString); myFilePackage.setName(myString); var myString = myFilePackage.toString(); /* === FilePath === */ /* ========= Methods =========*/ var myBoolean = myFilePath.delete(); var myBoolean = myFilePath.deleteRecursive(); var myBoolean = myFilePath.exists(); var myFilePath[] = myFilePath.getChildren(); var myString = myFilePath.getExtension(); var myString = myFilePath.getName(); var myFilePath = myFilePath.getParent(); var myString = myFilePath.getPath(); var myLong = myFilePath.getSize(); var myBoolean = myFilePath.isDirectory(); var myBoolean = myFilePath.isFile(); var myBoolean = myFilePath.mkdirs(); var myBoolean = myFilePath.moveTo(myString); var myBoolean = myFilePath.renameTo(myString); var myString = myFilePath.toString(); // ========= Eigenschaften für den Ereignisauslöser 'Ein Download hat begonnen' ========= var myFilePackage = package; var myDownloadLink = link;
Weiteres wissenswertes:
vlc-player 3.0 - selbständiger Umgang mit archiven