您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
detects premium only links on some hosts.
当前为
- // ==UserScript==
- // @name W.A.R. Links Checker Customized Premium Link Version
- // @description detects premium only links on some hosts.
- // @details this script automatically checks links from 650+ filehosts. For Firefox, Chrome, Opera, Safari.
- // @namespace premium version
- // @version 1.0.8.2
- // @icon http://sharenxs.com/photos/2014/02/14/52fd759db90ac/cooltext1428903746.png
- // @license GPL version 3 or any later version (http://www.gnu.org/copyleft/gpl.html)
- // @author <a href="http://userscripts.org/users/510590">mentalps</a>
- // @include http://*
- // @include https://*
- // @include file:///*
- // @grant GM_setValue
- // @grant GM_getValue
- // @grant GM_xmlhttpRequest
- // @grant GM_log
- // @grant GM_addStyle
- // @grant GM_registerMenuCommand
- // @grant GM_getResourceText
- // @grant GM_info
- // @require https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js
- // @require https://ajax.googleapis.com/ajax/libs/jqueryui/1.9.1/jquery-ui.min.js
- // @resource jQueryUICSS https://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/smoothness/jquery-ui.css
- // @homepage http://www.mentalps.5gbfree.com
- // @namespace http://www.mentalps.5gbfree.com
- // ==/UserScript==
- //separate alternative domains with "|" char (first name is considered being main)
- var allHostNames = ["1fichier.com|dl4free.com","2download.de","2shared.com","4fastfile.com","4shared.com","adrive.com","aisfile.com","hellfile.com",
- "bayfiles.com","bezvadata.cz","bitshare.com","burnupload.com|burnupload.ihiphop.com","cobrashare.sk","firedrive.com","usersfiles.com","pan.baidu.com",
- "cramit.in|cramitin.net","czshare.com","dataport.cz","datei.to","daten-hoster.de|filehosting.org|xtraupload.de","demo.ovh.com","depositfiles.com","divshare.com",
- "divxden.com","easy-share.com|crocko.com","easybytez.com","edisk.cz","enigmashare.com","erofly.cz","euroshare.eu","file-upload.net","yadi.sk",
- "fastshare.cz","fiberupload.net","filefactory.com","rocketfile.net","filecity.net","share.vnn.vn","berofile.com","yunpan.cn","gulfup.com","tropicshare.com",
- "fileflyer.com","filerio.com|filekeen.com","filemonster.net","up.4share.vn","upfile.vn","sharesuper.info","datafilehost.com","fileband.com","worldbytez.com",
- "files.mail.ru","files.to","filedino.com","filepost.com|fp.io","filesend.net","filesflash.com","box.com","box.net","vidbox.yt","goldbytez.com","sdilej.cz",
- "fileshare.in.ua","filesmonster.com","filestore.to","freakshare.net","hulkload.com","lumfile.com","lumfile.se","lumfile.eu","filedropper.com",
- "free.fr","free-uploading.com","gamefront.com|filefront.com","getthebit.com","gettyfile.ru","gigapeta.com","gigasize.com","gigaup.fr",/*"glumbo.com|glumbouploads.com",*/
- "goldfile.eu","good.com","grupload.com","hellshare.com","hellspy.com","hipfile.com","hitfile.net","hostuje.net","freefilehosting.net","fcore.eu",
- "hulkshare.com","hyperfileshare.com","filecloud.io|ifile.it","ifolder.ru","jumbofiles.com","uploadrocket.net","filesfrog.net","lafiles.com",
- "leteckaposta.cz|sharegadget.com","letitbit.net","load.to","loombo.com","mediafire.com","megafileupload.com","megashare.com","megashares.com",
- "movshare.net","muchshare.net","multishare.cz","myupload.dk","narod.ru|narod.yandex.ru","netload.in","ok2upload.com","fboom.me",
- "openfile.ru","partage-facile.com","plunder.com","putlocker.com","sharerapid.cz","exclusiveloader.com","acefile.net","dotsemper.com",
- "queenshare.com","quickshare.cz","rapidgator.net","rapidshare.com","rapidshare.ru", "daj.to","keep2share.com",
- "rapidupload.sk","rarefile.net","rayfile.com","rghost.net","sendmyway.com", "4savefile.com","filesaur.com",
- "sendspace.com","sharecash.org","share-links.biz","share-now.net","share-online.biz|egoshare.com","megarapid.cz",
- "shareflare.net","slingfile.com","sms4file.com","solidfiles.com","space4file.com","speedfile.cz",
- "speedshare.org","stahovanizasms.cz","storage.novoro.net","tufiles.ru","turbobit.net",
- "turboupload.com","uloz.to|ulozto.cz|bagruj.cz|zachowajto.pl","ulozisko.sk","uloziste.com","unibytes.com","up-file.com",
- "upload-il.net|przeslij.net","uploadbin.net","uploaded.to|ul.to","uploading.com","uploadmachine.com", "uploadjet.net",
- "uploadspace.pl","upnito.sk","uptobox.com","usaupload.net","veehd.com","videobb.com","videozer.com",
- "vip-file.com","webshare.cz","xdisk.cz","yunfile.com|filemarkets.com","ziddu.com",
- "zippyshare.com", "uploading4u.eu", "premiuns.org", "rodfile.com", "migahost.com", "wikiupload.com", "uploadstube.de",
- "flyfiles.net", "nowdownload.eu", "dark-uploads.com", "asfile.com", "prefiles.com", "axifile.com",
- "upthe.net", "hackerbox.org", "sharefiles.co", "amonshare.com", "uploadorb.com", "data.hu", "filestay.com",
- "hulkfile.eu", "uptorch.com", "netkups.com", "vreer.com", "edoc.com", "isavelink.com", "upfile.biz",
- "uppit.com|up.ht", "peejeshare.com", "ddlstorage.com", "downloadani.me", "filesabc.com",
- "sharebeast.com", "sharebees.com", "filemates.com", "180upload.com", "verzend.be", "asixfiles.com", "zomgupload.com", "mlfat4arab.com",
- "movreel.com", "4up.me", "extmatrix.com", "i-filez.com", "sendfiles.nl", "yourfilestore.com", "filebig.net", "fileupup.com",
- "sockshare.com", "share76.com", "filebox.com", "nekaka.com", "file4safe.com", "freeuploads.fr|uploa.dk", "tusfiles.net",
- "kupload.org", "filemac.com", "files2k.eu", "coraldrive.net", "idup.in",
- "luckyshare.net", "uploadic.com", "fileswap.com", "potload.com", "clouds.to", "billionuploads.com", "rockdizfile.com",
- "getzilla.net", "nosupload.com", "fileking.co",
- "filesbb.com", "maxshare.pl", "myvdrive.com|fileserving.com", "filesin.com", "novafile.com", "longfiles.com",
- "toucansharing.com", "filesega.com", "uploadhero.com", "uploadbaz.com",
- "unextfiles.com", "stahovadlo.cz", "zooupload.com", "247upload.com", "bitupload.com",
- "indowebster.com", "superload.cz", "mafiastorage.com",
- "ultramegabit.com", "limelinx.com","ubuntuone.com",
- "minus.com", "filesmelt.com", "hellupload.com", "packupload.com", "uploadingit.com", "stiahni.si", "filefolks.com",
- "filedefend.com", "sendspace.pl", "fastshare.org","cyberlocker.ch", "filesector.cc",
- "filestrum.com", "fileuplo.de", "upaj.pl", "sinhro.net", "filedownloads.org", "egofiles.com", "filestore.com.ua",
- "upafile.com", "secureupload.eu", "cepzo.com","ifile.ws", "rapidfileshare.net", "stiahnito.sk",
- "rusfolder.com", "fileover.net", "catshare.net", "anonfiles.com", "mixturecloud.com", "nitrobits.com",
- "fileparadox.in","filedais.com",
- "akafile.com","creafile.net","hugefiles.net",
- "upload.ee","epicshare.net","shareplace.org","uploadc.com","darkport.org","yourfiles.to","remixshare.com",
- "exoshare.com","borncash.org","bigupload.com","junocloud.me","keep2share.cc","k2s.cc","expressleech.com","2downloadz.com","megafiles.se",
- "davvas.com","fileom.com","mightyupload.com","uncapped-downloads.com","anysend.com","datafile.com","upstore.net","upsto.re","usefile.com","speedy.sh",
- "sanshare.com","dizzcloud.com","filedap.com","swankshare.com","forunesia.com","filevice.com","kingfiles.net","uploadhero.co","ge.tt","filesflash.net",
- "redload.net","salefiles.com","keep2s.cc","megairon.net","terafile.co","swatupload.com","fastsonic.net","bayfiles.net","nirafile.com","mydisc.net","shareprofi.com",
- "datoid.cz","cloudstor.es","streamfile.com","eyesfile.ca","filemoney.com","uploadboy.com","fileshareup.com","filemonkey.in","speedshare.eu","google.com",
- "unlimitzone.com","migupload.com","rioupload.com","dodane.pl","rg.to","jumbofiles.org","fshare.vn","spaceforfiles.com","up.media1fire.com","depfile.com","uploadinc.com",
- "upshared.com","go4up.com","dropbox.com","przeklej.net","redbunker.net","divxpress.com","mega.co.nz","lemuploads.com","megarelease.org","anafile.com","uploadable.ch",
- "wallobit.com","arabloads.com","sharerepo.com","sfshare.se","files.fm","koofile.com","shared.com","uploadsat.com","vidplay.net","storagon.com","qkup.net","inafile.com",
- ];
- try
- {
- //iframes excluded
- if (window.top != window.self)
- {
- return;
- }
- //allHostNames sites excluded
- if (window.location.href.match("https?:\/\/(www\.)?[\w\.-]*(?:" +
- allHostNames.join("|").replace(/\./g, "\\.").replace(/-/g, "\\-") +
- ")"))
- {
- return;
- }
- }
- catch (e)
- {
- return;
- }
- //separate alternative domains with "|" char (first name is considered being main)
- var allContainerNames = ["adf.ly","linkcrypt.ws","linksafe.me","linksave.in","linkto.net","madlink.sk","multiload.cz",
- "mirrorcreator.com","ncrypt.in","redi.re","relink.us","safelinking.net","theloo.katt.it","bit.ly"];
- //separate alternative domains with "|" char (first name is considered being main)
- var allObsoleteNames = ["uloz.cz","storage.to","iskladka.cz","file-rack.com","fast-load.net","subory.sk","bigandfree.com",
- "fileop.com","mujsoubor.cz","sendfile.to","superfastfile.com","quickyshare.com","duckload.com","uploadstore.net","meinupload.com",
- "dualshare.com","2xupload.to|2xupload.de","oxedion.com","uploadline.com","dll.bz","movieshare.in","milledrive.com","quickupload.net",
- "safelink.in","metadivx.com","divxlink.com","uploadrack.com","teradepot.com","dataup.to","upit.to","driveway.com","eatlime.com",
- "a2zuploads.com","friendlyfiles.net","flyfile.us","speedyshare.com","uploadspace.eu","keepfile.com","piggyshare.com","uplly.com",
- "filecrown.com","6giga.com","uploadjockey.com","bluehost.to","filegu.ru","filebase.to","up-file.com","xvideos.com","ufox.com",
- "filebling.com","loaded.it","uploadcell.com","uploadshare.cz","mangoshare.com","filestab.com","crazyupload.com","gaiafile.com",
- "sharejunky.com","fileho.com","bigandfree.com","bigfile.in","bigshare.eu","dahosting.org","digisofts.net","file4save.com",
- "filechip.com","filescloud.com","saveqube.com","turboshare.de","z-upload.com","youshare.com","jiffyupload.com","gigeshare.com",
- "datenklo.net","upload.dj","loadfiles.in","upit.to","dsfileshare.com","sharesimple.net","4files.net","wooupload.com",
- "odsiebie.com","filenavi.com","3oof.com","meshwaar.com","maxupload.com","share.cx","atserver.eu","hotfiles.ws","esnips.com",
- "file2upload.net","filebling.com","turboshare.com","rarhost.com","isharehd.com","i741.com","dataup.de","fofly.com","shareonall.com",
- "sexuploader.com","megaupload.com|megavideo.com|megaporn.com|megarotic.com","uploadhyper.com","filespawn.com","caizzii.com",
- "volnyweb.cz","usershare.net","filescash.net","metahyper.com","combozip.com","x7.to","uploadbox.com","enterupload.com|flyupload.com",
- "filepoint.de","mystream.to","x-fs.com","shareator.com","srapid.eu","sosame.cz","filesdump.com","2-klicks.de","uploking.com",
- "silofiles.com","upfile.in","filehook.com","uploadking.com","uploadhere.com","kewlshare.com","rapidable.com","uploadwaste.com",
- "filesonic.com|sharingmatrix.com","fileserve.com","wupload.com", "skipfile.com", "smartuploader.com", "dualshare.com", "storeandserve.com",
- "mountfile.com", "transitfiles.com", "uploadstation.com", "filejungle.com", "shareshared.com", "quickyshare.com", "save.am", "petandrive.com",
- "file2box.com", "flyshare.cz", "yabadaba.ru", "cloudcache.cc", "yourfilehost.com", "jakfile.com", "kickload.com", "pyramidfiles.com",
- "refile.net", "zshare.net", "ddlani.me|ddlanime.com", "ftp2share.com", "fooget.com", "rapidhide.com", "gotupload.com", "mooload.com",
- "zupload.com", "mytempdir.com", "onionshare.com", "stahnu.to", "oron.com", "badongo.com","filereactor.com","filegaze.com","4bytez.com",
- "1hostclick.com", "anonstream.com", "batshare.com", "bitroad.net", "brontofile.com", "cloudnxt.net", "cloudnator.com|shragle.com",
- "coolshare.cz", "dotavi.com", "ezyfile.net", "file-bit.net", "filecosy.com", "fileduct.com|fileduct.net", "filefat.com", "filelaser.com", "filemashine.com",
- "fileserver.cc", "filetechnology.com", "fireuploads.net", "gigfiles.net", "holderfile.com", "ihostia.com", "k2files.com", "mojofile.com",
- "ovfile.com", "qshare.com", "shafiles.me", "sharefilehost.com", "shareupload.com", "stahuj.to", "ugotfile.com", "uploadboost.com",
- "vidhog.com", "xfileshare.eu", "bzlink.us", "bulletupload.com", "wizzupload.com", "bloggerarticles.com", "mojedata.sk", "sharpfile.com",
- "upgrand.com", "nasdilej.cz", "mediatack.cz", "share-it.to","primeupload.com","filebeer.info","baberepublic","xtu.me","sharebase.de",
- "filerobo.com","filevelocity.com","filezpro.com","file4sharing.com","cing.be","ufile.eu","pigsonic.com","fileupped.com","sharerun.com",
- "rapidslnare.com","bestsharing.com","savefiles.net","file2share.biz","filecache.de","monsteruploads.eu","b9bb.com","aiotool.net","jamber.info",
- "megaftp.com","desiupload.net","file27.com","yastorage.com","filehost.ws","copyload.com","venusfile.com","aieshare.com",
- "fileza.net","filerose.com","squillion.com","fileprohost.com","bitbonus.com","warserver.cz","uload.to","sharedbit.net","megaload.it","filewinds.com",
- "uploadcore.com","syfiles.com","eyesfile.com","hotfile.com","superupl.com","oteupload.com","henchfile.com","filegag.com","HenchFile.com","filedefend.com",
- "share-rapid.com|rapids.cz|share-credit.cz|share-central.cz|share-ms.cz|share-net.cz|srapid.cz|share-rapid.cz","megabitshare.com","ryushare.com","cloudzer.com",
- "cloudzer.net", "clz.to", "extabit.com",
- ];
- // GM_log(allHostNames.length);
- // GM_log(allContainerNames.length);
- // GM_log(allObsoleteNames.length);
- var firstRun = GM_getValue("First_run", true);
- try
- {
- var thisVersion = GM_info.script.version; //not supported in Scriptish and others
- var last_known_version = GM_getValue("last_known_version", "");
- if (!last_known_version)
- {
- last_known_version = thisVersion;
- GM_setValue("last_known_version", last_known_version);
- }
- //var newVersion = !(thisVersion == last_known_version);
- var newVersion = !(a.replace(/^(\d+\.\d+\.\d+).*/,'$1') == b.replace(/^(\d+\.\d+\.\d+).*/,'$1')); //true only if one of the first three numbers differs
- GM_setValue("last_known_version", thisVersion);
- }
- catch (err)
- {
- var newVersion = false;
- }
- var now = (new Date()).getTime();
- var last_custom_rules_nag = GM_getValue('last_custom_rules_nag', 0);
- if (!last_custom_rules_nag)
- {
- last_custom_rules_nag = now;
- GM_setValue('last_custom_rules_nag', ''+now);
- }
- allHostNames.sort();
- allContainerNames.sort();
- allObsoleteNames.sort();
- var RAND_STRING = "8QyvpOSsRG3QWq";
- var DEBUG_MODE = false;
- var TOOLTIP_MAXWIDTH = 600; //in pixels
- var TOOLTIP_THUMBWIDTH = 200;
- var containers_processed = false;
- //settings for keyboard functions start
- var CHECK_ALL_LINKS_KEY = "A";
- var CONFIGURATION_KEY = "C";
- var copy_to_dead_key = "D";
- var toggle_autocheck_key = "W";
- var toggle_Enable_Anonymizer_key = "Z";
- var first_key_keycode = '17'; // 18=ALT 16=Shift 17=Ctrl 32=SPACE_BAR 9=TAB
- var first_key_keycodename = 'CTRL';
- var second_key_keycode = '18';
- var second_key_keycodename = 'ALT';
- var CHECK_ALL_LINKS_KEYCODE = CHECK_ALL_LINKS_KEY.charCodeAt(0);
- var CONFIGURATION_KEYCODE = CONFIGURATION_KEY.charCodeAt(0);
- var copy_to_dead_keycode = copy_to_dead_key.charCodeAt(0);
- var toggle_autocheck_keycode = toggle_autocheck_key.charCodeAt(0);
- var toggle_Enable_Anonymizer_keycode = toggle_Enable_Anonymizer_key.charCodeAt(0);
- //settings for keyboard functions end
- //global settings start
- var Show_black_background_in_DL_links, Show_line_through_in_dead_links, Color_DL_links;
- var Live_links_color, Dead_links_color, Temp_unavailable_links_color, Premium_links_color, Ref_anonymize_service;
- var Do_not_linkify_DL_links, Keyboard_functions, Autocheck, Enable_Anonymizer;
- var Show_progress_stats, Display_tooltip_info, Icon_set;
- var Progress_box_pos_bottom, Progress_box_pos_right, Progress_box_opacity, Progress_box_background_color, Progress_box_item_color;
- var Progress_box_refresh_rate;
- var Obsolete_file_hosts;
- var Custom_rules, Custom_rules_text;
- var messageBox = document.createElement('b'); // top-left message box
- var cLinksTotal = 0;
- var cLinksDead = 0;
- var cLinksAlive = 0;
- var cLinksUnava = 0;
- var cLinksPrem = 0;
- var cLinksProcessed = 0;
- var intervalId; //for updateProgress()
- //icon resources
- var PAW_ICON_GREEN = 'data:image/png;base64,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';
- var PAW_ICON_RED = 'data:image/png;base64,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';
- var PAW_ICON_YELLOW = 'data:image/png;base64,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';
- var PAW_ICON_PINK = 'data:image/png;base64,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';
- var RSLC_ICON_GREEN = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAYAAABy6+R8AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH2AMJCQY36Sc4vgAAAlRJREFUeNpV0r9PE3EABfD3veu1lJYr15ZCoBHBqJBAMEbjL0hYFAkyOAmJMUYd/Q+cXF1wYPQPILppYkKIRARiMDGoaAKimBaKHMWDXnu93venE0Tf9Ib3tg/BP7m3NGgwxtKcM4vyIKSk4BBqnwux9/LGKjvckcNy9/1Akgk2ZJHMWNyw+qWUMSGZ51R2FzbdX1NSyOnZWznn6HRn8UqSCv6gLdz58GSsL2voURJIirAWhh+U1fLO4tbKztdJIvHsw/1NR7/97pJBOR9tDXc+6rMGsg4vkd3AhkMdVJgLounkdKLHdL1S13ZpdyMzbK5pnNF0I0mNn4r3Ze3AJrZvo0zL8KkPyil6rTOgipFzrRezLXVt4zWKtBbwWjIeTgyEQlHiUhepcBpNkSaYehxX20Yw2HYd3VYP6iNRYhrpAeojGfJqvs7rRIyKGpSUGOm4iYgWwX7wB72ps/hWXMZCbgaNkUYQrseUr3SNB0JQRj0DBnSlYWN/DcfNEzifuYzVvS94vf4cVeoiBB2ScY8IiBBnytk7KM5XG8qj9SRClrbnUKNVZKLNWMjPwKkWkYk146BSUbZrz0PC0ZuHzaBYLokq9S90p3pMJRnJl35gtfgZQnAko0lY4WY1+2lu63s+N0EE+agXXrkydc3czjtF7noHXccSx82mWIY0hBpgRVMIalK9WX67tfJzfZJo5EVuouAdieh4kk3KQA21J1rGmuoy/UToMSG5t+vaC5u/7Smikenc04LzHyMAaH+cNcBVGgyWClSIgHAA+2DYy00Wjuz9Bce5MucW9xnuAAAAAElFTkSuQmCC';
- var RSLC_ICON_RED = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAYAAABy6+R8AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH2AMJCQkjdGXwDAAAAcpJREFUeNptkj9PFHEQhp/ZBcIhxyKHYgNCYUxogE0OpdDGxsQCY6e5ggS1Mn4Ce621u7MCYqOdX4DkSLTBqwyNiQmJBiJiDjmWP/ub1+IAMXGqmTx5M5nJY5wpwRiQHPfoL2rG8PVksDOBlKRYZWgwxcwkIQlc0o+fDe3sPu6E1dOQIGWg/yUT4zOUBiLtHYAHFBy6YvRrW+Hzl4/e/P2kAJ8iwRhJscrE+AzDwxG3Z2E/oO9bKMvhzj104aLZ1dFr9PZUWzDWASQMDaYqDZjdvAWzd2HkMlpcJKpUsMlJdHiI3i1Ffr4v9d29pEMnt7UyfOkNNjKKTU8Tl8tghq+sEGqvUZwjZA5EAiShPIetLXxhASSIY3An1Gr4xkabq70iar9OkOeoWCSqVMAM8hzMiObnIUnQ0RFyR0DkgNylzhh7cB+bmsLrdQ7n5gj1OlG5TPxoHro7kUsC4mdQUB5u0NdziW/r5q2M/PkLfG2NsLwMkRHevyVkWQib26t+FJYMIIOUvt5XdmXkunXEke/sQchRCNDdRfAQ8vXND97af1qCxqkRLUj9XKFq/cUUMMmRQHKFZquh7OBhCRr/aATQ/I97foxKZ9z7A9QA5voyr3dtAAAAAElFTkSuQmCC';
- var RSLC_ICON_YELLOW = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAYAAABy6+R8AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH2AQJDBgxYO68rwAAAZNJREFUeNptkr9LW1EcxT/3GhOTKIG8QTpm8B8IIoJTFkFwsXVyUaxFJHYoFzJYUVFHn4sKtoidCoKtIigWOtQOhRKowaFzJwcF0VeJ+fFe7nUwP57R7/S9nO+595z7PQJfGUgAsWqPaUBOC/yrHQI+QjKTXc7GQq4EhP+uKzdUcbtnelvhDzXQQHL2bCkbxhOA5GmZ24LUC73zPWE4lQYSmexynaCmjh5Nq9FdANER1uL9j7nfeUhIIFaVJNXEPrguKvPzgfD2G0iBGt8DkPG4CGiIyapZAWBvDUEoBOfnqPQxaANxC3v7Ze1hoQFpmsTbGwMQicLNNeTz2HaKYuO/4DnTauwLeC6i8wW4ZdSbA9rw/GtB6kaPmjyESATKZVZWUxAMQqnI9MTXOqdGcvRFoSw8o+0Pg1DxsD+PcFcJYH8aphSNsr71CkAH/17danAEQAGSa98zv7x4W9AIpGkRzap18cKU3vUv9lmQq6N5SH7cSZ8Uuqx205SI1rPL/6/HN1MW5GiKC84z2at6dixf9u4B/PqUtJuX27QAAAAASUVORK5CYII=';
- var RSLC_ICON_PINK = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAYAAABy6+R8AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH2AQJDBgxYO68rwAAAZNJREFUeNptkr9LW1EcxT/3GhOTKIG8QTpm8B8IIoJTFkFwsXVyUaxFJHYoFzJYUVFHn4sKtoidCoKtIigWOtQOhRKowaFzJwcF0VeJ+fFe7nUwP57R7/S9nO+595z7PQJfGUgAsWqPaUBOC/yrHQI+QjKTXc7GQq4EhP+uKzdUcbtnelvhDzXQQHL2bCkbxhOA5GmZ24LUC73zPWE4lQYSmexynaCmjh5Nq9FdANER1uL9j7nfeUhIIFaVJNXEPrguKvPzgfD2G0iBGt8DkPG4CGiIyapZAWBvDUEoBOfnqPQxaANxC3v7Ze1hoQFpmsTbGwMQicLNNeTz2HaKYuO/4DnTauwLeC6i8wW4ZdSbA9rw/GtB6kaPmjyESATKZVZWUxAMQqnI9MTXOqdGcvRFoSw8o+0Pg1DxsD+PcFcJYH8aphSNsr71CkAH/17danAEQAGSa98zv7x4W9AIpGkRzap18cKU3vUv9lmQq6N5SH7cSZ8Uuqx205SI1rPL/6/HN1MW5GiKC84z2at6dixf9u4B/PqUtJuX27QAAAAASUVORK5CYII=';
- //global settings end
- if (window.opera && !window.console)
- {
- window.console = {};
- function fn()
- {
- opera.postError(arguments);
- };
- ['log', 'debug', 'info', 'warn', 'error', 'assert', 'dir', 'dirxml', 'group', 'groupEnd', 'time', 'timeEnd', 'count', 'trace', 'profile', 'profileEnd'].forEach(function (name)
- {
- window.console[name] = fn;
- });
- }
- //displays colored text in message box
- function sendMessage(text, color)
- {
- var msgDiv = document.createElement('div');
- msgDiv.style.color = color;
- msgDiv.innerHTML = text;
- messageBox.appendChild(msgDiv);
- setTimeout(function(){messageBox.removeChild(msgDiv)}, 3000);
- }
- //Optimized in v. 1.2.4.4 - the original version was terribly slow in Firefox because all text was matched against the huge regex.
- //Now a much simpler regex is used to find all links and those are individually matched against the huge regex.
- //A small change in behavior - given "somethinghotfile.com/", "hotfile.com/" won't get linkified.
- function linkify(totalourls)
- { // code from http://userscripts.org/scripts/review/2254 Linkify ting
- var ikkeTilladteTags;
- var allLinksRegex = "(?:http:\/\/.+?\\?)?(?:https?:\/\/)?"
- + "[0-9A-Za-z]+(?:[\\.-][0-9A-Za-z]+)*\\.[A-Za-z]+/" //instead of totalourls
- + "[\\w\\–\\-\\.+$!*\\/()\\[\\]\',~%?:@#&=\\\\\\—;…×Ã\\_\\u0080-\\u03FF’‘" + (Allow_spaces_in_DL_links ? "\\u0020" : "") + "]*";
- allLinksRegex = new RegExp(allLinksRegex, "g");
- var regexy = "^(?:http:\/\/.+?\\?)?(?:https?:\/\/)?(?:www\\.)?(?:" + totalourls + ")";
- if (Do_not_linkify_DL_links)
- ikkeTilladteTags = ['a', 'head', 'script', 'style', 'title', 'option', 'iframe', 'textarea', 'span']; //tags, hvor det der stAΞ’Β¥r inden i ikke skal vAΞ’Β¦re links
- else
- ikkeTilladteTags = ['a', 'head', 'script', 'style', 'title', 'option', 'iframe', 'textarea']; //tags, hvor det der stAΞ’Β¥r inden i ikke skal vAΞ’Β¦re links
- var regex = new RegExp(regexy);
- var textNode, muligtLink;
- var path = "//text()[not(parent::" + ikkeTilladteTags.join(" or parent::") + ") and contains(.,'/')]";
- var textNodes = document.evaluate(path, document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
- var i = textNodes.snapshotLength;
- while (i--)
- {
- textNode = textNodes.snapshotItem(i);
- muligtLink = textNode.nodeValue; //all links on page
- var myArray = null;
- var span = null;
- var lastLastIndex = 0;
- allLinksRegex.lastIndex = 0;
- while (myArray = allLinksRegex.exec(muligtLink)) //find all links
- {
- if (!regex.test(myArray[0])) //this link is not recognized
- {
- //uncomment to reproduce original behavior ("somethinghotfile.com/" => "hotfile.com/" will get linkified).
- //it's probably undesired and it also has a huge overhead - given "xyz.com/", all possibilities will be matched against the huge regex: "xyz.com/", "yz.com/", "z.com/"
- //allLinksRegex.lastIndex -= (myArray[0].length - 1); //start next match at the next character, not after the link
- continue;
- }
- if (!span)
- span = document.createElement('span');
- var link = myArray[0];
- span.appendChild(document.createTextNode(muligtLink.substring(lastLastIndex, myArray.index))); //inds?t det der kommer for dette hit
- var $a = $("<a>" + link + "</a>")
- if (!link.match(/https?:\/\//))
- {
- link = 'http://' + link;
- }
- $a.attr("href", link.replace(/\[\/hide:\w+\]/,""))
- .addClass("processing_link")
- .appendTo(span);
- lastLastIndex = allLinksRegex.lastIndex;
- }
- if (span)
- {
- span.appendChild(document.createTextNode(muligtLink.substring(lastLastIndex))); //ins?t det der kommer efter sidste hit
- textNode.parentNode.replaceChild(span, textNode);
- }
- }
- }
- function add_WARLC_style()
- {
- if (!(document.getElementsByTagName('WARLC')[0]))
- {
- var meta_not_to_add_more_style = document.createElement("WARLC");
- meta_not_to_add_more_style.setAttribute('content', 'war_links_checker');
- meta_not_to_add_more_style.setAttribute('name', 'description');
- document.getElementsByTagName('head')[0].appendChild(meta_not_to_add_more_style);
- alive_link_png = "";
- adead_link_png = "";
- unava_link_png = "";
- prem_link_png = "";
- switch(Icon_set)
- {
- //no icons
- case 0: break;
- // cat paws
- case 1: alive_link_png = PAW_ICON_GREEN;
- adead_link_png = PAW_ICON_RED;
- unava_link_png = PAW_ICON_YELLOW;
- prem_link_png = PAW_ICON_PINK;
- break;
- // classic RSLC look
- case 2: alive_link_png = RSLC_ICON_GREEN;
- adead_link_png = RSLC_ICON_RED;
- unava_link_png = RSLC_ICON_YELLOW;
- prem_link_png = RSLC_ICON_PINK;
- break;
- // cat paws
- default:alive_link_png = PAW_ICON_GREEN;
- adead_link_png = PAW_ICON_RED;
- unava_link_png = PAW_ICON_YELLOW;
- prem_link_png = PAW_ICON_PINK;
- break;
- }
- processing_link_gif = 'data:image/gif;base64,' + // or temporary anavailable
- 'R0lGODlhCgAKAJEDAMzMzP9mZv8AAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQFAAADACwAAAAACgAKAAACF5wncgaAGgJzJ647cWua4sOBFEd62VEAACH5BAUAAAMALAEAAAAIAAMAAAIKnBM2IoMDAFMQFAAh+QQFAAADACwAAAAABgAGAAACDJwHMBGofKIRItJYAAAh+QQFAAADACwAAAEAAwAIAAACChxgOBPBvpYQYxYAIfkEBQAAAwAsAAAEAAYABgAAAgoEhmPJHOGgEGwWACH5BAUAAAMALAEABwAIAAMAAAIKBIYjYhOhRHqpAAAh+QQFAAADACwEAAQABgAGAAACDJwncqi7EQYAA0p6CgAh+QQJAAADACwHAAEAAwAIAAACCpRmoxoxvQAYchQAOw%3D%3D';
- var dead_color_css, live_color_css, unava_color_css, prem_color_css, black_background_css;
- if (Color_DL_links)
- {
- dead_color_css = 'color:' + Dead_links_color + ' !important;';
- live_color_css = 'color:' + Live_links_color + ' !important;';
- unava_color_css = 'color:' + Temp_unavailable_links_color + ' !important;';
- container_color_css = 'color:' + Container_links_color + ' !important;';
- prem_color_css = 'color:' + Premium_links_color + ' !important;';
- }
- else
- {
- dead_color_css = live_color_css = unava_color_css = container_color_css = prem_color_css = '';
- }
- if (Show_black_background_in_DL_links)
- {
- black_background_css = 'background-color: black !important;';
- }
- else
- {
- black_background_css = '';
- }
- if (Show_line_through_in_dead_links)
- {
- line_through_css = 'text-decoration: line-through !important;';
- }
- else
- {
- line_through_css = '';
- }
- GM_addStyle(".alive_link {background:transparent url(" + alive_link_png + ") no-repeat scroll 100% 50%;padding-right:15px;" + live_color_css + black_background_css + "}");
- GM_addStyle(".adead_link {background:transparent url(" + adead_link_png + ") no-repeat scroll 100% 50%;padding-right:15px;" + dead_color_css + black_background_css + line_through_css + "}");
- GM_addStyle(".unava_link {background:transparent url(" + unava_link_png + ") no-repeat scroll 100% 50%;padding-right:15px;" + unava_color_css + black_background_css + "}");
- GM_addStyle(".processing_link {background:transparent url(" + processing_link_gif + ") no-repeat scroll 100% 50%;padding-right:15px;" + container_color_css + black_background_css + "}");
- GM_addStyle(".container_link {background:transparent url(" + processing_link_gif + ") no-repeat scroll 100% 50%;padding-right:15px;" + container_color_css + black_background_css + "}");
- GM_addStyle(".container_list {font-size:90%; list-style-type:square; padding: 0px 5% 0px; margin: 0px}");
- GM_addStyle(".prem_link {background:transparent url(" + prem_link_png + ") no-repeat scroll 100% 50%;padding-right:15px;" + prem_color_css + black_background_css + "}");
- }
- }
- var warlcTooltip = null;
- var mouseoverLink = null; //link href with mouse cursor over it
- var lastX = 0;
- var lastY = 0;
- $(document).ready(initTooltip);
- //inits tooltip
- function initTooltip()
- { warlcTooltip = document.createElement("div");
- warlcTooltip.setAttribute("style", "background: #EAEAEA; box-shadow: 0 1px 5px rgba(0, 0, 0, 0.5);padding: 6px 6px 6px 6px; border-radius:2px; border:2px solid #6699CC; color:#000000;font-family:Verdana,sans-serif;font-size:11px;position:absolute;z-index:1000; max-width: " + TOOLTIP_MAXWIDTH + "px;");
- warlcTooltip.style.visibility = "hidden";
- document.body.appendChild(warlcTooltip);
- }
- //"mousemove" event handler for all links
- function moveTooltip(event)
- {
- if ((Math.abs(lastX - event.clientX) + Math.abs(lastY - event.clientY)) < 6)
- { //no need to reflow if the cursor moved just a little
- return;
- }
- else
- {
- lastX = event.clientX;
- lastY = event.clientY;
- }
- posX = event.clientX + window.pageXOffset + 10;
- posY = event.clientY + window.pageYOffset;
- var ttHeight = warlcTooltip.offsetHeight;
- var ttFreeSpace = window.innerHeight - event.clientY;
- if (ttHeight > ttFreeSpace)
- { //prevents tooltip from getting out of the window
- posY -= (ttHeight - (ttFreeSpace)) + 10;
- }
- else
- {
- posY += 7;
- }
- warlcTooltip.style.top = posY + "px";
- warlcTooltip.style.left = posX + "px";
- }
- //"mouseout" event handler for all links
- function hideTooltip(){
- warlcTooltip.style.visibility = "hidden";
- mouseoverLink = null;
- }
- //"mouseover" event handler for dead links
- //displays tooltip error message on dead links
- function displayTooltipError()
- {
- mouseoverLink = this.href;
- this.addEventListener("mouseout", hideTooltip);
- this.addEventListener("mousemove", function(event) { moveTooltip(event); });
- warlcTooltip.innerHTML = '<b>LOADING...</b>';
- warlcTooltip.style.minWidth = 0;
- warlcTooltip.style.visibility = "visible";
- if (this.warlc_error) //an error message is already known and stored in warlc_error attribute
- {
- warlcTooltip.innerHTML = this.warlc_error;
- }
- else
- {
- loadErrorInfo(this);
- }
- function loadErrorInfo(link)
- {
- var href = link.href;
- href = href.replace(/quickshare\.cz\/.+/, "quickshare.cz/chyba");
- GM_xmlhttpRequest({
- method: 'GET',
- url: href.replace(Ref_anonymize_service, ""),
- headers: {
- 'User-agent': 'Mozilla/4.0 (compatible) Greasemonkey',
- 'Accept': 'text/xml',
- 'Referer': ""
- },
- onload: function(result) {
- var res = result.responseText;
- //TODO: errorRegexs -
- var errorRegexs = [ //generic error messages follow
- /(empty directory)/i,
- /(soubor nebyl nalezen)/i,
- /((?:file|page|link|folder)(?:is|not|does|has been|was| ){1,}(?:found|available|blocked|exists?|deleted|removed))/i,
- //server specific error messages follow
- /msg error" style="cursor: default">(.+?)<\/div>/, //sendspace
- /color:red;font\-weight:bold;border\-style:dashed;font-size:12px;border\-width:2px;><tr><td align=center>(.+?)<\/td>/, //fastshare
- /no_download_msg">\s*(.+?)<span/, //depositfiles
- /(Takový soubor neexistuje. Je možné, že byl již smazán.)/, //quickshare
- /file_info file_info_deleted">\s*<h1>(.+?)<\/h1>/, //filepost
- /<br \/>\s*<p style="color:#000">(.+?)<\/p>\s*<\/center>/, //letitbit
- /(?:error_div">|<\/h1><p>)<strong>(.+?)<\/strong>/, //share-rapid,quickshare
- /class="red">(.+?)<(?:span|br)>/, //czshare, megashares
- /class="wp640">\s*<h1 class="h1">(.+?)<\/h1>/, //uloz.to
- /not-found">\s*<p>(.+?)<\/p>/, //bayfiles
- /(Your file could not be found. Please check the download link.)/, //stahnu.to
- /error_msg">\s*(<h3>.+?<\/h3><ul>(.+?)<\/ul>)/, //edisk
- /id="obsah">\s*<h2>(.+?)<\/h2>/, //euroshare
- /error">\s*(?:<[bp]>)?\s*(.+?)<\/[bp]>/, //filesmonster, shragle, gigapeta
- ///center aC">\s*<h1>(.+?)<br \/>/, //uploaded.to
- /icon_err">\s*<h1>(.+?)<\/h1>/, //filejungle
- /Code: ER_NFF_\d+<\/h2>\s*(.+?)\s*<\/div>/, //netload
- /(File has been removed due to Copyright Claim)/, //filerio
- ];
- var errorIdx = errorRegexs.length;
- var error = "Cause of error: <b>unknown</b>";
- var errorCandidate = "";
- while(errorIdx--)
- {
- var errorCandidate = res.match(errorRegexs[errorIdx]);
- if (errorCandidate != null)
- {
- error = "Cause of error: <b>" + errorCandidate[1].replace(/ /g," ") + "</b>";
- break;
- }
- }
- //link attributes
- link.warlc_error = error;
- if (mouseoverLink == link.href) //mouse cursor is still over the link
- {
- warlcTooltip.innerHTML = error;
- }
- }
- });
- }
- }
- //"mouseover" event handler for alive links
- //displays tooltip info (file size, file name,...) on alive links
- function displayTooltipInfo()
- {
- mouseoverLink = this.href;
- //exclude direct download filehostings
- if (this.href.match(/(?:uloziste\.com|filemonster\.net|uploadbin\.net|loombo\.com|adrive\.com|myupload\.dk|storage\.novoro\.net|ubuntuone\.com|multi-debrid\.com\/directdl|mms\.multishare\.cz\/html\/mms_process\.php|zevera\.com\/getFiles|filesmelt\.com)/))
- {
- return;
- }
- this.addEventListener("mouseout", hideTooltip);
- this.addEventListener("mousemove", function(event) { moveTooltip(event); });
- warlcTooltip.innerHTML = '<b>LOADING...</b>';
- warlcTooltip.style.minWidth = 0;
- warlcTooltip.style.visibility = "visible";
- if (this.warlc_tooltipcache) //file size is already known and stored in warlc_filename and warlc_filesize attributes
- {
- warlcTooltip.innerHTML = this.warlc_tooltipcache;
- }
- else
- {
- loadInfo(this);
- }
- function loadInfo(link)
- {
- var href = link.href;
- href = href.replace(/.*rapidshare\.com\/files\/(\d+)\/(.+)/, 'http://api.rapidshare.com/cgi-bin/rsapi.cgi?sub=checkfiles&cbf=rapidshare_com&cbid=1&files=$1&filenames=$2');
- href = href.replace(/.*rapidshare\.com\/#!download\|\w+\|(\d+)\|([^|]+).*/, 'http://api.rapidshare.com/cgi-bin/rsapi.cgi?sub=checkfiles&cbf=rapidshare_com&cbid=1&files=$1&filenames=$2');
- GM_xmlhttpRequest({
- method: 'GET',
- url: href.replace(Ref_anonymize_service, ""),
- headers: {
- 'User-agent': 'Mozilla/4.0 (compatible) Greasemonkey',
- 'Accept': 'text/xml',
- 'Referer': ""
- },
- onload: function(result) {
- var res = result.responseText;
- var nameRegexs = [ /Filename: <b class="f_arial f_14px">(.+?)<\/b>/, //oron
- /(?:finfo|file[-_]?name)">\s*(.+?)<\/?(?:h1|a|div|span style|td)/, //hellshare, netload, badongo, 4fastfile
- /fl" title="(.+?)">/, //edisk
- /Celý název: <a href="http:\/\/czshare.com\/\d+\/\w+\/">(.+?)<\/a>/, //czshare
- /<title>\s*(?:Download)?\s*(.+?)\s*(?::: DataPort|\| Ulož|- Share\-Rapid|- WEBSITENAME|download Extabit|- download now for free|\| refile)/, //dataport, uloz.to, share-rapid, shragle, extabit, refile.net
- /<h3>Stahujete soubor: <\/h3>\s*<div class="textbox">(.+?)<\/div>/, //webshare
- /<h3><b><span style=color:black;>(.+?)<\/b><\/h3><br>/, //fastshare
- /title="download (.+?)">/, //sendspace
- /Stáhnout soubor: (.+?)<\/h1>/, //quickshare
- /fz24">Download:\s*<strong>(.+?)<\/strong>/, //crocko
- /\w+: <b>File Download<"(.+?)">/, //depositfiles
- /'file\-icon\d+ \w+'>(?:<\/span><span>)?(.+?)<\/span>/, //hitfile, turbobit
- /d0FileName = "(.+?)";/, //letitbit
- /file(?:_name|-info)" title="">\w+: <span>(.+?)<\/span>/, //vip-file, shareflare
- /rapidshare_com\(1,"\d+,([^,]+)/, //rapidshare
- /recent-comments"><h2>(.+) /, //xdisk
- /fname" value="(.+?)">/, //syfiles, grupload,
- /download\-header">\s*<h2>File:<\/h2>\s*<p title="(.+?)">/, //bayfiles
- /description">\s*<p><b>Soubor: (.+?)<\/b>/, //bezvadata
- /Complete name : (.+?)<br \/>/, //bezvadata
- /itemprop="name">(.+?)<\/span>/, //bezvadata
- ];
- var nameIdx = nameRegexs.length;
- // [sizeRegexs]
- // / \ \?
- // prefix (size) postfix
- // / \
- // val quant
- var quantRegex = '(?:M|G|K)?i?(?:B)(?:[y|i]te?s?)?';
- var valRegex = '\\d+(?:[\\., ]\\d+){0,2}'; // 111([., ]222)?([., ]333)?
- var uniSizeRegex = valRegex + '(?:\\s*| )' + quantRegex;
- var preSizeRegex = '(?::|\\(|>|>, | - )';
- var postSizeRegex = '(?:\\))?';
- var sizeRegexs = [ preSizeRegex + "\\s*(" + uniSizeRegex + ")\\s*" + postSizeRegex,
- 'rapidshare_com\\(1,"\\d+,[^,]+,(\\d+)', //rapidshare
- 'FileSize_master">(.+?)<\/strong>', //hellshare
- ];
- var sizeIdx = sizeRegexs.length;
- //
- //
- var tooltip = "File Name: <b>";
- var fileName = "unknown";
- var nameCandidate = "";
- while(nameIdx--)
- {
- var nameCandidate = res.match(nameRegexs[nameIdx]);
- if (nameCandidate != null)
- {
- fileName = nameCandidate[1].replace(/ /g," ");
- break;
- }
- }
- tooltip += fileName + "</b><br>File Size: <b>";
- var fileSize = "unknown";
- var sizeCandidate = "";
- while(sizeIdx--)
- {
- sizeCandidate = res.match(new RegExp(sizeRegexs[sizeIdx], "i"));
- if (sizeCandidate != null)
- {
- fileSize = sizeCandidate[1].replace(/ /g," ");
- if (/^\d+$/.test(fileSize) && fileSize >= 1024) //assume bytes
- {
- if(fileSize > (1<<30)) fileSize = Math.round(10 * fileSize / (1<<30)) / 10 + ' GB';
- else if(fileSize > (1<<20)) fileSize = Math.round(fileSize / (1<<20)) + ' MB';
- else fileSize = Math.round(fileSize / 1024) + ' KB';
- }
- break;
- }
- }
- tooltip += fileSize + "</b>";
- // PROTOTYPE
- // video thumbnails
- if (href.match('hellshare'))
- {
- var thumbs;
- thumbs = res.match(/http:\/\/static\d+\.helldata\.com\/thumbs(?:\/\d+){1,2}\/\d{1,2}"/g);
- if (thumbs)
- {
- tooltip += '<br>';
- var j = Math.min(thumbs.length, 9);
- for (var i = 0; i < j; i++)
- {
- tooltip += '<img src="' + thumbs[i].replace('"',"") + '" width="' + TOOLTIP_THUMBWIDTH + 'px">';
- }
- warlcTooltip.style.minWidth = TOOLTIP_MAXWIDTH;
- }
- }
- if (href.match('czshare'))
- {
- var thumbs;
- thumbs = res.match(/src="http:\/\/www(\d+)\.czshare\.com\/images_velke\/\d+\.(\d+)\.jpeg/);
- if (thumbs)
- {
- var thumbsServer = thumbs[1];
- var thumbsId = thumbs[2];
- tooltip += '<br>';
- for (var i = 1; i < 9; i++)
- {
- tooltip += '<img src="http://www' + thumbsServer + '.czshare.com/images_velke/' + i + '.' + thumbsId + '.jpeg" width="' + TOOLTIP_THUMBWIDTH + 'px">';
- }
- warlcTooltip.style.minWidth = TOOLTIP_MAXWIDTH;
- }
- }
- if (href.match('bezvadata'))
- {
- var thumbs;
- thumbs = res.match(/http:\/\/nahledy\.bezvadata\.cz\/nahledy\/\d+\/\d+\/\d+_\d+_\d+x\d+_\w.jpg/g);
- if (thumbs)
- {
- tooltip += '<br>';
- var j = Math.min(thumbs.length, 9);
- for (var i = 0; i < j; i++)
- {
- tooltip += '<img src="' + thumbs[i] + '" width="' + TOOLTIP_THUMBWIDTH + 'px">';
- }
- warlcTooltip.style.minWidth = TOOLTIP_MAXWIDTH;
- }
- }
- link.warlc_tooltipcache = tooltip;
- if (mouseoverLink == link.href) //mouse cursor is still over the link
- {
- warlcTooltip.innerHTML = tooltip;
- }
- }
- });
- }
- }
- function setVariables()
- {
- if (firstRun)
- {
- GM_log('First run, applying default settings...');
- GM_setValue("Icon_set",1);
- GM_setValue("Display_tooltip_info",false);
- GM_setValue("Show_black_background_in_DL_links",false);
- GM_setValue("Show_line_through_in_dead_links",false);
- GM_setValue("Display_full_links_in_link_containers",false);
- GM_setValue("Allow_spaces_in_DL_links",false);
- GM_setValue("Autocheck",true);
- GM_setValue("Enable_Anonymizer",true);
- GM_setValue("Do_not_linkify_DL_links",false);
- GM_setValue("Show_progress_stats",true);
- GM_setValue("Keyboard_functions",true);
- GM_setValue("Obsolete_file_hosts",false);
- GM_setValue("Color_DL_links",true);
- GM_setValue("Live_links_color","Green");
- GM_setValue("Dead_links_color","#FF3300");
- GM_setValue("Temp_unavailable_links_color","#F7EF09");
- GM_setValue("Container_links_color","DarkKhaki");
- GM_setValue("Premium_links_color","DeepPink");
- GM_setValue("Ref_anonymize_service","http://hiderefer.com/?");
- GM_setValue("Custom_rules",false);
- GM_setValue("Custom_rules_text","");
- GM_setValue("First_run", false);
- }
- //hidden settings
- GM_setValue("Progress_box_pos_bottom", Progress_box_pos_bottom = GM_getValue("Progress_box_pos_bottom", 20));
- GM_setValue("Progress_box_pos_right", Progress_box_pos_right = GM_getValue("Progress_box_pos_right", 10));
- GM_setValue("Progress_box_opacity", Progress_box_opacity = GM_getValue("Progress_box_opacity", 85));
- GM_setValue("Progress_box_background_color", Progress_box_background_color = GM_getValue("Progress_box_background_color", 'DimGray'));
- GM_setValue("Progress_box_item_color", Progress_box_item_color = GM_getValue("Progress_box_item_color", '#FFFFCC'));
- GM_setValue("Progress_box_refresh_rate", Progress_box_refresh_rate = GM_getValue("Progress_box_refresh_rate", 2000));
- GM_setValue("Debug_mode", DEBUG_MODE = GM_getValue("Debug_mode", false));
- //hidden settings end
- Icon_set = GM_getValue("Icon_set", 1); //0 - no icons, 1 - cat paws, 2 - old RSLC style
- Display_tooltip_info = GM_getValue("Display_tooltip_info", false);
- Show_black_background_in_DL_links = GM_getValue("Show_black_background_in_DL_links", false);
- Show_line_through_in_dead_links = GM_getValue("Show_line_through_in_dead_links", false);
- Display_full_links_in_link_containers = GM_getValue("Display_full_links_in_link_containers", false);
- Allow_spaces_in_DL_links = GM_getValue("Allow_spaces_in_DL_links", false);
- Autocheck = GM_getValue("Autocheck", true);
- Enable_Anonymizer = GM_getValue("Enable_Anonymizer", true);
- Do_not_linkify_DL_links = GM_getValue("Do_not_linkify_DL_links", false);
- Show_progress_stats = GM_getValue("Show_progress_stats", true);
- Keyboard_functions = GM_getValue("Keyboard_functions", true);
- Obsolete_file_hosts = GM_getValue("Obsolete_file_hosts", false);
- Color_DL_links = GM_getValue("Color_DL_links", true);
- Live_links_color = GM_getValue("Live_links_color", "Green");
- Dead_links_color = GM_getValue("Dead_links_color", "#FF3300");
- Temp_unavailable_links_color = GM_getValue("Temp_unavailable_links_color", "#F7EF09");
- Container_links_color = GM_getValue("Container_links_color", "DarkKhaki");
- Premium_links_color = GM_getValue("Premium_links_color", "DeepPink");
- Ref_anonymize_service = GM_getValue("Ref_anonymize_service", "http://hiderefer.com/?");
- Custom_rules = GM_getValue("Custom_rules", false);
- Custom_rules_text = GM_getValue("Custom_rules_text", false);
- }
- // Delinkifies the links
- // params:
- // links -> list of links or link components (note they should be sufficiently unique to identify the link on page,
- // e.g. 'uloz.to/xs68skxl8')
- function delinkifySnapshot(snapshot)
- {
- var n = snapshot.snapshotLength;
- while (n--)
- {
- thisLink = snapshot.snapshotItem(n);
- var spanElm = document.createElement("span");
- spanElm.className = thisLink.className;
- spanElm.innerHTML = thisLink.innerHTML;
- if (Display_tooltip_info)
- {
- spanElm.href = thisLink.href;
- switch (thisLink.className){
- case "alive_link": spanElm.addEventListener("mouseover", displayTooltipInfo, false); break
- case "adead_link": spanElm.addEventListener("mouseover", displayTooltipError, false); break;
- case "unava_link": //reserved
- default:
- }
- }
- thisLink.parentNode.replaceChild(spanElm, thisLink);
- }
- }
- function processContainers()
- {
- var redirectorTypes = { "HTTP_302": 0,
- "INNER_LINK": 1,
- "THELOO_KATT_IT": 2,
- "CING_BE": 3,
- "ADF_LY": 4};
- var cMultiloadTotal = 0;
- var cMultiloadProcessed = 0;
- var cMirrorcreatorComTotal = 0;
- var cMirrorcreatorComProcessed = 0;
- var hostRestrictionRegex = "";
- var multiloadComRestriction = "";
- var multiloadComRestrictionRegex;
- //
- //HANDLING REDIRECTORS START
- //
- var redirectors = new Array();
- initRedirectors();
- var redirectorsCount = redirectors.length;
- if (redirectorsCount > 0)
- {
- var allRedirectorsRegex = "";
- //linkify redirector links
- for(var redirIdx = 0; redirIdx < redirectorsCount; redirIdx++)
- {
- allRedirectorsRegex += redirectors[redirIdx].linkRegex + "|";
- }
- allRedirectorsRegex = allRedirectorsRegex.replace(/\|$/, "");
- linkify(allRedirectorsRegex);
- //
- //process redirector links
- for(var redirIdx = 0; redirIdx < redirectorsCount; redirIdx++)
- {
- var redirectorsSnapshot = document.evaluate(redirectors[redirIdx].xpath, document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
- redirectors[redirIdx].cTotal = redirectorsSnapshot.snapshotLength;
- cLinksTotal += redirectors[redirIdx].cTotal;
- var linkIdx = redirectors[redirIdx].cTotal;
- while(linkIdx--)
- {
- switch(redirectors[redirIdx].type)
- {
- case redirectorTypes.HTTP_302: processRedirectorLink(redirectorsSnapshot.snapshotItem(linkIdx), redirIdx); break;
- case redirectorTypes.INNER_LINK: processRedirectorLinkEx(redirectorsSnapshot.snapshotItem(linkIdx), redirIdx); break;
- case redirectorTypes.THELOO_KATT_IT: processThelooKattItLink(redirectorsSnapshot.snapshotItem(linkIdx), redirIdx); break;
- case redirectorTypes.CING_BE: processCingBeLink(redirectorsSnapshot.snapshotItem(linkI