Imgur DuckDuckGo Proxy

Proxy Imgur images through DuckDuckGo

スクリプトをインストールするには、Tampermonkey, GreasemonkeyViolentmonkey のような拡張機能のインストールが必要です。

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

スクリプトをインストールするには、TampermonkeyViolentmonkey のような拡張機能のインストールが必要です。

スクリプトをインストールするには、TampermonkeyUserscripts のような拡張機能のインストールが必要です。

このスクリプトをインストールするには、Tampermonkeyなどの拡張機能をインストールする必要があります。

このスクリプトをインストールするには、ユーザースクリプト管理ツールの拡張機能をインストールする必要があります。

(ユーザースクリプト管理ツールは設定済みなのでインストール!)

このスタイルをインストールするには、Stylusなどの拡張機能をインストールする必要があります。

このスタイルをインストールするには、Stylus などの拡張機能をインストールする必要があります。

このスタイルをインストールするには、Stylus tなどの拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

(ユーザースタイル管理ツールは設定済みなのでインストール!)

このスクリプトの質問や評価の投稿はこちら通報はこちらへお寄せください
// ==UserScript==
// @name         Imgur DuckDuckGo Proxy
// @namespace    imgur.proxy
// @version      1.1
// @description  Proxy Imgur images through DuckDuckGo
// @author       OBNinjaa
// @match        *://*/*
// @grant        none
// @run-at       document-end
// ==/UserScript==

(function () {
    'use strict';

    const IMGUR_PREFIX = "https://i.imgur.com/";
    const DDG_PROXY = "https://external-content.duckduckgo.com/iu/?u=";

    function proxyImage(img) {
        if (!img || !img.src) return;
        if (!img.src.startsWith(IMGUR_PREFIX)) return;
        if (img.dataset.ddgProxied) return;

        const original = img.src;
        const proxied = DDG_PROXY + encodeURIComponent(original) + "&f=1";

        img.src = proxied;
        img.dataset.ddgProxied = "true";
    }

    function scanImages() {
        document.querySelectorAll("img").forEach(proxyImage);
    }

    scanImages();

    console.log("Imgur images proxied (initial scan)");
})();