View Single Post
  #23  
Old 20.06.2019, 19:58
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 DAC324 View Post
ZippyShare sperrt den Download für alle User mit einer IP-Adresse aus Deutschland oder Großbritannien.
Im Test ist zum Teil auch Frankreich betroffen. Zumindestens der Anbieter OVH.

Quote:
Originally Posted by DAC324 View Post
Nachteil: Alle diese Proxies, die man über solche öffentlichen Listen findet, funktionieren nur eine bestimmte Zeit. ...Dann muss man den nächsten Proxy suchen - ist ein Katz-und-Maus-Spiel
Mir kommt der Beitrag bekannt vor. Als hätte ich in einem anderen Forum es bereits gelesen.
Einfach automatisieren dann ist der Katz-und-Maus-Spiel gewonnen. Im Prinzip könnte man noch Tests je Land und Geschwindigkeit durchführen. Dazu kann Zippyshare bisher nur IPv4. Skript weiter unten im Beitrag.

Quote:
Originally Posted by Dödelchen View Post
Es würde ja fast schon ein JDownloader-Firefox-Addon reichen, mit dem der JDownloader "einfach" seine Daten über den Browser ziehen/umleiteten kann - und man im Browser dann TouchVPN oder irgendwelche anderen VPN-Tools aktiviert. ^^
Auch wenn "VPN" im Namen (TouchVPN) vorkommt, so dürfte es sich um Proxies handeln weil der Browser selbst gar kein VPN kann meines Wissens. Finde VPN in diesem Zusammenhang irreführend. Schaut man die Beschreibung vom Addon an, dann steht da auch "Touch VPN – the Secure VPN Proxy".

Im Browser können Proxies genau wie bei JDownloader auch nur für einzelne Seiten gesetzt werden.

Quote:
Originally Posted by Dödelchen View Post
...aber für JD gibt es sowas nicht? Oder gibt es mittlerweile eine (dauerhafte) Problemlösung, die ich einfach nur übersehen habe?
Ereignis-Skripter (Event Scripter) kann dazu genutzt werden um passende Proxies aktualisiert zu hinterlegen.
Empfehle "zippyshare.com" in der Blacklist einzutragen bei den direkten Verbindungen, da sonst ggf. der Proxy nicht sofort genutzt wird.

Beispiel für ein Skript mit Proxy updates:
Spoiler:
Code:
//disablePermissionChecks();
//setNotifyOnException(false);
//setAdvancedAlert(true);

// Proxylist updates for hosters (e.g. Zippyshare.com)
// Trigger: Interval (e.g. 10000ms)

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 = 0; //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;
}

Basiert auf dem ursprünglichen Beispiel aus dem Thema Automatic free proxy grabber feature und Was ist denn mit uloz.to passiert?

Zusätzliches kleines Skript um das Menü zu nutzen trotz "Intervall" im Hauptskript:
Spoiler:
Code:
// Button for proxylist updates
// Trigger: Schaltfläche Werkzeugleiste bestätigt
if (name == "Geoblocking: zippy") {
    setProperty("updatingProxy", true, true);
}


Weiteres zusätzliches kleines Skript um 'Retry in 15 minutes' schneller zu überspringen bzgl. fehlerhafter Proxy:
Spoiler:
Code:
// Unretry 'Retry in 15 minutes' links at user specified interval
// Trigger Required : "Interval"
// Set interval to 60

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);
	        }
	}
    }
}
__________________
Join 9kw.eu Captcha Service now and let your JD continue downloads while you sleep.

Last edited by thecoder2012; 31.01.2020 at 01:45.
Reply With Quote