Sleazy Fork is available in English.

KMImgDLer

Auto-download all pics

נכון ליום 18-03-2020. ראה הגרסה האחרונה.

// ==UserScript==
// @name     KMImgDLer
// @version  1.2
// @grant    GM_addStyle
// @grant    GM_download
// @include https://www.kaufmich.com/*
// @require https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js
// @namespace https://greasyfork.org/users/290665
// @description Auto-download all pics
// ==/UserScript==

addStyle();
var myVersion = GM_info.script.version;

$(function() {
    var name = $('h2.user-name').clone().children().remove().end().text();
    var myspace = $('<div id="KMImgDLer"></div>').appendTo('body');
    $('<div class="KMImgDLerLogo">powered by KMImgDLer '+myVersion+'</div>').appendTo(myspace);
    if (name && name.length) {
        name = name.replace(/(^\s+|\s+$)/g,'');
        var title = $('<h2>'+name+'</h2>').appendTo(myspace);
        $(myspace).append('Open gallery, then ');
        $('<a class="Button" href="#">start downloading</a>').on('click', start).appendTo(myspace);
        var searchButton = $('<a class="Button searchButton" href="">search LH</a>').appendTo(title);
        $(searchButton).attr('href','https://www.google.de/search?as_sitesearch=lusthaus.cc&q='+name);
    } else {
        $(myspace).append('First, open sedcard!');
    }
});

function start() {
    var downloadlist = [];
    $('#profile-gallery li').each(function() {
        var link = $(this).attr('data-photo-src');
        if (! link.match(/images\/placeholders/)) {
            downloadlist.push(link);
            console.log(link);
        }
    });
    var name = $('h2.user-name').clone().children().remove().end().text();
    dlAll(name,downloadlist);
}

function dlAll(path,downloadlist) {

    var dialog = $('<div id="dialog" title="Download to '+path+' ..."></div>').appendTo($('#KMImgDLer'));

    for (let URL of downloadlist) {
        var name = URL.replace(/.*\//,'');
        var file = path.replace(/[^\w-\(\)]/g,'')+'/'+name;
        URL = URL.replace(/^\/\//,'https://');
        var line = $('<div class="RLDL" data-name="'+name+'">'+name+'</div>\n').appendTo(dialog);

        console.log([URL,file]);

        (function(url,filepath,filename,linediv) {
            var dl = GM_download({
                url: url,
                name: filepath,
                saveAs: false,
                onerror: function(){
                    $(linediv).append('<span class="download_error">ERROR: '+err.error+'<br>'+err.details+'</span>');
                },
                onload: function() {
                    $(linediv).append('<span class="download_ok">✓</span>');
                }
            });
        })(URL,file,name,line);

    }
}

function addStyle() {
    GM_addStyle(`
.download_error {
    color: white;
    background-color: #880010;
    padding: 1px 4px;
    border-radius: 2px;
    margin: 0px 4px;
}

.download_ok {
    color: white;
    background-color: #10a020;
    padding: 1px 4px;
    border-radius: 2px;
    margin: 0px 4px;
}

#KMImgDLer {
    position: absolute;
    top: 20px;
    left: 2px;
    overflow: visible;
    z-index: 10000;
    background-color: white;
    border: 2px solid #d0005a;
    padding: 8px;
    opacity: 0.8;
}
.Button {
    padding: 2px;
    border: 2px outset #d0005a;
    background-color: #fed5df;
}
.searchButton {
    position: absolute;
    right: 8px;
    top: 4px;
    font-size: 50%;
}
.KMImgDLerLogo {
    position: absolute;
    color: #fed5df;
    font-size: 9px;
    top: -15px
}
`);
}