仓库 HTTPS 图片

把部分白名单域名内的图片更换为 https。

Ajankohdalta 30.7.2018. Katso uusin versio.

// ==UserScript==
// @name         仓库 HTTPS 图片
// @namespace    moe.jixun.galacg-https-image
// @version      0.1.2
// @description  把部分白名单域名内的图片更换为 https。
// @author       Jixun <https://jixun.moe/>
// @include      https://galacg.me/*
// @include      https://cangku.in/*
// @include      https://cangku.moe/*
// @grant        none
// @run-at       document-start
// ==/UserScript==

(function(_xhr_send) {
    function filter (src) {
        return src.replace(/(http)(:(\/\/|\\\/\\\/)(ww\d\.sinaimg\.cn|imgsrc\.baidu\.com|\w+\.galacg\.me|\w+\.loli\.io|[\w\.]+.127.net)[\\\/])/g, '$1s$2');
    }

    XMLHttpRequest.prototype.send = function () {
        var _onload = this.onload;
        var self = this;
        var ret = _xhr_send.apply(this, arguments);
        this.onload = function () {
            let resp = self.response;
            let respText = self.responseText;

            Object.defineProperty(self, 'response', { value: filter(resp) });
            Object.defineProperty(self, 'responseText', { value: filter(respText) });

            if (_onload)
                return _onload.apply(this, arguments);

            var event = new Event('xhrRequestEvent');
            window.dispatchEvent(event);
        };
        return ret;
    };
})(XMLHttpRequest.prototype.send);