View Single Post
Old 26.11.2019, 13:42
Posts: n/a
Cool event scripter scripts index




[good news everyone]

Originally Posted by Jiaz View Post
Good idea But I don't have time to do this, so anyone is welcome to create such a post and keep it updated. I will make it sticky then.
Help is welcome
Some asked for it, here it is:biggrin: Not sure it's a good idea to stick it as is! at least it helped me to learn a bit of event scripting, next step will be to make my first one... been busy:P
It might be a good idea to have a lib of primitive functions, simple tasks, that can be then used in any script, which is kind of the goal of this list/thread. The scripts here are sort of snippets but for specific cases, it is good for learning but then you have to dig in each and every one to find what you need.

mgpai, thecoder2012 can you hear me? (any other users too!) any amount of scripts you've been keeping up your sleeve you could put out of your hat?;)

[not sure if it is a good news or bad news]

the bad news is forum url t=70525&postcount=NN doesn't work, too late to see that, so I can't create direct links...


  • the web master will have to use his mysterious wizardry to map the page/post numbers from only thread/postcount number to rebuild a board's url that send us to the post inside the page...

    Meanwhile, post numbers are those seen when not logged in (20/page), so the page number is ceil(NN/20):huh: , it is the first column in the list, but it can differ from the one you see depending on the forum options in your profile.
  • When I remembered some scripts were close, I tried to regroup them but that's far from being finalized or relevant, class list and sorting are dubious:blink: but well, it's a start...

[have fun]

Any way, their is little chance I will keep it up to date, at least regularly, plus the layout is not automated!, but once board links are rebuild it should be more easily usable.

More importantly if any of you have links to scripts in other threads of the forum, we could all share the same 'textup' file for example, anyone can edit it and add a contribution, there will just need to be someone to post it in the forum from time to time :

hxxps:// (raw version)
hxxps:// (layout)
pwd are jd
Captcha seems case sensitive and by clicking 'reposter' (duplicate) you make sure to back it up in case of trouble.


*event scripter *

for noobs:)


Add custom Buttons and Scripts to JDownloader
Instructions summary:

  • check 'scripts' is installed and activated: in settings tab, down the left panel there is a plugin section, click on scripts, 'intall now' if not and restart and/or check 'scripts' is ticked
  • Add script to event scripter: click on script in left panel, then 'add' in the bottom of right panel then 'edit' (third column in the script list), write/paste your script and save note1: synchroneous execution is to force waiting for the end of the script before JD keeps on running note2: for windows users, you can use simple / inside paths or escape backslash \\ (escape spec char too) note3: list of available api methods is in the show/hide help top button
  • In event scripter list, click trigger event (2nd column) in the line of your script and select the corresponding triggering event that fits your script
  • Tick/activate the script (1st column)
  • Associate action button to the script, for example, here, to linkgrabber contextual menu : Go to Linkgrabber Tab > Context Menu > Open Menu Manager Add Action > EventScripter Trigger In the right-side panel change the name from "EventScripter Trigger" to the exact name of the button used in the script (name == "action name/text to display"). Save
  • now you can test your event (there is also an option for it on top of the event scripter editor) if it is triggered by some action (ex:right click) or it will run automaticaly depending on the kind of triggering event.


other script types usage


Eventscripter [.js]
  • Paste the contents of the file in script editor (Settings > Eventscripter).
  • Follow instructions specified in the script.
Linkcrawler [.json]
  • Paste the contents of the file in settings. (Settings > Advanced Settings > LinkCrawler.linkcrawlerrules)
  • Enable Checkbox (Settings > Advanced Settings > LinkCrawler.linkcrawlerrulesenabled)
Linkgrabber Filter [.filter]
  • Save file to disk and import it. (Settings > Linkgrabber Filter > Filter Tab > Import)
Linkgrabber Filter [.views]
  • Save file to disk and import it. (Settings > Linkgrabber Filter > Views Tab > Import)
Packagizer [.packagizer]
  • Save file to disk and import it. (Settings > Packagizer > Import)
(some are already set when installing JD, ex:disable *.rev and *.par archives)


additional doc
  • mgpai github repo hxxps://
    (event scripter file names referred to helped users, titles have been used in the following list)
  • jdownloader API doc
  • **External links are only visible to Support Staff**jdownloader API spec


global API help we find in script editor
(shows in one line, not as in the preview )
PHP Code:
/* =============== Global API =============== *//* =========  Methods =========*/alert(myObject[]);/*Show a Message Box*//* Example: */alert(JD_HOME);var myObject callAPI(myStringmyStringmyObject[]);/*Call the MyJDownloader API*//* Example: */callAPI("downloadsV2""queryLinks", { "name"true})callAsync(myFunctionmyString[]);/*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","");var myBoolean deleteFile(myString/*path*/myBoolean/*recursive*/);/*Delete a file or a directory*//* Example: */var myBooleanResult=deleteFile(JD_HOME+"/mydirectory/",false);disablePermissionChecks();/*disable permission checks*/var myBoolean doReconnect();/*Perform a reconnect and wait for it*//* Example: */var successdoReconnect();enablePermissionChecks();/*enable permission checks*/var myString experimental_proxybanlist();/*(experimental) Get proxy banlist*//* Example: */experimental_proxybanlist();var myString experimental_proxylist();/*(experimental) Get proxy list*//* Example: */experimental_proxylist();var myCrawledLink[] = getAllCrawledLinks();/*Get a list of all crawledlinks*/var myCrawledPackage[] = getAllCrawledPackages();/*Get a list of all crawledpackages*/var myDownloadLink[] = getAllDownloadLinks();/*Get a list of all downloadlinks*/var myFilePackage[] = getAllFilePackages();/*Get a list of all packages*/var myLong getAverageSpeed();/*Get current average Download Speed in bytes/second*/var myBrowser getBrowser();/*Get an Environment Object*/var myString getChecksum(myStringmyString);/*Create a Checksum for a file. Types: e.g. CRC32, md5, SHA-1, SHA-256*/var myCrawledLink getCrawledLinkByUUID(myLong/*uuid*/);/*Get a CrawledLink Link by it's uuid*/var myCrawledPackage getCrawledPackageByUUID(myLong/*uuid*/);/*Get a CrawledLink Package by it's uuid*/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 getEnv(myString/*environment variable*/);/*Gets the value of the specified environment variable*/var myEnvironment getEnvironment();/*Get an Environment Object*/var myString getPage(myString/*URL*/);/*Loads a website (Method: GET) and returns the source code*//* Example: */var myhtmlSourceString=getPage("");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 myLong 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)*/var myBoolean isSynchronous();/*is current script run in synchronous mode?*/log(myObject[]);/*Log to stderr and to JDownloader Log Files*/openURL(myString/*URL*/);/*Open a website or path in your default browser/file explorer*//* Example: */openURL("");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("","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);var myBoolean removeCrawledLinkByUUID(myString);/*Remove a crawledlink by uuid*/var myBoolean removeCrawledPackageByUUID(myString);/*Remove a crawledpackage by uuid*/var myBoolean removeDownloadLinkByUUID(myString);/*Remove a downloadlink by uuid*/var myBoolean removeFilePackageByUUID(myString);/*Remove a package by uuid*/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**);setAdvancedAlert(myBoolean);/*enable/disable alert with textbox and copy&paste*/setDisableOnException(myBoolean);/*enable/disable script on exceptions*/setDownloadsPaused(myBoolean);/*Pause/Unpause Downloads*/setNotifyOnException(myBoolean);/*enable/disable notification on exceptions*/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*/sleep(myInt/*milliseconds*/);/*Perform a sleep and wait for x milliseconds*//* Example: */sleep(1000);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 myBoolean = myArchive.equals(myObject);var myString = myArchive.getArchiveType();var myDownloadLink[] = myArchive.getDownloadLinks();var myString = myArchive.getExtractToFolder();var myFilePath[] = myArchive.getExtractedFilePaths();var myString[] = myArchive.getExtractedFiles();var myString = myArchive.getExtractionLog();var myString = myArchive.getFolder();var myObject = myArchive.getInfo();var myString = myArchive.getName();var myList = myArchive.getPasswords();var myString = myArchive.getUsedPassword();var myInt = myArchive.hashCode();var myBoolean = myArchive.isPasswordProtected();myArchive.setPasswords(myList);/* === Browser === *//* =========  Methods =========*/var myBrowser = myBrowser.cloneBrowser();var myBoolean = myBrowser.equals(myObject);var myInt = myBrowser.getConnectTimeout();var myLong = myBrowser.getContentLength();var myString = myBrowser.getContentType();var myString = myBrowser.getCookie(myString, myString);var myBoolean = myBrowser.getDefaultSSLTrustALL();myBrowser.getDownload(myString, myString);var myString = myBrowser.getHTML();var myInt = myBrowser.getLoadLimit();var myString = myBrowser.getPage(myString);var myInt = myBrowser.getReadTimeout();var myString = myBrowser.getRedirectLocation();var myString = myBrowser.getRequestMethod();var myLong = myBrowser.getRequestTime();var myInt = myBrowser.getResponseCode();var myString = myBrowser.getResponseHeader(myString);var myString = myBrowser.getURL();var myInt = myBrowser.hashCode();var myBoolean = myBrowser.isFollowingRedirects();var myBoolean = myBrowser.isSSLTrustALL();var myString = myBrowser.postPage(myString, myString);myBrowser.setConnectTimeout(myInt);myBrowser.setCookie(myString, myString, myString);myBrowser.setDefaultSSLTrustALL(myBoolean);myBrowser.setFollowRedirects(myBoolean);myBrowser.setHeader(myString, myString);myBrowser.setLoadLimit(myInt);var myBoolean = myBrowser.setProxy(myString);myBrowser.setReadTimeout(myInt);/* === ConditionalSkipReason === *//* =========  Methods =========*/var myString = myConditionalSkipReason.getClassName();var myDownloadLink = myConditionalSkipReason.getDownloadLinkCondition();var myString = myConditionalSkipReason.getMessage();var myLong = myConditionalSkipReason.getTimeOutLeft();var myLong = myConditionalSkipReason.getTimeOutTimeStamp();var myString = myConditionalSkipReason.getWaitingSkipReason();var myBoolean = myConditionalSkipReason.isConditionReached();var myBoolean = myConditionalSkipReason.isDownloadLinkCondition();var myBoolean = myConditionalSkipReason.isTimeOutCondition();/* === CrawledLink === *//* The context linkgrabber list link*//* =========  Methods =========*/var myBoolean = myCrawledLink.equals(myObject);var myLong = myCrawledLink.getAddedDate();var myArchive = myCrawledLink.getArchive();var myString = myCrawledLink.getAvailableState();var myLong = myCrawledLink.getBytesTotal();var myString = myCrawledLink.getComment();var myString = myCrawledLink.getContainerURL();var myString = myCrawledLink.getContentURL();var myDownloadLink = myCrawledLink.getDownloadLink();var myString = myCrawledLink.getDownloadPath();var myString = myCrawledLink.getHost();var myLinkInfo = myCrawledLink.getLinkInfo();var myString = myCrawledLink.getName();var myString = myCrawledLink.getOriginURL();var myCrawledPackage = myCrawledLink.getPackage();var myString = myCrawledLink.getPriority();var myMap = myCrawledLink.getProperties();var myObject = myCrawledLink.getProperty(myString);var myString = myCrawledLink.getReferrerURL();var myObject = myCrawledLink.getSessionProperty(myString);var myCrawlerJob = myCrawledLink.getSourceJob();var myString = myCrawledLink.getUUID();var myString = myCrawledLink.getUrl();var myInt = myCrawledLink.hashCode();var myBoolean = myCrawledLink.isEnabled();var myBoolean = myCrawledLink.remove();myCrawledLink.setComment(myString);myCrawledLink.setEnabled(myBoolean);myCrawledLink.setName(myString/*new Name*/);/*Sets a new filename*/myCrawledLink.setPriority(myString);myCrawledLink.setProperty(myString, myObject);myCrawledLink.setSessionProperty(myString, myObject);var myString = myCrawledLink.toString();/* === CrawledPackage === *//* The context linkgabber list package*//* =========  Methods =========*/var myBoolean = myCrawledPackage.equals(myObject);var myLong = myCrawledPackage.getAddedDate();var myArchive[] = myCrawledPackage.getArchives();var myLong = myCrawledPackage.getBytesTotal();var myString = myCrawledPackage.getComment();var myString = myCrawledPackage.getDownloadFolder();var myCrawledLink[] = myCrawledPackage.getDownloadLinks();var myString = myCrawledPackage.getName();var myString = myCrawledPackage.getPriority();var myString = myCrawledPackage.getUUID();var myInt = myCrawledPackage.hashCode();var myBoolean = myCrawledPackage.remove();myCrawledPackage.setComment(myString);myCrawledPackage.setDownloadFolder(myString);myCrawledPackage.setName(myString);myCrawledPackage.setPriority(myString);var myString = myCrawledPackage.toString();/* === CrawlerJob === *//* =========  Methods =========*/var myBoolean = myCrawlerJob.equals(myObject);var myList = myCrawlerJob.getArchivPasswords();var myString = myCrawlerJob.getOrigin();var myString = myCrawlerJob.getPassword();var myString = myCrawlerJob.getSourceUrl();var myString = myCrawlerJob.getText();var myString = myCrawlerJob.getUUID();var myInt = myCrawlerJob.hashCode();var myBoolean = myCrawlerJob.isAssignJobID();var myBoolean = myCrawlerJob.isDeepAnalysisEnabled();myCrawlerJob.setAssignJobID(myBoolean);myCrawlerJob.setDeepAnalysisEnabled(myBoolean);myCrawlerJob.setPassword(myString);myCrawlerJob.setText(myString);/* === DownloadLink === *//* The context download list link*//* =========  Methods =========*/myDownloadLink.abort();var myBoolean = myDownloadLink.equals(myObject);var myLong = myDownloadLink.getAddedDate();var myArchive = myDownloadLink.getArchive();var myLong = myDownloadLink.getBytesLoaded();var myLong = myDownloadLink.getBytesTotal();var myString = myDownloadLink.getComment();var myConditionalSkipReason = myDownloadLink.getConditionalSkipReason();var myString = myDownloadLink.getContainerURL();var myString = myDownloadLink.getContentURL();var myLong = myDownloadLink.getDownloadDuration();var myString = myDownloadLink.getDownloadHost();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 myLinkInfo = myDownloadLink.getLinkInfo();var myString = myDownloadLink.getName();var myString = myDownloadLink.getOriginURL();var myFilePackage = myDownloadLink.getPackage();var myString = myDownloadLink.getPluginURL();var myString = myDownloadLink.getPriority();var myMap = myDownloadLink.getProperties();var myObject = myDownloadLink.getProperty(myString);var myString = myDownloadLink.getReferrerURL();var myObject = myDownloadLink.getSessionProperty(myString);var myString = myDownloadLink.getSkippedReason();var myLong = myDownloadLink.getSpeed();var myString = myDownloadLink.getStatus();var myMap = myDownloadLink.getTempProperties();var myObject = myDownloadLink.getTempProperty(myString);var myString = myDownloadLink.getUUID();var myString = myDownloadLink.getUrl();var myInt = myDownloadLink.hashCode();var myBoolean = myDownloadLink.isEnabled();var myBoolean = myDownloadLink.isFinished();var myBoolean = myDownloadLink.isResumeable();var myBoolean = myDownloadLink.isRunning();var myBoolean = myDownloadLink.isSkipped();var myBoolean = myDownloadLink.remove();myDownloadLink.reset();myDownloadLink.resume();myDownloadLink.setComment(myString);myDownloadLink.setEnabled(myBoolean);myDownloadLink.setName(myString/*new Name*/);/*Sets a new filename*/myDownloadLink.setPriority(myString);myDownloadLink.setProperty(myString, myObject);myDownloadLink.setSessionProperty(myString, myObject);myDownloadLink.setSkipped(myBoolean);myDownloadLink.setTempProperty(myString, myObject);var myString = myDownloadLink.toString();/* === Environment === *//* =========  Methods =========*/var myString = myEnvironment.getARCHFamily();var myLong = myEnvironment.getJavaVersion();var myString = myEnvironment.getNewLine();var myString = myEnvironment.getOS();var myString = myEnvironment.getOSFamily();var myString = myEnvironment.getPathSeparator();var myBoolean = myEnvironment.is64BitArch();var myBoolean = myEnvironment.is64BitJava();var myBoolean = myEnvironment.is64BitOS();var myBoolean = myEnvironment.isBSD();var myBoolean = myEnvironment.isHeadless();var myBoolean = myEnvironment.isLinux();var myBoolean = myEnvironment.isMac();var myBoolean = myEnvironment.isWindows();/* === FilePackage === *//* The context download list package*//* =========  Methods =========*/var myBoolean = myFilePackage.equals(myObject);var myLong = myFilePackage.getAddedDate();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 myLong = myFilePackage.getFinishedDate();var myString = myFilePackage.getName();var myString = myFilePackage.getPriority();var myMap = myFilePackage.getProperties();var myObject = myFilePackage.getProperty(myString);var myString = myFilePackage.getUUID();var myInt = myFilePackage.hashCode();var myBoolean = myFilePackage.isFinished();var myBoolean = myFilePackage.remove();myFilePackage.setComment(myString);myFilePackage.setDownloadFolder(myString);myFilePackage.setName(myString);myFilePackage.setPriority(myString);myFilePackage.setProperty(myString, myObject);var myString = myFilePackage.toString();/* === FilePath === *//* =========  Methods =========*/var myBoolean = myFilePath.copyTo(myString, myString, myBoolean);var myBoolean = myFilePath.copyTo(myString);var myBoolean = myFilePath.delete();var myBoolean = myFilePath.deleteRecursive();var myBoolean = myFilePath.equals(myObject);var myBoolean = myFilePath.exists();var myString = myFilePath.getAbsolutePath();var myFilePath[] = myFilePath.getChildren();var myLong = myFilePath.getCreatedDate();var myString = myFilePath.getExtension();var myLinkInfo = myFilePath.getLinkInfo();var myLong = myFilePath.getModifiedDate();var myString = myFilePath.getName();var myFilePath = myFilePath.getParent();var myString = myFilePath.getPath();var myLong = myFilePath.getSize();var myInt = myFilePath.hashCode();var myBoolean = myFilePath.isDirectory();var myBoolean = myFilePath.isFile();var myBoolean = myFilePath.mkdirs();var myBoolean = myFilePath.moveTo(myString);var myFilePath = myFilePath.rename(myString);var myFilePath = myFilePath.renameName(myString);var myFilePath = myFilePath.renamePath(myString);var myBoolean = myFilePath.renameTo(myString);var myString = myFilePath.toString();/* === LinkInfo === *//* =========  Methods =========*/var myString = myLinkInfo.getDesc();var myString = myLinkInfo.getGroup();var myInt = myLinkInfo.getPartNum();var myString =;// ========= Properties for the EventTrigger 'A Download started'  =========var myFilePackage = package;var myDownloadLink = link; 


event scripter repo


tmplnk postcount title;trigger

use third party program
p0001 0001 Convert AAC/M4A/OGG files to MP3 (ffmpeg) ;A Download Stopped
p0005 0098 start my batch script after JD unrar ;Archive extraction Finished
p0006 0106 Add metadata to image file, using external program (exiftool) ;A Download Stopped
p0010 0191 Run external program if package contains 'pdf' file ;Package finished
p0016 0302 start/stop transmission-gtk
p0019 0366 Run external command on extracted files & delete archive links from list (dxzdxz1.js) ;Archive extraction finished
p0024 0474 Run external program when all packages finished (44nonymous.js) ;Download Controller Stopped
p0025 0490 Convert dts to ac3 and create new video file (ffmpeg) (Tom.js) ;A new file has been created
p0028 0550 ? greasemonkey script to send url to JD?
Use eventscripter to start python-script with arguments
Open container link in browser (guardao.js) ;Downloadlist Contextmenu Button Pressed
Open url in browser(guardao_2.js) ; Downloadlist Contextmenu Button Pressed

p0045 0881 Update JD when idle, automatic update + restart after all active downloads ;Interval
p0015 0297 Update JD when idle, automatic update + restart after all active downloads (DaDealer.js) ;Interval
p0016 0305 Update JD when idle, automatic update + restart after all active downloads ;Interval
p0028 0558 Restart and update, if updates are available ;Before a Reconnect (or after)

p0001 0002 Save youtube links and basic information to a html page ;A Download Stopped
p0037 0728 Save youtube links and basic information to a html page ;A Download Stopped
p0001 0007 Simple history of downloaded links in text format ;A Download Stopped
p0001 0010 Simple history of downloaded links in text format ;A Download Stopped
p0019 0378 Simple history of downloaded links in text format ;A Download Stopped
p0001 0019 Export download URLs (Linkgrabber & Download List) ;DownloadList Contextmenu Button Pressed
p0040 0794 Export download URLs, workaround for container
p0041 0808 Export downloadlist urls (new getPluginURL api) ;DownloadList Contextmenu Button Pressed
p0041 0808 Export LinkGrabber list urls (new getPluginURL api) ;LinkGrabber Contextmenu Button Pressed
p0006 0102 Write link comments to 'csv' file ;Package Finished
p0006 0115 Write link comments from a package to 'csv' file ;DownloadList Contextmenu Button Pressed
p0012 0232 Save Link URLs in a text file ;A Download Stopped
p0019 0376 Move all links to download list
p0024 0479 Backup link lists at startup ;JDownloader started
p0031 0618 Daily Backup (7z) ;JDownloader Started
p0048 0958 Get links from finished crawljob ;Remote API Event fired
get list of finished package

p0002 0037 Check for new update logs at user defined intervals and open them in notepad ;Interval
p0011 0210 Clean up and log finished packages at specified interval ;Interval

operations on links, files & folders
p0001 0009 Add single/multiple URL at user defined interval ;Interval
p0003 0048 add direct link to linkgrabber
p0007 0122 Add link at user defined interval ;Interval
p0051 1002 Add urls to linkgrabber at user-defined intervals (skip duplicates) ;Interval

p0002 0039 get packagename of archive ;Archive extraction finished
p0003 0050 link name cleaner : auto clean/format filename during the link grabbing process ;Packagizer Hook
p0003 0058 Set filename as comment / Set comment as file name ;Packagizer Hook

p0041 0808 See new links in the comment field ;A new link has been added
p0007 0127 Set Package Name based on matching host ;Packagizer Hook
p0007 0129 Extract/set package name from file name ;Packagizer Hook
p0009 0165 replace "_" with " " ;Packagizer Hook
Replace characters in file name ";Packagizer Hook (DJwa163.js)"
Filename to lower case (flopodopo.js) ;Packagizer Hook
filename mask replacement ex
p0026 0509 Replace file name with archive name (animus.js) ;Archive extraction finished

p0001 0006 Split packages and create sub-folders ;Linkgrabber Contextmenu Button Pressed
p0002 0029 Move finished non-archive files, to user defined folder ;A Download Stopped
p0006 0104 Delete junk folders ;Archive Extraction Finished
p0006 0109 Delete from extracted files, any file/folder which contains user specified keywords ;Archive Extraction Finished
p0007 0120 Delete 'jpg' and 'txt' files and remove download folder if empty ;A Download Stopped
p0007 0135 ? last extracted archive, remove nested archive? ;Any Extraction Event
p0008 0159 Move media files based on duration (ffprobe) ;A Download Stopped
p0015 0290 Disable matching files (netgearjd.js) ;Toolbar Button Pressed
p0017 0329 Detect duplicate files (netgearjd_2.js) ;Toolbar Button Pressed
p0032 0627 Disable (instagram) links if file exists on disk ;Remote API Event Fired
p0035 0690 Disable (instagram) links if file exists on disk ; Toolbar Buttton Pressed

p0021 0402 If file exists, stop the download and remove the link, else rename it (patriks3.js) ;A Download Started
p0021 0414 Disable download link if file exists in download folder/subfolders (Takhen.js) ;A Download Started
Disable the download if the file already exists on the disk with alternate name ;A Download Started
Change download folder if a file does not already exist in default folder ;A Download Started
If file already exists in other user defined folders disable the download ;A Download Started
p0040 0787 Disable download link, if file exists on disk in specified list of folders ;A Download Started
p0043 0845 Disable all download link(s) of an archive, if the download folder contains a sub-folder with archive name ; A Download Started
p0041 0806 Delete downloaded files from user-specified folder, at user-specified interval ;Interval
p0041 0806 Delete downloaded files from user-specified folder, immediately after it's been downloaded ;A Download Stopped
p0048 0948 Remove finished links older than 'x' days ;JDownloader Started
p0048 0950 Move finished links to user-defined package ;A Download stopped
p0048 0954 Build/update downloaded links history and add comment to finished link ;JDownloader Started
p0048 0954 Disable links, if they exist in history ;A Download Started
p0048 0954 " Move links to to "Already Downloaded" package, if they exist in history" ;Packgizer Hook
Anti duplicates history Script (983)
p0045 0899 file exist function
p0049 0977 generate shortURL
p0051 1004 From selected links, move only the pending download links to packages by Host ;Downloadlist Contextmenu Button Pressed
Set last download destination as download folder for new links (serrato.js) ;Packagizer Hook

p0023 0451 Skip links from specified host when daily limit is reached (peymanch.js) ;Interval
p0026 0519 button to Show/Hide Single Child Packages ;Toolbar Button Pressed
p0030 0590 set download folder based on file size(595,596) ;A new link has been added
p0039 0764 check file downloaded size and conditional deletion, partial code
p0039 0775 check download link status
p0030 0592 Move archive files after extraction ; Archive Extraction Finished
p0036 0714 Move archive files after extraction to a timestamp based sub-folder ; Archive Extraction Finished
p0036 0717 incremente extracted filename if already exist
p0037 0721 Move archive files after extraction ;Archive Extraction Finished
p0043 0847 Move extracted files to base folder and remove empty sub-folders ;Archive Extraction Finished
Flatten Archives (Move extracted files from sub-folders to the main extraction folder) (ehorn.js) ; Archive Extraction Finished
p0041 0808 Get Archive Password (Downloads) ;DownloadList Contextmenu Button Pressed

p0001 0018 Replace 128kbit audio with 192kbit audio in 1080p youtube videos ;Package Finished
p0031 0612 put youtube videos into packages with channel name with packagizer, pseudo-code
p0036 0711 download new vids of youtube's channel everyday / crawl urls at user-specified interval ;Interval
p0037 0730 youyube channel name
p0040 0782 Add alternate url, if current url is offline ;Packagizer Hook
p0043 0843 Use youtube-dl if possible ;New Crawler Job
p0045 0884 Youtube Smart Subtitle Selector Script
Add Playlist Position to file name (LuckyLuciano.js) ;Downloadlist Contextmenu Button Pressed

operations based on time & speed
p0037 0735 set speed limit when a twitch channel is streaming ;Download Controller Started
p0020 0398 Pause downloads during extraction (Biohazmatz.js) ;Any Extraction Event
p0002 0024 Auto stop/restart downloads if the current average speed is below limit ;Interval
p0004 0060 Stop and restart slow links ;Interval
p0004 0066 Skip slow links and resume them after wait time ;Interval
p0015 0288 Pause and resume downloads if average speed is below target speed (Hartm.js) ;Interval
p0015 0300 Stop and restart all downloads if average speed is below target speed (Hartm.js) ;Interval
p0043 0857 Restart JD if download speed is 0 and JD is idle ;Interval
reset a download if the speed is slower than 2mb/s
stop downloads if speed is under 4000kb
p0008 0140 Time based download control ;Interval
p0019 0376 Format Date
p0022 0427 control the time at which a script will run
Force Download to start (with PLUGIN_DEFECT) ;Interval

p0001 0003 Extraction Scheduler (Taobaibai.js) ;Interval
p0018 0349 extract archives at scheduled time/after all downloads have finished (Taobaibai_2.js) ;Interval
Autocheck offline links from user-defined hosts and autostart download when they are online ;Interval
Auto Queue (create Queues that start downloads one after the other)
Auto Shedule (set individual download starting time)

p0002 0031 Request reconnect if the current average speed is below limit ;Interval
p0021 0418 Reconnect if all downloads have been running for at least one minute, and the average (global) download speed is below user specified speed (FlyAway.js) ;Interval
Disable Auto reconnect for user specified period, if downloads fail to start/resume (no bytes downloaded) after an IP change (aiimaim.js) ;Interval
Limit number of reconnects allowed during user defined duration (aiimaim_2.js) ;After a reconnect

p0002 0022 get notifications on smartphone via pushover ;Package finished
p0012 0235 Script for sending email after package finished (sendemail)
p0024 0469 Send email notification (NAS) (desperado591.js) ;A Download Stopped
p0024 0469 Send email notification (NAS) (desperado591_2.js) ;Archive Extracton Finished
p0029 0574 send packagename to batch file ;Package Finished
p0029 0577 send notification to service using postpage()

p0005 0083 Unskip 'account missing' links at user specified interval ;Interval
p0005 0093 Unskip 'account missing' and 'skipped - captcha input' links at user specified interval ;Interval
p0027 0526 Unskip links with unsolved captcha (dpinbsp.js) ;Interval
p0050 0985 Unskip and start downloading links with "Invalid download directory" message, if the destination folder is available ;A Download Controller Stopped
p0050 0987 Unskip and start downloading links with "Invalid download directory" message, if the destination folder is available ;a Download Controller Stopped

p0005 0084 Check RSS Feeds (youtube ex) ;Interval
Run filebot on package finished (rednoah.js) ;Remote API Event fired
jdlbot 2 (rss feeds, discontinued > see flexget)

Automatic free proxy grabber feature (DE)
Automatic free proxy grabber feature (DE)
p0039 0773 LinkGrabber Proxy cycle ;New Crawler Job
p0050 0993 pending: blacklist a proxy via eventscripter when it causes a 403 geoblocking state

p0001 0005 Generate md5 hash file in download folder ;A Download Stopped
p0001 0008 Hide/Unhide Infobar Window ;Traymenu Button Pressed
p0005 0091 set/remove stopmark
p0005 0093 Queue and credits check for ;Interval
p0029 0575 get source code of webpage using postpage()
p0034 0661 Enable Tray Icon if it is disabled ;Interval
Ping-sensitive download threshold script (unaccessible)

p0041 0802 Enable Folder Watch on user specified dates ;Interval
p0041 0808 Add downloadlinks as speedtest ;Main Menu Button Pressed
p0041 0810 tips: general settings for file mirrordetectiondecision
p0042 0825 tips: output all filenames in a given package to the clipboard
p0043 0843 Scan for NZB urls and grab all data ;New Crawler Job
p0043 0843 Usenet password remover (passwordlist) ;Interval
p0043 0843 Use NZB data and grab all data ;Toolbar Button Pressed
p0043 0843 Scan for FTPs urls ;New Crawler Job
p0043 0851 Util Functions: setTimeout, confirm, prompt
Play sound when new links added (per job) (Tedolly.js) ;Remote API Event fired
When package is removed, do something with the extraction folders of each archive in that package (YenForYang.js);Package Finished

p0011 0217 Get a FilePath Object
p0037 0725 info on path, file names methods
p0039 0776 info on linkstatus
p0039 0773 export json file
usefull scripts from users (sound alert, full urls as link text, jdlbot2)

Packagizer rules:
p0015 0280 tips: you can copy/paste Settings-Advanced Settings, PackagizerSettings.rulelist, for eventscripter, EventScripter.scripts
p0023 0458 change file name
p0024 0472 moves the extracted files
p0031 0612 put videos into packages with youtube channel name
p0040 0797 set dl path for specific file or container


last word:
- many things might be wrong, useless, feel free to point out/modify/suggest anything
- np++ can be usefull too highlight keywords if your are looking for something...
- unfortunately there seems to be many good scripts in non international forums but I don't understand anything!
- next step for whom volunteers : do the same for other script types and folderwatch!:dots:

raw version : hxxps://
formatted : hxxps://
pwd are jd

log added some links;textup updated

Last edited by noone1; 27.11.2019 at 22:24. Reason: img don't show at all;code block shown in 1 line; both unlike the preview; smileys need spaces to convert but are trimed
Reply With Quote