JDownloader Community - Appwork GmbH
 

Reply
 
Thread Tools Display Modes
  #2601  
Old 30.03.2023, 09:43
HeyItsJono HeyItsJono is offline
Modem User
 
Join Date: Mar 2022
Posts: 1
Default

Hi there, I was hoping for some help in making a script.
I have a MEGA folder someone's shared with me that occasionally has new files added to it. I was hoping for a way to automatically add those new files to JD2 and have them downloaded to a specific folder.

I figured the best way to do this is to have an Interval trigger EventScripter script that has LinkGrabber periodically re-analyse the MEGA folder URL, and if it finds new download links that have not previously been added to the download list then it should add them to the download list and start the download. Is there a way to do this with event scripter?

EDIT: Here's my script in case it's useful for anyone else.

Code:
// Paste this script into Jdownloader's EventScripter under a new Event named "LinkWatcher", with trigger set to "Interval", and interval set to 21600000 milliseconds (6hrs). 
// Make sure to "Test Run" once after making the event or editing the script, which will bring up a one-time pop-up box asking if you're okay that the script does API calls; click yes obviously and make sure "do not ask again" is checked.
// If a particular link isn't working with this for some reason, remove all existing packages in the Linkgrabber that relate to that URL and try again. 

// Define each link to watch as a dict within the links array.
// Leave unnecessary fields blank; e.g. password for download or extract (DPW and EPW respectively) may be unnecessary.
// Name is just a field to make that particular link dict identifiable to you, it's not passed along to JD.
// PackageName on the other hand defines the packge name in JD.
// Ensure the backslashes in Path are doubled to escape them

var links = [{
    Name: "TV Show",
    PackageName: "AwesomePackage",
    URL: "**External links are only visible to Support Staff**,
    Path: "C:\\Downloads",
    DPW: "",
    EPW: ""
}, {
    Name: "TV Show #2",
    PackageName: "LessAwesomePackage",
    URL: "**External links are only visible to Support Staff**,
    Path: "C:\\Downloads",
    DPW: "",
    EPW: ""
}]

// For info on the structure/options within the addlinks API call, see the following: https://my.jdownloader.org/developers/#tag_244 and https://my.jdownloader.org/developers/#tag_245
// Overwrite Packagizer Rules allows you to define the download path and Package Name, etc here in the script
// Autostart automatically moves the files from linkgrabber -> download list and starts downloading them.
// In order to make this operate entirely without human intervention, you need to set some keys in the Advanced Settings section of JD Settings
// Set LinkgrabberSettings.defaultonaddeddupeslinksaction to "do NOT add, but remove them from linkgrabber".
// Set LinkgrabberSettings.handledupesonconfirmlatestselection to "do NOT add, but remove them from linkgrabber".
// The first is the most important one. This makes it so that by default, WITHOUT being asked, if you try to move an already-downloaded link from linkgrabber -> download list, it'll remove it from linkgrabber but it WON'T try to redownload it. To redownload it you'd need to delete the link from the download list, or just click Reset on it.

for (i = 0; i < links.length; i++) {
    var link = links[i];
    callAPI("linkgrabberv2", "addLinks", {
        "overwritePackagizerRules": true,
        "autostart": true,
        "links": link.URL,
        "packageName": link.PackageName,
        "downloadPassword": link.DPW,
        "extractPassword": link.EPW,
        "destinationFolder": link.Path
    });
};

Last edited by HeyItsJono; 14.04.2023 at 08:34.
Reply With Quote
  #2602  
Old 30.03.2023, 19:38
marko117 marko117 is offline
Junior Loader
 
Join Date: Jul 2017
Posts: 10
Default

Hi everyone. I have a request.
I often have to check the same links several times to see if new videos have been uploaded (completed files stay in the download list so I remember the ones I already have).
Is there a way to automate this via scripter?
Basically I'm looking for a script that allows me to scan with linkchecker all the links I specify in a data structure (example array)
var list=["www.link1.com" , "www.link2.com"....]
Clicking on the trigger will start scanning all the links I have specified and then submit them to the linkgrabber, exactly as you would do with copy-paste, drag&drop.
If it is not possible to implement the link list from the code one could alternatively use a link list saved in a text file.
I have no idea how to do it.
I thank you in advance
Reply With Quote
  #2603  
Old 01.04.2023, 14:41
RedNapalm RedNapalm is offline
Wind Gust
 
Join Date: Dec 2017
Posts: 44
Default

Hey need a split package by Download from url. Thanks!
Reply With Quote
  #2604  
Old 04.04.2023, 16:35
rakasha681 rakasha681 is offline
Modem User
 
Join Date: Apr 2023
Posts: 1
Default limit overall daily downloads

Hi!
Is it possible to write a script that will set an overall daily download size quota?

Something along the lines of:
A) When a download finishes it checks a date+time based CurrentDownloadPeriod VariableA, if it doesnt exist or is outside of the previous 24hrs it sets the current date/time
B) sets a CurrentPeriodTotalDownloadSize VariableB (which also gets reset in A if A resets the date variable) that adds the completed downloads size incrementally as each download finishes,
C) if CurrentPeriodTotalDownloadSize > 250GB, pause all downloads, wait 25hours, reset Variables A&B, and resumes all downloads

If that's possible, which seems likely, if someone could write that for me without it being too much trouble, I'd appreciate it :D

While my scripting knowledge is pretty limited, I'm also not opposed to trying to piece one together with all the previous examples/online help files, and then come back for more help when it doesn't work, lol. Actually, that's what i am going to do, but this will be a nice way to get the ball rolling for help when i come back frustrated that nothing i tried worked, and would be cool if some awesome person wrote a working option for when i can't figure it out, lol :D

Thanks!
Reply With Quote
  #2605  
Old 14.04.2023, 18:36
notice notice is offline
JD Supporter
 
Join Date: Mar 2023
Posts: 505
Default

Quote:
Originally Posted by samoreye View Post
For some reason, my script runs but nothing happens. Links are in the txt file and address is also correct. Does this script still work?
Instead of script for Eventscripter you could create crawljob files for Folderwatch extension, see https://support.jdownloader.org/Know...basic-usage/23
Reply With Quote
  #2606  
Old 14.04.2023, 18:39
notice notice is offline
JD Supporter
 
Join Date: Mar 2023
Posts: 505
Default

Quote:
Originally Posted by SMS View Post
I'm trying to use the filename that the webserver suggests (which probably happens via the Content-Disposition header)
What links are you adding? JDownloader already should pick up/use the Content-Disposition header name. Can you provide example links where this fails?

Quote:
Originally Posted by SMS View Post
I'm trying to use the filename that the webserver suggests (which probably happens via the Content-Disposition header). I try the following script (with "Packagizer Hook" trigger), but I get "null" in the responseHeader:
Code:
var myBrowser = getBrowser();
var responseHeader = myBrowser.getResponseHeader(link.getURL());
How do I access the headers, or the filename that the webserver suggests, for further processing in the script?
You first have to do a request
Code:
var myBrowser = getBrowser();
myBrowser.headPage(link.getURL()); 
var responseHeader = myBrowser.getResponseHeader("Content-Disposition");
Reply With Quote
  #2607  
Old 14.04.2023, 18:45
notice notice is offline
JD Supporter
 
Join Date: Mar 2023
Posts: 505
Default

Quote:
Originally Posted by RedNapalm View Post
Hey need a split package by Download from url. Thanks!
Can you please explain what you mean by that? that would result in one package for each download link?! or do you mean something different? or maybe I don't understand correct
Reply With Quote
  #2608  
Old 14.04.2023, 18:48
notice notice is offline
JD Supporter
 
Join Date: Mar 2023
Posts: 505
Default

Quote:
Originally Posted by Sokub View Post
I would like to have the "Force Dowload"-function from the context menu as a toolbar button.

Can someone help me with the script code for this, please?
I could try to add such button at the bottom bar because the toolbar a top is shared between downloads and linkgrabber and would make it more complex. also the button would have to be enabled/disabled, depending on current view.
Reply With Quote
  #2609  
Old 15.04.2023, 03:06
raztoki's Avatar
raztoki raztoki is offline
English Supporter
 
Join Date: Apr 2010
Location: Australia
Posts: 17,614
Default

Quote:
Originally Posted by Sokub View Post
I would like to have the "Force Dowload"-function from the context menu as a toolbar button.

Can someone help me with the script code for this, please?
Quote:
Originally Posted by notice View Post
I could try to add such button at the bottom bar because the toolbar a top is shared between downloads and linkgrabber and would make it more complex. also the button would have to be enabled/disabled, depending on current view.
alternatively you could assign a keyboard hotkey and trigger it in that manner, within the current framework.
__________________
raztoki @ jDownloader reporter/developer
http://svn.jdownloader.org/users/170

Don't fight the system, use it to your advantage. :]
Reply With Quote
  #2610  
Old 15.04.2023, 16:15
notice notice is offline
JD Supporter
 
Join Date: Mar 2023
Posts: 505
Default

Quote:
Originally Posted by raztoki View Post
alternatively you could assign a keyboard hotkey and trigger it in that manner, within the current framework.
Sometimes the most easiest solutions cannot be seen Thanks for the reminder!
Reply With Quote
  #2611  
Old 20.04.2023, 19:17
aiimaim aiimaim is offline
DSL Light User
 
Join Date: Oct 2017
Posts: 31
Smile

Hey there,

I use the following script to rename video files of a certain size to lowercase ("ON_PACKAGIZER"):

Code:
if (linkcheckDone && link.bytesTotal > 150 * 1024 * 1024 && link.bytesTotal < 2500 * 1024 * 1024) {

    var re = /(?:\.([^.]+))?$/;
    var ext = re.exec(link.name)[1].toLowerCase();
    switch (ext) {
        case "mkv":
        case "mpeg":
        case "mp4":
        case "mpg":
        case "avi":
            link.name = link.name.toLowerCase();
    }
}

I'd like to have a similar script to do the same for all video files, that are extracted from archives, but I'm not sure how to go about it
Could someone please help me out?

Thank you in advance!

Last edited by aiimaim; 21.04.2023 at 09:43.
Reply With Quote
  #2612  
Old 21.04.2023, 11:03
notice notice is offline
JD Supporter
 
Join Date: Mar 2023
Posts: 505
Default

@aiimaim: You could use trigger "Archive extraction finished" and then use
Quote:
/* === Archive === */
and
Quote:
/* === ArchiveFile === */
to iterate through all extracted files and then use
Quote:
var myString = myArchiveFile.getFilePath();
and
Quote:
var myFilePath = getPath(myString/*Path to a file or folder*/);/*Get a FilePath Object*/
and then can check size and rename file
Reply With Quote
  #2613  
Old 22.04.2023, 14:08
aiimaim aiimaim is offline
DSL Light User
 
Join Date: Oct 2017
Posts: 31
Default

Thank you for your input @notice.

So far I've come up with this reduced version of the script:


Code:
var archiveFilePaths = archive.getExtractedFilePaths();

// Iterate through all extracted files in the archive
for (var i = 0; i < archiveFilePaths.length; i++) {
  var archiveFilePath = archiveFilePaths[i];
  var file = getPath(archiveFilePath); // Get a FilePath object
  if (file.getExtension()=="avi" || file.getExtension()=="mpeg" || file.getExtension()=="mpg" || file.getExtension()=="mp4" || file.getExtension()=="mkv") {
    if (file.isDirectory()) { // If it's a directory, traverse its contents recursively
      traverseDirectory(file, function(subFile) {
  	  subFile.renameName("test1 "+subFile.getName().toLowerCase()); // Rename the file to lowercase
      });
    } else { // If it's a file, simply rename it to lowercase
  	file.renameName("test2 "+file.getName().toLowerCase());
    }
  }
}

// Helper function to recursively traverse a directory tree and apply a function to each file
function traverseDirectory(directory, fn) {
  var files = directory.listFiles();
  for (var i = 0; i < files.length; i++) {
    var file = files[i];
    if (file.isDirectory()) {
      traverseDirectory(file, fn);
    } else {
      fn(file);
    }
  }
}
This seems to be working. However when I remove the test-part from the renaming line like this
Code:
file.renameName(file.getName().toLowerCase());
it doesn't work anymore and I have no idea why. (There's no error, yet the file isn't being renamed to lowercase.)

Could this be a windows-related error, since Windows doesn't differentiate between lowercse and upprcase filenames? (Right now I'm testing under windows. The goal is to move it to my nas' headless installation, when it works.)

EDIT: Suspicion confirmed, it works under linux.

Last edited by aiimaim; 22.04.2023 at 17:15.
Reply With Quote
  #2614  
Old 22.04.2023, 15:45
notice notice is offline
JD Supporter
 
Join Date: Mar 2023
Posts: 505
Default

@aiimaim: I will update rename methods with next core update. right now they checks for existing of new file and on windows this is true due to case insensitivity. After next core update it should work as expected. meanwhile you could do workaround like A->tA->a renaming. Thanks for bringing up this issue

Last edited by notice; 22.04.2023 at 15:50.
Reply With Quote
  #2615  
Old 22.04.2023, 16:57
aiimaim aiimaim is offline
DSL Light User
 
Join Date: Oct 2017
Posts: 31
Default

@notice: Thanks for the quick feedback. Yea I thought of renaming twice, as you suggested. But since I'm using it on my linux based NAS, it's not an issue for me. It was just a slight inconvenience during testing on windows.

Last edited by aiimaim; 22.04.2023 at 18:26.
Reply With Quote
  #2616  
Old 22.04.2023, 19:57
notice notice is offline
JD Supporter
 
Join Date: Mar 2023
Posts: 505
Default

Quote:
Originally Posted by aiimaim View Post
@notice: Thanks for the quick feedback.
You're welcome
Reply With Quote
  #2617  
Old 28.04.2023, 11:00
globus999 globus999 is offline
Mega Loader
 
Join Date: May 2011
Posts: 61
Default

Hi, I understand that there is a script to randomize download order in links and/or folders but I can't find it. Any help would be appreciated. Tx!
Reply With Quote
  #2618  
Old 06.05.2023, 07:57
Agnostos Agnostos is offline
JD VIP
 
Join Date: Dec 2014
Posts: 312
Default

Hi.


I try the first Convert "AAC/M4A/OGG/OPUS files to MP3" you have created and doesn't work it bring error.

Is there any newest that really work?


And after you add this script at "event scripter" is there anything else you must do to work?


I try even create a new button like it shows here and still your script doesn't work.
Reply With Quote
  #2619  
Old 15.05.2023, 14:12
neik neik is offline
Modem User
 
Join Date: May 2023
Posts: 3
Default

I'm trying to figure out a way of executing a bash-script at the end of either each extraction or at the end of the last extraction (not quite sure yet what would make more sense, probably after each extraction though).

Unfortunately, no coder here so I tried to find some available code here and also tried ChatGPT but don't get MyJDownloader to take the code.

Found the following code in this thread (https://board.jdownloader.org/showpo...postcount=1421)...

Quote:
[ {
"eventTrigger" : "ON_ARCHIVE_EXTRACTED",
"enabled" : true,
"name" : "Synology Videoordner nach entpacken indizieren",
"script" : "disablePermissionChecks();\n\nif (isDownloadControllerIdle() && !callAPI("extraction", "getQueue").length) callSync("synoindex", "-R", "video");",
"eventTriggerSettings" : {
"isSynchronous" : false
},
"id" : anonymus
} ]
...but unfortuantely MyJDownloader keeps telling me "Sorry, failed to set new values"

JD is running headless on Ubuntu 22.04.2 LTS.

Any hint is appreciated.
Reply With Quote
  #2620  
Old 21.05.2023, 02:49
TomYam TomYam is offline
Super Loader
 
Join Date: Dec 2019
Posts: 27
Default

Is there an event script code to switch tabs, specifically Downloads and LinkGrabber?
I read through the API document and found nothing relating to the action.
No similar example script seems not to be listed here.
All I want to do is switch focused tabs between Downloads and LinkGrabber in certain seconds like 5s.
Can anyone show me how to do it?
Thank you.
Reply With Quote
  #2621  
Old 23.05.2023, 15:38
neik neik is offline
Modem User
 
Join Date: May 2023
Posts: 3
Default

Quote:
Originally Posted by neik View Post
I'm trying to figure out a way of executing a bash-script at the end of either each extraction or at the end of the last extraction (not quite sure yet what would make more sense, probably after each extraction though).

Unfortunately, no coder here so I tried to find some available code here and also tried ChatGPT but don't get MyJDownloader to take the code.

Found the following code in this thread (**External links are only visible to Support Staff**...)...



...but unfortuantely MyJDownloader keeps telling me "Sorry, failed to set new values"

JD is running headless on Ubuntu 22.04.2 LTS.

Any hint is appreciated.
Nobody?
Reply With Quote
  #2622  
Old 25.05.2023, 23:04
de_canalslover de_canalslover is offline
I will play nice!
 
Join Date: May 2023
Posts: 1
Default mgpai's script does not work properly

Hi, as the title say mgpai's script seems not to work fully. I'm talking about
Save youtube links and basic information to a html page
Code:
// Save youtube links and basic information to a html page.
// Trigger required: "A Download Stopped"

// Get link property
String.prototype.prop = function() {
    return link.getProperty(this);
};

// Convert duration to hh:mm:ss.ms format
Date.prototype.duration = function() {
    var ms = parseInt((this % 1000) / 100);
    var ss = parseInt((this / 1000) % 60);
    var mm = parseInt((this / (1000 * 60)) % 60);
    var hh = parseInt((this / (1000 * 60 * 60)) % 24);

    hh = (hh < 10) ? "0" + hh : hh;
    mm = (mm < 10) ? "0" + mm : mm;
    ss = (ss < 10) ? "0" + ss : ss;

    return hh + ":" + mm + ":" + ss + "." + ms;
};

// Get media bitrate
Number.prototype.toKbps = function() {
    return ((this / mediaDuration) * 8).toFixed(2);
};

// youtube media check
var youtubeMedia = link.getHost() == "youtube.com" && (/\.(m4a|aac|ogg|mp3|mp4|webm)$/).test(link.getName());

// Get Data
if (youtubeMedia) {
    var output = [];
    var variant = JSON.parse("YT_VARIANT".prop());
    var variantData = JSON.parse(variant.data);
    var youtube = "<a href=\"" + "http"+ "s://youtube.com/";
    var saveFile = link.getDownloadPath() + ".info.html";
    var fileSize = link.getBytesTotal();
    var demux = (/DEMUX/).test(variant.id);
    var audioSize = !demux ? "DASH_AUDIO_SIZE".prop() : fileSize;
    var videoSize = "DASH_VIDEO_SIZE".prop();
    var mediaDuration = "YT_DURATION".prop();
    var data = {
        Video: youtube + "watch?v=" + "YT_ID".prop() + "\">" + "YT_TITLE".prop() + "</a>",
        Playlist: "YT_PLAYLIST_ID".prop() && "YT_PLAYLIST_TITLE".prop() ? youtube + "playlist?list=" + "YT_PLAYLIST_ID".prop() + "\">" + "YT_PLAYLIST_TITLE".prop() + "</a>" : null,
        User: youtube + "user/" + "YT_USER_NAME".prop() + "\">" + "YT_USER_NAME".prop() + "</a>",
        Channel: youtube + "channel/" + "YT_CHANNEL_ID".prop() + "\">" + "YT_CHANNEL".prop() + "</a>" + "\r\n",
        Published: new Date("YT_DATE".prop()).toDateString(),
        Size: (fileSize / 1048576).toFixed(2) + " MiB",
        Duration: new Date(mediaDuration).duration(),
        Width: variantData.width,
        Height: variantData.height,
        FPS: variantData.fps,
        Audio_Bitrate: audioSize.toKbps() + " kbps",
        Video_Bitrate: !demux && fileSize > audioSize ? videoSize.toKbps() + " kbps" : null,
        Overall_Bitrate: !demux && fileSize > audioSize ? fileSize.toKbps() + " kbps" : null,
        Variant_ID: variant.id,
    };
    // Generate output[]
    for (i in data) {
        if (data[i] && data[i] != -1) {
            output.push(i.replace(/_/g, " ") + " : " + data[i]);
        }
    }
    // Format output[] and save to html file
    try {
        deleteFile(saveFile, false); // Delete info file if it already exists on the disk.
        writeFile(saveFile, "<pre>" + output.join("<br>") + "</pre>", false);
    } catch (err) {
        log(err + "");
    }
}

When video stops downloading I get error: "TypeError: Cannot call method 'toKbps' of null (#43)" which results in script turning off in the Event Scripter which is irritating. I removed lines which had "toKbps" in them and there was no error but I would like to keep info regarding bitrate in html. I know that the script was written in 2016. I presume that there were some changes in youtube which make parts of this script to not work ideally. Any ideas how to fix the script?
Reply With Quote
  #2623  
Old 30.05.2023, 08:13
neik neik is offline
Modem User
 
Join Date: May 2023
Posts: 3
Default

Quote:
Originally Posted by neik View Post
I'm trying to figure out a way of executing a bash-script at the end of either each extraction or at the end of the last extraction (not quite sure yet what would make more sense, probably after each extraction though).

Unfortunately, no coder here so I tried to find some available code here and also tried ChatGPT but don't get MyJDownloader to take the code.

Found the following code in this thread (**External links are only visible to Support Staff**...)...



...but unfortuantely MyJDownloader keeps telling me "Sorry, failed to set new values"

JD is running headless on Ubuntu 22.04.2 LTS.

Any hint is appreciated.
For all those who might be interested on how I solved this:

I simply created a script checking for files in use and depending on the result it went ahead or stopped.

Put that script in a hourly running cronjob and that's it.
Reply With Quote
  #2624  
Old 30.05.2023, 16:06
pspzockerscene's Avatar
pspzockerscene pspzockerscene is offline
Community Manager
 
Join Date: Mar 2009
Location: Deutschland
Posts: 71,047
Default

Merged EventScripter related threads.
__________________
JD Supporter, Plugin Dev. & Community Manager

Erste Schritte & Tutorials || JDownloader 2 Setup Download
Spoiler:

A users' JD crashes and the first thing to ask is:
Quote:
Originally Posted by Jiaz View Post
Do you have Nero installed?
Reply With Quote
  #2625  
Old 30.05.2023, 21:36
GreenXIII GreenXIII is offline
Bandwidth Beast
 
Join Date: Mar 2013
Posts: 145
Default

Hello mgpai and friends,

I need a way to make JD2 notify me of URLs caught by Linkgrabber that are NOT supported. Currently, JD2 doesn't do anything with those links, and doesn't notify me that they are not supported.

If I add several links (via clipboard monitoring or a text file), the links that aren't supported by JD2's plugins should be listed somehow, so I can find another way to download them.

The best way would be a custom view on Linkgrabber ("Not supported", "Unavailable", "Error", anything that warns me that JD can't download them).

Is it doable?
Reply With Quote
  #2626  
Old 31.05.2023, 10:35
pspzockerscene's Avatar
pspzockerscene pspzockerscene is offline
Community Manager
 
Join Date: Mar 2009
Location: Deutschland
Posts: 71,047
Default

@GreenXIII
I know this won't help you now but I wanted to point out that you are not the first user asking for such a feature to be added.
Related thread: Click
__________________
JD Supporter, Plugin Dev. & Community Manager

Erste Schritte & Tutorials || JDownloader 2 Setup Download
Spoiler:

A users' JD crashes and the first thing to ask is:
Quote:
Originally Posted by Jiaz View Post
Do you have Nero installed?
Reply With Quote
  #2627  
Old 31.05.2023, 11:13
amcucchi amcucchi is offline
Junior Loader
 
Join Date: Oct 2020
Posts: 10
Question Rename filename single character

How I can write a script to rename all file I download that contains the character _ with character . ?

Example : I want to automatically rename this

I_Hate_Suzie_2021_1x01.mp4

in this

I.Hate.Suzie.2021.1x01.mp4

I tried to do a packagizer rule that for every file that contains * in the name

rename it in (I tried to write a regex formula similar to sed) /_/\./

but it not work.

Can you help me?
__________________
Amcucchi

Last edited by amcucchi; 31.05.2023 at 11:15.
Reply With Quote
  #2628  
Old 07.06.2023, 20:33
vielix vielix is offline
Modem User
 
Join Date: Jun 2023
Posts: 4
Talking

Can someone write me a script that will rename a file to all lowercase once download is complete? For example: a file named SomeRandomFile123.txt changed to somerandonfile123.txt. Apologies for outright asking for the code, but I'm just not familiar with Java at all and only installed JDownloader recently. Please and thank you.
Reply With Quote
  #2629  
Old 08.06.2023, 14:49
BlackRuffy BlackRuffy is offline
Wind Gust
 
Join Date: Apr 2009
Posts: 44
Default Umgehung von Free User Limits mit Ereignis Skripter und Proxys?

Hallo liebe Leute.

Da ich mit dem Scripten selbst gar keine Erfahrung habe, wollte ich mal fragen ob es eine Möglichkeit gibt, mittels des Ereignis Skripters in Kombination mit Proxys die 1 Free User Limits von Hostern zu umgehen?

Der Gedanke ist, dass im Skript ein oder mehrere Hoster eingetragen werden können, ggf. später noch nachgetragen werden können.

Ich weiß nicht, ob das nun ausgediente zippyshare script nicht schon einen großen Teil dessen inbeinhaltet? (Siehe Spoiler)
Würde mich freuen wenn sich eine Qualifizierte Kraft das anschauen könnte

Spoiler:

Code:
var links = getAllDownloadLinks();
for (i = 0; i < links.length; i++) {
var link = links[i];
if (link.isEnabled()) {
if (link.getHost() == "zippyshare.com") {
if (link.getStatus() == "Retry in 15 minutes" || link.getStatus() == "403 GEO-blocked" || link.getStatus() == "Blocked by Firewall, ISP") {
link.setSkipped(true);
sleep(1000);
link.setSkipped(false);
}
}
}
}


Spoiler:
Code:
var refreshtime = "900"; // (e.g. 900s)
var myCountries = ["GB", "DE", "FR"]; //Filterlist for countries
var max_response_time = 1.5; //1.5 or higher (e.g. 2), 1 is too low
var proxy_test = 1; //1=ON,0=OFF (very slow)
var max_proxies = 0; //0=Unlimited
var standard_filter = " \"filter\" : {\"type\" : \"WHITELIST\",\"entries\" : [ \"zippyshare.com\"]},"; //\"filter\" : null,
var add_proxy = JSON.parse("{\"proxy\" : {\"username\" : null,\"password\" : null,\"port\" : 80,\"address\" : null,\"type\" : \"NONE\",\"preferNativeImplementation\" : false,\"resolveHostName\" : false,\"connectMethodPrefered\" : false},\"rangeRequestsSupported\" : true," + standard_filter + "\"pac\" : false,\"reconnectSupported\" : false,\"enabled\" : true}");
var filter = new Array();

var old_proxylist = [];
var new_proxylist = "";

var settings = "org.jdownloader.updatev2.InternetConnectionSettings";
var storage = "cfg/org.jdownloader.settings.InternetConnectionSettings";
old_proxylist = callAPI("config", "get", settings, storage, "customproxylist");

if (IsValidname() || IsValidinterval() && ((Math.round(Date.now() / 1000) - getProperty("LastProxyUpdate", true)) >= refreshtime) && !getProperty("updatingProxy", true) || getProperty("updatingProxy", true)) {
if (!getProperty("updatingProxy", true)) {
setProperty("LastProxyUpdate", Math.round(Date.now() / 1000), true);
} else {
if (getProperty("updatingProxy", true)) {
setProperty("updatingProxy", false, true);
}
}

var html;
try {
html = getPage("https" + "://raw.githubusercontent.com/fate0/proxylist/master/proxy.list");

var lines = html.split("\n");

for (var key in old_proxylist) {
if (old_proxylist.hasOwnProperty(key)) {
if (old_proxylist[key].proxy.type == "DIRECT" || old_proxylist[key].proxy.type == "NONE" || old_proxylist[key].enabled == false) {
if (new_proxylist == "") {
new_proxylist += JSON.stringify(old_proxylist[key]);
} else {
new_proxylist += "," + JSON.stringify(old_proxylist[key]);
}
}
}
}

var myBr = getBrowser();
for (var i = 0; i < lines.length; ++i) {
if (IsValidJSONString(lines[i])) {
var temp_JSON = JSON.parse(lines[i]);
var add_proxy_new = add_proxy;
add_proxy_new.proxy.type = temp_JSON.type.toUpperCase();
add_proxy_new.proxy.port = temp_JSON.port;
add_proxy_new.proxy.address = temp_JSON.host;
if (myCountries.indexOf(temp_JSON.country) > -1 || temp_JSON.response_time > max_response_time) {
continue; //skip proxy
}
var errorcheck = 0;
if (proxy_test == 1) {
myBr.setProxy(temp_JSON.type + "://" + temp_JSON.host + ":" + temp_JSON.port);
try {
myBr.getPage("http://www.google.de/");
} catch (e) {
errorcheck = 1;
}
}

if (errorcheck == 0 && proxy_test == 1 || proxy_test != 1) {

if (add_proxy_new.proxy.address && filter[temp_JSON.host] != true) {
filter[temp_JSON.host] = true;
if (new_proxylist == "") {
new_proxylist += JSON.stringify(add_proxy_new);
} else {
new_proxylist += "," + JSON.stringify(add_proxy_new);
}
}
}
}
if (i >= max_proxies && max_proxies > 0) {
break;
}
}
callAPI("config", "set", settings, storage, "customproxylist", "[" + new_proxylist + "]");
} catch (e) {}
}

function IsValidJSONString(str) {
if (typeof str !== "string") {
return false;
}
try {
JSON.parse(str);
} catch (e) {
return false;
}
return true;
}

function IsValidname() {
try {
if (name == "Geoblocking: zippy") {
return true;
}
} catch (e) {
return false;
}
return true;
}

function IsValidinterval() {
try {
if (interval >= 10000) {
return true;
}
} catch (e) {
return false;
}
return true;
}
Reply With Quote
  #2630  
Old 15.06.2023, 02:16
thecoder2012's Avatar
thecoder2012 thecoder2012 is offline
Official 9kw.eu Support
 
Join Date: Feb 2013
Location: Internet
Posts: 1,324
Default

Quote:
Originally Posted by BlackRuffy View Post
Da ich mit dem Scripten selbst gar keine Erfahrung habe, wollte ich mal fragen ob es eine Möglichkeit gibt, mittels des Ereignis Skripters in Kombination mit Proxys die 1 Free User Limits von Hostern zu umgehen?
Proxies in JDownloader eintragen und freuen. In vielen Fällen ist kein Skript dazu erforderlich, wenn stabile Proxies hinterlegt sind. Die meisten kostenfreien Proxies sind allerdings instabil und oft nicht vertrauenswürdig.

Quote:
Originally Posted by BlackRuffy View Post
Der Gedanke ist, dass im Skript ein oder mehrere Hoster eingetragen werden können, ggf. später noch nachgetragen werden können.
In JDownloader sind dafür White- und Blacklisten je Verbindung (Proxy/IP) vorgesehen.
Welche Besonderheit gibt es bei den gewünschten Hostern? Also wozu genau soll das Skript dienen?

Quote:
Originally Posted by BlackRuffy View Post
Ich weiß nicht, ob das nun ausgediente zippyshare script nicht schon einen großen Teil dessen inbeinhaltet?
Grundsätzlich ja. Manche Nutzer im JD Forum haben das in diversen Themen auch probiert.
Das Hauptproblem waren stets funktionierende Proxies zu haben, so mehr das Skript verwendet haben, so weniger funktionierte es weil fast alle versuchten die gleichen Proxies aus fragwürdiger Quelle zu nutzen.

Quote:
Originally Posted by BlackRuffy View Post
Würde mich freuen wenn sich eine Qualifizierte Kraft das anschauen könnte
Eine qualifizierte Kraft lässt sich mit der Zeit sicher finden.
__________________
Join 9kw.eu Captcha Service now and let your JD continue downloads while you sleep.
Reply With Quote
  #2631  
Old 19.06.2023, 14:16
Nimboid Nimboid is offline
Vacuum Cleaner
 
Join Date: Jan 2023
Location: UK
Posts: 18
Default

Quote:
Originally Posted by mgpai View Post
If JD has stored strings from the source page as 'property' it can be accessed using the built-in methods or by using your own prototype/function. 'this' would the name of that 'property' in that context.

[...]

All properties available for a particular link can be accessed using this method. Some plugins will also store media tags like 'artist', 'album' etc. as 'property'. Check plugin source code for the list of properties stored by it.
I'd been struggling with lack of documentation for 'myDownloadLink.getProperty(myString)', until I stumbled on this post!

Most of my investigations have led to JD hanging (even from within try blocks) and needing killing. Would it be a good idea to mandate a standard property for each plugin to contain list of available property keys? A comma-delimited text string would suffice, maybe call it "ToC"?.
Reply With Quote
  #2632  
Old 19.06.2023, 19:59
pspzockerscene's Avatar
pspzockerscene pspzockerscene is offline
Community Manager
 
Join Date: Mar 2009
Location: Deutschland
Posts: 71,047
Default

Quote:
Originally Posted by Nimboid View Post
Would it be a good idea to mandate a standard property for each plugin to contain list of available property keys? A comma-delimited text string would suffice, maybe call it "ToC"?.
Yap and you're not the first one suggesting this.

This would be part of the following feature set:
https://board.jdownloader.org/showthread.php?t=90744

I recommend reading that thread and posting your suggestions there.

However at this moment and in the forseeable future, you need to work with what is there:
There is no list of each plugins' properties available so here is some ways on how to find them:
  • Search our forums
  • Find the plugin classes in our source code and look for any "setProperty" statements done in a crawler- and/or hosterplugin
__________________
JD Supporter, Plugin Dev. & Community Manager

Erste Schritte & Tutorials || JDownloader 2 Setup Download
Spoiler:

A users' JD crashes and the first thing to ask is:
Quote:
Originally Posted by Jiaz View Post
Do you have Nero installed?
Reply With Quote
  #2633  
Old 19.06.2023, 22:58
pspzockerscene's Avatar
pspzockerscene pspzockerscene is offline
Community Manager
 
Join Date: Mar 2009
Location: Deutschland
Posts: 71,047
Default

@BlackRuffy
EventScripter Threads zusammengeführt.
__________________
JD Supporter, Plugin Dev. & Community Manager

Erste Schritte & Tutorials || JDownloader 2 Setup Download
Spoiler:

A users' JD crashes and the first thing to ask is:
Quote:
Originally Posted by Jiaz View Post
Do you have Nero installed?
Reply With Quote
  #2634  
Old 20.06.2023, 00:40
Alexpark24 Alexpark24 is offline
Junior Loader
 
Join Date: Jan 2023
Posts: 13
Default

Hello!, here I am again :3, well this time I come to ask you if there is any script to move the downloaded files including the folder that was created by jdownloader by the packer rule to another place in my case my folder is set to the jdownloader path is this:

C:\Users\Alexpark242\Documents\MEGAsync Downloads\Raigo

Oh I forgot to mention it, could it be the files downloaded from a specific website? Here I have the url of the web site:

**External links are only visible to Support Staff**...

and move them to this path:

C:\Users\Alexpark242\Downloads\Downloads\Compressed

Thank you!! In the event that it is not possible from the website, if not all the downloaded files have to be moved to that path, it also helps me a thousand thanks!!
Reply With Quote
  #2635  
Old 21.06.2023, 14:52
jaypie jaypie is offline
I will play nice!
 
Join Date: May 2022
Posts: 6
Default EventScripter InfoDatei erstellen funktioniert nicht

Hallo!
Ich kann leider nicht ganz nachvollziehen, warum das EventScripter Plugin bei mir einfach gar nicht funktionieren will.
Ich möchte das Feature mit der InfoDatei nutzen, die nach dem Fertigstellen des Downloads erstellt werden soll. Dafür nutze ich das Example Script, Test Run und Test Compile funktionieren natürlich. Trigger steht auf "Paket fertiggestellt".
Was ich bereits getan habe:
- auf zwei verschiedenen Maschinen die völlig unterschiedlich sind getestet
- mehrmals das Plugin und das Script neu installiert, aktiviert, JD neu gestartet etc
- Logs zum EventScripter gecheckt, sind komplett leer.

Was kann ich tun und wo kann ich ansetzen? Ich bin ziemlich ratlos, übersehe ich was?

Danke schon mal für eure Hilfe!
Reply With Quote
  #2636  
Old 21.06.2023, 15:03
pspzockerscene's Avatar
pspzockerscene pspzockerscene is offline
Community Manager
 
Join Date: Mar 2009
Location: Deutschland
Posts: 71,047
Default

EventScripter Threads zusammengeführt.

@jaypie
Bitte das genutzte Script in dein Post packen oder verlinken.
__________________
JD Supporter, Plugin Dev. & Community Manager

Erste Schritte & Tutorials || JDownloader 2 Setup Download
Spoiler:

A users' JD crashes and the first thing to ask is:
Quote:
Originally Posted by Jiaz View Post
Do you have Nero installed?
Reply With Quote
  #2637  
Old 21.06.2023, 17:34
BlackRuffy BlackRuffy is offline
Wind Gust
 
Join Date: Apr 2009
Posts: 44
Default

@thecoder2012

Ich hätte es schon gern, dass die Proxy automatisch gesucht und zusammengefügt werden.
Bin zum manuellen eintragne zu faul


Spoiler:
Quote:
Originally Posted by thecoder2012 View Post
Proxies in JDownloader eintragen und freuen. In vielen Fällen ist kein Skript dazu erforderlich, wenn stabile Proxies hinterlegt sind. Die meisten kostenfreien Proxies sind allerdings instabil und oft nicht vertrauenswürdig.


In JDownloader sind dafür White- und Blacklisten je Verbindung (Proxy/IP) vorgesehen.
Welche Besonderheit gibt es bei den gewünschten Hostern? Also wozu genau soll das Skript dienen?


Grundsätzlich ja. Manche Nutzer im JD Forum haben das in diversen Themen auch probiert.
Das Hauptproblem waren stets funktionierende Proxies zu haben, so mehr das Skript verwendet haben, so weniger funktionierte es weil fast alle versuchten die gleichen Proxies aus fragwürdiger Quelle zu nutzen.


Eine qualifizierte Kraft lässt sich mit der Zeit sicher finden.
Reply With Quote
  #2638  
Old 22.06.2023, 08:49
jaypie jaypie is offline
I will play nice!
 
Join Date: May 2022
Posts: 6
Default

Edit: Hier das Beispiel-Script, das ich nutze:
PHP Code:
/*
    Event Script: writeInfoFile
 
                  Creates an Info-File into the DL-Folder with detailed information
                  
    Version: 0.21
 
 Requirements:
    Trigger "Package Finished"

 Tested:
     JD2 on Windows7-32bit Platform and jre8 (see path-creation code at the end of this script) 
 */


//---------- Global declarations -----------------
var bWriteFile false//pessimistic approach: no file-writing at start, if situation ok, then set it "true"
var sInfoFilePath ""//the target file, if already available, then APPENDING, else creation
var sText ""//will be filled with content (or not :-)
var sInfoFileType ".info" //set path creation at the end of the script
var iContent 0//setting bit 1 if pwd is available, setting bit 2 if comments available //if not set, no info file
var myPackage package;
var 
aParts myPackage.getDownloadLinks();
var 
aArchives package.getArchives();






//---------- ANALYZING SITUATION ----------
if (myPackage.isFinished() == true) {
    
//no further analysis due to Trigger "Package Finished" :-)
    
bWriteFile true;
}




//---------- Building Info-Text -----------
if (bWriteFile == true) {
    
sText += "**********************************" "\r\n"
    
sText += "*          P A C K A G E         *" "\r\n"
    
sText += "**********************************" "\r\n"
    
sText += "Package.Name              : " myPackage.getName() + "\r\n" +
        
"Package.DownloadFolder    : " myPackage.getDownloadFolder() + "\r\n" +
        
"Package.Total             : " myPackage.getBytesTotal() + "\r\n" +
        
"Package.Loaded            : " myPackage.getBytesLoaded() + "\r\n" +
        
"Package.Finished          : " myPackage.isFinished() + "\r\n";
    if (
myPackage.getComment() != undefined) {
        
sText += "Package.Comment           : " myPackage.getComment() + "\r\n";
        
iContent |= 2;
    }

    
sText += "\r\n"
    
sText += "**********************************" "\r\n"
    
sText += "*            P A R T S           *" "\r\n"
    
sText += "**********************************" "\r\n"
    
for (var 0aParts.lengthi++) {
        
sText += "Part.#                    : " "\r\n" +
            
"Part.Name                 : " aParts[i].getName() + "\r\n" +
            
"Part.Status               : " aParts[i].getStatus() + "\r\n" +
            
"Part.Enabled              : " aParts[i].isEnabled() + "\r\n" +
            
"Part.Finished             : " aParts[i].isFinished() + "\r\n" +
            
"Part.Skipped              : " aParts[i].isSkipped() + "\r\n" +
            
"Part.ExtractionStatus     : " aParts[i].getExtractionStatus() + "\r\n" +
            
"Part.Total                : " aParts[i].getBytesTotal() + "\r\n" +
            
"Part.Loaded               : " aParts[i].getBytesLoaded() + "\r\n";
        if (
aParts[i].getUrl() != undefined) {
            
sText += "Part.URL                  : " aParts[i].getUrl() + "\r\n";
        }
        if (
aParts[i].getComment() != undefined) {
            
sText += "Part.Comment              : " aParts[i].getComment() + "\r\n";
            
iContent |= 2;
        }
        var 
myArchive aParts[i].getArchive();
        if (
myArchive != undefined) {
            if (
myArchive.getUsedPassword() != undefined) {
                
sText += "Part.UsedPassword         : " myArchive.getUsedPassword() + "\r\n";
                
iContent |= 1;
            }
        }
        
sText += "--------------------------:-" "\r\n"
    
}

    
sText += "\r\n"
    
sText += "**********************************" "\r\n"
    
sText += "*        A R C H I V E S         *" "\r\n"
    
sText += "**********************************" "\r\n"
    
for (var 0aArchives.lengthi++) {
        
sText += "Archive.#                    : " "\r\n" +
            
"Archive.Name                 : " aArchives[i].getName() + "\r\n" +
            
"Archive.ArchiveTyp           : " aArchives[i].getArchiveType() + "\r\n";

        if (
aArchives[i].getInfo() != undefined) {
            
sText += "Package.Archive.Info         : ";
            
sText += JSON.stringify(aArchives[i].getInfo(), null2) + "\r\n";
        }
        
sText += "--------------------------:-" "\r\n"
    
}
}




//---------- INFO.FILE naming and writing ----------- 
if (bWriteFile == true && iContent 0) { //comment out or set "iContent >= 0" if info-file should be written always
    //- path creation
    
sInfoFileType "." iContent sInfoFileType //add content-type hint to filetype
    
sInfoFilePath myPackage.getDownloadFolder() + "/" myPackage.getName() + sInfoFileType//<packageFolder>/<packageName>.<iContent>.info
    
if (sInfoFilePath.length 255) { //path to long! -> shorten!!
        
sInfoFilePath myPackage.getDownloadFolder() + "/jd" sInfoFileType//<packageFolder>/jd.<iContent>.info
    
}
    
//- writing
    
try {
        
writeFile(sInfoFilePathsTexttrue);
    } catch (
e) {
        
//no error handling implemented !    
    
}

Quote:
Originally Posted by jaypie View Post
Hallo!
Ich kann leider nicht ganz nachvollziehen, warum das EventScripter Plugin bei mir einfach gar nicht funktionieren will.
Ich möchte das Feature mit der InfoDatei nutzen, die nach dem Fertigstellen des Downloads erstellt werden soll. Dafür nutze ich das Example Script, Test Run und Test Compile funktionieren natürlich. Trigger steht auf "Paket fertiggestellt".
Was ich bereits getan habe:
- auf zwei verschiedenen Maschinen die völlig unterschiedlich sind getestet
- mehrmals das Plugin und das Script neu installiert, aktiviert, JD neu gestartet etc
- Logs zum EventScripter gecheckt, sind komplett leer.

Was kann ich tun und wo kann ich ansetzen? Ich bin ziemlich ratlos, übersehe ich was?

Danke schon mal für eure Hilfe!
Reply With Quote
  #2639  
Old 22.06.2023, 12:12
pspzockerscene's Avatar
pspzockerscene pspzockerscene is offline
Community Manager
 
Join Date: Mar 2009
Location: Deutschland
Posts: 71,047
Default

@jaypie
Du scheinst die Kommentare am Anfang des Scriptes nicht gelesen zu haben.
Per default wird die Datei nur geschrieben, wenn das Paket ein Kommentar hat.

Setze "iContent" auf irgendeinen Wert höher als 0 und das Infofile wird immer geschrieben.
Ich habe das Script mal um "alerts" erweitert, sodass man es besser debuggen kann.
Setze "debugdialogs" in der folgenden Version auf true und das Script wird an diversen Stellen Dialoge zeigen.

Spoiler:
Code:
/*
    Event Script: writeInfoFile
 
                  Creates an Info-File into the DL-Folder with detailed information
                  
    Version: 0.21
 
 Requirements:
    Trigger "Package Finished"

 Tested:
     JD2 on Windows7-32bit Platform and jre8 (see path-creation code at the end of this script) 
 */


//---------- Global declarations -----------------
var debugdialogs = false;
if (debugdialogs == true) {
	alert('Debug: script started')
}

var sInfoFilePath = ""; //the target file, if already available, then APPENDING, else creation
var sText = ""; //will be filled with content (or not :-)
var sInfoFileType = ".info" //set path creation at the end of the script
var iContent = 1; //setting bit 1 if pwd is available, setting bit 2 if comments available //if not set, no info file, set to > 0 to always write info file
var myPackage = package;
var aParts = myPackage.getDownloadLinks();
var aArchives = package.getArchives();



var bWriteFile = false;
//---------- Building Info-Text -----------
if (myPackage.isFinished() == true) {
	bWriteFile = true;
    sText += "**********************************" + "\r\n"
    sText += "*          P A C K A G E         *" + "\r\n"
    sText += "**********************************" + "\r\n"
    sText += "Package.Name              : " + myPackage.getName() + "\r\n" +
        "Package.DownloadFolder    : " + myPackage.getDownloadFolder() + "\r\n" +
        "Package.Total             : " + myPackage.getBytesTotal() + "\r\n" +
        "Package.Loaded            : " + myPackage.getBytesLoaded() + "\r\n" +
        "Package.Finished          : " + myPackage.isFinished() + "\r\n";
    if (myPackage.getComment() != undefined) {
        sText += "Package.Comment           : " + myPackage.getComment() + "\r\n";
        iContent |= 2;
    }

    sText += "\r\n"
    sText += "**********************************" + "\r\n"
    sText += "*            P A R T S           *" + "\r\n"
    sText += "**********************************" + "\r\n"
    for (var i = 0; i < aParts.length; i++) {
        sText += "Part.#                    : " + i + "\r\n" +
            "Part.Name                 : " + aParts[i].getName() + "\r\n" +
            "Part.Status               : " + aParts[i].getStatus() + "\r\n" +
            "Part.Enabled              : " + aParts[i].isEnabled() + "\r\n" +
            "Part.Finished             : " + aParts[i].isFinished() + "\r\n" +
            "Part.Skipped              : " + aParts[i].isSkipped() + "\r\n" +
            "Part.ExtractionStatus     : " + aParts[i].getExtractionStatus() + "\r\n" +
            "Part.Total                : " + aParts[i].getBytesTotal() + "\r\n" +
            "Part.Loaded               : " + aParts[i].getBytesLoaded() + "\r\n";
        if (aParts[i].getUrl() != undefined) {
            sText += "Part.URL                  : " + aParts[i].getUrl() + "\r\n";
        }
        if (aParts[i].getComment() != undefined) {
            sText += "Part.Comment              : " + aParts[i].getComment() + "\r\n";
            iContent |= 2;
        }
        var myArchive = aParts[i].getArchive();
        if (myArchive != undefined) {
            if (myArchive.getUsedPassword() != undefined) {
                sText += "Part.UsedPassword         : " + myArchive.getUsedPassword() + "\r\n";
                iContent |= 1;
            }
        }
        sText += "--------------------------:-" + "\r\n"
    }

    sText += "\r\n"
    sText += "**********************************" + "\r\n"
    sText += "*        A R C H I V E S         *" + "\r\n"
    sText += "**********************************" + "\r\n"
    for (var i = 0; i < aArchives.length; i++) {
        sText += "Archive.#                    : " + i + "\r\n" +
            "Archive.Name                 : " + aArchives[i].getName() + "\r\n" +
            "Archive.ArchiveTyp           : " + aArchives[i].getArchiveType() + "\r\n";

        if (aArchives[i].getInfo() != undefined) {
            sText += "Package.Archive.Info         : ";
            sText += JSON.stringify(aArchives[i].getInfo(), null, 2) + "\r\n";
        }
        sText += "--------------------------:-" + "\r\n"
    }
}




//---------- INFO.FILE naming and writing -----------
var fileWritten = false;
if (bWriteFile == true && iContent > 0) { //comment out or set "iContent >= 0" if info-file should be written always
    //- path creation
    sInfoFileType = "." + iContent + sInfoFileType //add content-type hint to filetype
    sInfoFilePath = myPackage.getDownloadFolder() + "/" + myPackage.getName() + sInfoFileType; //<packageFolder>/<packageName>.<iContent>.info
    if (sInfoFilePath.length > 255) { //path to long! -> shorten!!
        sInfoFilePath = myPackage.getDownloadFolder() + "/jd" + sInfoFileType; //<packageFolder>/jd.<iContent>.info
    }
    //- writing
    try {
        writeFile(sInfoFilePath, sText, true);
		fileWritten = true;
    } catch (e) {
        //no error handling implemented ! 
		if (debugdialogs == true) {
			alert('Debug: Script failure | Failed to write to path: ' + sInfoFilePath)
		}
    }
}

if (debugdialogs == true) {
	if (bWriteFile == true) {
		alert('Debug: Script success | Packagename: ' + myPackage.getName() + ' | fileWritten=' + fileWritten + ' | Path: ' + sInfoFilePath)
	} else {
		alert('Debug: Script fail | Wrong trigger or test-execution?!')
	}
}


Bei mir funktionierte das Script einwandfrei!
__________________
JD Supporter, Plugin Dev. & Community Manager

Erste Schritte & Tutorials || JDownloader 2 Setup Download
Spoiler:

A users' JD crashes and the first thing to ask is:
Quote:
Originally Posted by Jiaz View Post
Do you have Nero installed?
Reply With Quote
  #2640  
Old 22.06.2023, 12:15
pspzockerscene's Avatar
pspzockerscene pspzockerscene is offline
Community Manager
 
Join Date: Mar 2009
Location: Deutschland
Posts: 71,047
Default

Quote:
Originally Posted by BlackRuffy View Post
Ich hätte es schon gern, dass die Proxy automatisch gesucht und zusammengefügt werden.
Bin zum manuellen eintragne zu faul
Dann musst du dir dafür etwas basteln oder einen Freelancer engagieren, der dies für dich tut
Ich weiß nicht, inwiefern das Script was hier mal rumflog noch funktioniert.

Wie im Forum schon mehrfach geschrieben halte ich von der Verwendung dutzender Free Proxies nicht: Fehleranfällig, instabil, langsam!
Da würde ich mir lieber einen premium Account kaufen (diese Aussage hat keinen Werbehintergrund).

Dies ist jedoch nur meine Meinung. Wenn man genug Zeit und/oder sogar Spaß an sowas hat, kann man sich natürlich an eine Lösung setzen.
__________________
JD Supporter, Plugin Dev. & Community Manager

Erste Schritte & Tutorials || JDownloader 2 Setup Download
Spoiler:

A users' JD crashes and the first thing to ask is:
Quote:
Originally Posted by Jiaz View Post
Do you have Nero installed?

Last edited by pspzockerscene; 22.06.2023 at 12:23. Reason: Tippfehler fixed
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT +2. The time now is 14:58.
Provided By AppWork GmbH | Privacy | Imprint
Parts of the Design are used from Kirsch designed by Andrew & Austin
Powered by vBulletin® Version 3.8.10 Beta 1
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.