ACT.谷歌.DM.直链无跟踪

直接的链接,更少的跟踪。

目前为 2022-04-18 提交的版本。查看 最新版本

// ==UserScript==
// @name               ACT.Google.DM.Trackless
// @name:zh-CN         ACT.谷歌.DM.直链无跟踪
// @description        Make links direct and track less.
// @description:zh-CN  直接的链接,更少的跟踪。
// @author             ACTCD
// @version            20220419.1
// @license            GPL-3.0-or-later
// @namespace          ACTCD/Userscripts
// @supportURL         https://github.com/ACTCD/Userscripts#contact
// @homepageURL        https://github.com/ACTCD/Userscripts
// @match              *://www.google.com/*
// @grant              none
// @run-at             document-start
// ==/UserScript==

(function () {
    'use strict';

    window.addEventListener('click', event => {
        const anchor = event.target.closest('a');
        if (!anchor) return;
        anchor.removeAttribute('ping');
        const href = anchor.getAttribute('href');
        if (!href || href == '#') return;
        if (['button'].includes(anchor.getAttribute('role'))) return;
        const url = new URL(href, location);
        if (href.slice(0, 5) == '/url?') {
            const r_url = url.searchParams.get('url');
            r_url && (url.href = anchor.href = r_url);
        }
        if (anchor.hasAttribute('target')) {
            window.open(url, anchor.getAttribute('target'), 'noopener,noreferrer');
        } else {
            location.assign(url);
        }
        event.preventDefault();
        event.stopImmediatePropagation();
    }, true);

    window.addEventListener('contextmenu', event => {
        event.stopImmediatePropagation();
    }, true);

    window.addEventListener('mousedown', event => {
        event.stopImmediatePropagation();
    }, true);

    window.addEventListener('mouseup', event => {
        event.stopImmediatePropagation();
    }, true);

    const inline_script = () => {
        window.navigator.sendBeacon = () => console.log('BAN: Beacon');
    };

    const script = document.createElement("script");
    script.textContent = '(' + inline_script + ')();';

    if (document.head) {
        document.head.append(script);
    } else {
        new MutationObserver((mutationList, observer) => {
            document.head && (observer.disconnect(), document.head.append(script));
        }).observe(document, { subtree: true, childList: true });
    }

})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址