Imgur Mirror

Switches all imgur links to the mirror site http://kageurufu.net/imgur

2016-05-02 기준 버전입니다. 최신 버전을 확인하세요.

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

You will need to install an extension such as Tampermonkey to install this script.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name        Imgur Mirror
// @description Switches all imgur links to the mirror site http://kageurufu.net/imgur
// @include     *
// @version     1.0.3
// @grant        none
// @require https://greasyfork.org/scripts/5679-wait-for-elements/code/Wait%20For%20Elements.js?version=122976
// @namespace https://greasyfork.org/users/649
// ==/UserScript==

var regex = /imgur\.com\/((?!a\/|gallery\/))([a-z0-9]+(\.+[a-z0-9]+)?)/i;

var getNewLink = function(imgurLink, useGif) {
    var file = imgurLink.split('/').pop();
    var exreg = /(?:\.([^.]+))?$/;
    var extension = exreg.exec(file)[1];
    file = file.replace(exreg, '');
    if (!extension) {
        extension = 'png';
    } else if (extension === 'gifv' || extension === 'gif') {
        extension = 'webm';
    }
    if (useGif && extension === 'webm') {
        extension = 'gif';
    }
    return 'http://kageurufu.net/imgur/?' + file + '.' + extension;
};

waitForElems('a', function(link) {
   if (link.href.match(regex)) {
       link.href = getNewLink(link.href, false);
   } 
});

waitForElems('img', function(img) {
    if (img.src.match(regex)) {
        img.src = getNewLink(img.src, true);
    }
});