Рипалка ссылок в результатах поиска, для менеджеров закачки
当前为
// ==UserScript==
// @name Direct Image Link E621/926
// @version 2022.09.11
// @description:en Images direct links ripper for pages with search results
// @description Рипалка ссылок в результатах поиска, для менеджеров закачки
// @match http*://e621.net/posts*
// @match http*://e621.net/pool*
// @match http*://e926.net/posts*
// @author Rainbow-Spike
// @namespace https://greasyfork.org/users/7568
// @homepage https://greasyfork.org/ru/users/7568-dr-yukon
// @icon https://www.google.com/s2/favicons?domain=e621.net
// @grant none
// @run-at document-end
// ==/UserScript==
var lever = 1, // 1 - pic source, 0 - file name
want = /pussy|tribadism/, // wanted tags
unwant = /censored|gore|male\/male|my_little_pony/, // unwanted tags
wrong = 0.1, // opacity of wrong tags
have = 0.3, // opacity of already haved media
stop = [ '00006e15e4429737c4141106825856e4', '1...' ], // list of already haved media, INSERT YOUR LIST
artic = document . querySelectorAll ( '.post-preview' ),
span = document . createElement ( 'span' ),
mesto = document . querySelector ( '#top' ),
x, tags, src, y, md5, name, link;
// SELECT
function selectblock ( name ) {
var rng = document . createRange ( );
rng . selectNode ( name );
var sel = window . getSelection ( );
sel . removeAllRanges ( );
sel . addRange ( rng );
}
if ( artic != null ) {
for ( x = 0; x < artic . length; x++ ) {
tags = artic [ x ] . getAttribute ( 'data-tags' );
if ( want . test ( tags ) && !unwant . test ( tags ) ) {
src = artic [ x ] . getAttribute ( 'data-file-url' );
md5 = src . split ( '/' );
name = md5 [ md5 . length - 1 ];
md5 = name . split ( '.' ) [ 0 ];
for ( y = 0; y < stop . length; y++ ) {
if ( stop [ y ] == md5 ) {
artic [ x ] . style = 'opacity: ' + have;
md5 = '';
break;
};
};
if ( md5 != '' ) {
span . innerHTML += '<a href = "' + src + '">' + ( lever ? src : name ) + ' </a><br>'; /* select link */
link = document . createElement ( 'a' ); /* thumb link */
link . setAttribute ( 'href', src );
link . innerHTML = md5;
link . style = 'word-wrap: anywhere;';
artic [ x ] . appendChild ( link );
}
} else {
artic [ x ] . style = 'opacity: ' + wrong;
}
}
span . style = 'display: inline-block; column-gap: 3px; column-count: 7; font-size: 40%; line-height: .25em; max-height: 200px; overflow: auto;';
if ( mesto != null ) mesto . appendChild ( span );
selectblock ( span );
}