Open Protektor-Desura opened 2 years ago
Proxy list generator program https://github.com/fate0/getproxy
Lists https://github.com/fate0/proxylist https://github.com/clarketm/proxy-list
Script to auto download a list of proxys on launch for JDownloader. Go to Settings, then Event Scripter, then add this script, tell it to activate on "Jdownloader started".
//Proxylist updates
//disablePermissionChecks();
//setNotifyOnException(true);
var proxy_test = 1; //1=ON,0=OFF
var max_proxies = 0; //0=Unlimited
var old_proxylist = [];
var new_proxylist = "";
var add_proxy = JSON.parse("{\"proxy\" : {\"username\" : null,\"password\" : null,\"port\" : 80,\"address\" : null,\"type\" : \"NONE\",\"preferNativeImplementation\" : false,\"resolveHostName\" : false,\"connectMethodPrefered\" : false},\"rangeRequestsSupported\" : true,\"filter\" : null,\"pac\" : false,\"reconnectSupported\" : false,\"enabled\" : true}");
var filter = new Array();
var settings = "org.jdownloader.updatev2.InternetConnectionSettings";
var storage = "cfg/org.jdownloader.settings.InternetConnectionSettings";
old_proxylist = callAPI("config", "get", settings, storage, "customproxylist");
var 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;
var errorcheck = 0;
if (proxy_test == 1) {
myBr.setProxy(temp_JSON.type + "://" + temp_JSON.host + ":" + temp_JSON.port);
try {
myBr.getPage("http://www.google.com/");
} 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 + "]");
function IsValidJSONString(str) {
if (typeof str !== "string") {
return false;
}
try {
JSON.parse(str);
} catch (e) {
return false;
}
return true;
}
Here is a docker to handle proxies.
By default JDownloader will only use first possible proxy for free download and then switch to next one once the limit is reached -> doesn't increase parallel downloads. You can change:
Settings->Advanced Settings-> GeneralSettings.freeproxybalancemode
to let JDownloader use multiple proxies at the same time and thus download multiple files at the same time as free user.
RANDOM -> Choose next possible random proxy CYCLE -> First, next, next,next.. BALANCE-> try to balance free downloads over available proxies. (RECOMMENDED)
JDownloader will NOT use multiple proxies/switch for downloads with accounts to prevent account blocking because of multiple IPs.
Come up with a script to download and add a list of proxy servers to JDownloader 2 automatically.