JDownloader Community - Appwork GmbH
 

Reply
 
Thread Tools Display Modes
  #1  
Old 02.09.2022, 11:10
Tremolo's Avatar
Tremolo Tremolo is offline
Fibre Channel User
 
Join Date: Jul 2019
Posts: 126
Default Was ist falsch am Code?

Hallo,

hier das Script "Geoblocking", was eigentlich nur für Zippyshare war, aber ausgebaut wurde. Aber uptobox.com zeigt als Status GEO-blocked an und 1fichier Downloadlimit erreicht. Proxies interessieren 1fichier und uptobox.com nicht.


Spoiler:
//Proxylist updates for Zippyshare.com
//Trigger: Interval (e.g. 900000ms)
//disablePermissionChecks();
//setNotifyOnException(false);

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

var max_response_time = 1.5; //1.5 or higher, 1 is too low
var proxy_test = 1; //1=ON,0=OFF
var max_proxies = 0; //0=Unlimited
var old_proxylist = [];
var new_proxylist = "";
var standard_filter = " "filter" : {"type" : "WHITELIST","entries" : [ "zippyshare.com","1fichier.com","uptobox.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 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.**External links are only visible to Support Staff**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 (temp_JSON.country == "DE" || temp_JSON.country == "GB" || temp_JSON.country == "FR" || 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 + "]");

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

Tremolo
Reply With Quote
  #2  
Old 02.09.2022, 11:17
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 79,554
Default

@Tremolo: Hast du denn den Download bei 1fichier und uptobox über den jeweiligen Proxy mal von Hand probiert? Das Skript hat ja erstmal nichts mit den genannten "Download Limit oder Geo Blocked" zu tun. Sondern es sucht Proxies und setzt für genannte Hoster einen Whitelisteintrag. Aber ob der Proxy dann auch für den Hoster XY geht hat damit ja nix zu tun. Sofern ein Proxy schon für 1fichier genutzt wurde in Zeit x, dann ist dort natürlich das "Downloadlimit erreicht". Uptobox kann ja den proxy blockiert haben bzw das Land dahinter. Das Skript setzt lediglich ne Anzahl an Proxies, nicht mehr und nicht weniger.
__________________
JD-Dev & Server-Admin
Reply With Quote
  #3  
Old 02.09.2022, 11:47
Tremolo's Avatar
Tremolo Tremolo is offline
Fibre Channel User
 
Join Date: Jul 2019
Posts: 126
Default

Am Anfang sind in der Spalte "Probleme" alle Proxies grün, sie werden nacheinander abgefragt, am Ende sind alle rot und Downloadlimit erreicht wird angezeigt.

Und wenn Du mit "von Hand probiert" Start erzwingen meinst, ja, das habe ich. Ich denke, 1fichier prüft auf eine Art die Zeit bis zum nächsten Download, die sich mit dem Proxy-Script nicht umgehen lässt.
__________________
Gruß

Tremolo
Reply With Quote
  #4  
Old 02.09.2022, 12:08
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 79,554
Default

Quote:
Originally Posted by Tremolo View Post
Und wenn Du mit "von Hand probiert" Start erzwingen meinst, ja, das habe ich.
Nein, damit meine ich zb den Proxy im Browser eintragen und die Datei laden. Ohne Logs oder die genauen Proxies+BeispielLinks kann ich da wenig dazu sagen. Es wird einen Grund geben warum JDownloader die Proxies als fehlerhaft markiert.
__________________
JD-Dev & Server-Admin
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 04:30.
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.