Greasy Fork 还支持 简体中文。

R10 AdFck (Stealth Bypasser)

R10.Net Reklam Engelleyici & Sağ Tık/Debugger Bypasser

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

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

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

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

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

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

// ==UserScript==
// @name         R10 AdFck (Stealth Bypasser)
// @namespace    https://KekikAkademi.org/Kahve
// @description  R10.Net Reklam Engelleyici & Sağ Tık/Debugger Bypasser
// @copyright    2026, keyiflerolsun, https://t.me/KekikAkademi
// @version      2.3
// @license      GPLv3
// @author       @KekikAkademi
// @match        *://*/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=r10.net
// @grant        none
// @run-at       document-start
// ==/UserScript==

(function() {
    'use strict';

    // --- [ 0. GÜVENLİK: CLOUDFLARE DOĞRUDAN KONTROL SAYFALARINI ES GEÇ ] ---
    if (window.location.pathname.includes('/cdn-cgi/') || window.location.host.includes('challenges.cloudflare.com')) {
        return;
    }

    let hasLoggedOnce = false;

    // --- [ 1. KATEGORİ: GİZLİ (STEALTH) DEBUGGER BYPASS ] ---
    // Cloudflare'in müdahaleyi anlamaması için fonksiyonları maskeleme aracı
    const hideHook = (fn, original) => {
        fn.toString = () => original.toString();
    };

    const RawFunction = window.Function;
    window.Function = function(...args) {
        const code = args[args.length - 1];
        if (typeof code === 'string' && (code.includes('debugger') || code.includes('contextmenu'))) {
            if (!hasLoggedOnce) {
                console.warn('🌿 Kekik: Koruma kalkanı aktif, debugger döngüleri susturuluyor.');
                hasLoggedOnce = true;
            }
            return function() { return null; };
        }
        return RawFunction.apply(this, args);
    };
    hideHook(window.Function, RawFunction);

    const originalEval = window.eval;
    window.eval = function(code) {
        if (typeof code === 'string' && code.includes('debugger')) return null;
        return originalEval.apply(this, arguments);
    };
    hideHook(window.eval, originalEval);

    const originalSetInterval = window.setInterval;
    window.setInterval = function(fn, delay, ...args) {
        const fnStr = fn ? fn.toString() : '';
        if (fnStr.includes('debugger') || fnStr.includes('Function') || fnStr.includes('atob')) return 0;
        return originalSetInterval.apply(this, [fn, delay, ...args]);
    };
    hideHook(window.setInterval, originalSetInterval);

    // --- [ 2. KATEGORİ: SAĞ TIK VE KLAVYE BYPASS (PROTOTYPE BOZMADAN) ] ---
    // Event.prototype bozmak yerine olayı en üstten (window) yakalayıp aşağı inmesini engelliyoruz.
    const blockEvents = ['contextmenu', 'copy', 'selectstart', 'cut', 'paste'];
    blockEvents.forEach(evt => {
        window.addEventListener(evt, (e) => {
            e.stopImmediatePropagation();
        }, true); // "true" parametresi olayı en üst katmanda yakalar.
    });

    window.addEventListener('keydown', (e) => {
        if (e.key === 'F12' || (e.ctrlKey && e.shiftKey && e.key === 'I')) {
            e.stopImmediatePropagation();
        }
    }, true);


    // --- [ 3. KATEGORİ: SİTE ÖZEL İŞLEMLER (R10 & SINETECH) ] ---
    const qS = (selector) => document.querySelector(selector);
    const qA = (selector) => document.querySelectorAll(selector);
    const removeEls = (selector) => qA(selector).forEach(el => el.remove());

    const cleanR10 = () => {
        if (!location.hostname.includes('r10.net')) return;
        removeEls('section:has(:contains("topbar")), .head:has(:contains("Reklam")), a[rel*="sponsored"], div.blogposts');
        removeEls('li[id*="sponsorReklam"], div[class^="rc"], li[class^="ra"]');

        const adPatterns = ['jetteknoloji', 'ticimax', 'ikas.com', 'vallet.com.tr', 'paytr.com', 'idrydigital'];
        adPatterns.forEach(p => removeEls(`a[href*="${p}"], img[src*="${p}"]`));
        removeEls('img[src*="cdn.r10.net/editor/"], img[src*="cdn.r10.net/r10/i/sosyalmarket/"]');

        qA('a[href*="yonlendir/?adres="]').forEach(a => {
            const cleanUrl = new URL(a.href).searchParams.get('adres');
            if (cleanUrl) a.href = decodeURIComponent(cleanUrl.split('&token')[0]);
        });

        if (location.pathname === '/private.php') {
            const conv = qS('div.conversation');
            if (conv) {
                conv.style.width = conv.style.height = 'auto';
                conv.querySelectorAll('div').forEach(d => d.style.width = 'auto');
            }
        }
        const main = qS('main');
        if (main) main.style.paddingLeft = '0';
    };

    const fixSinetech = () => {
        if (!location.hostname.includes('sinetech.tr')) return;
        document.documentElement.setAttribute('data-logged-in', 'true');
    };

    const restoreUI = () => {
        if (document.body) {
            document.body.style.setProperty('user-select', 'auto', 'important');
            document.body.style.setProperty('-webkit-user-select', 'auto', 'important');
            document.body.style.setProperty('pointer-events', 'auto', 'important');
        }
    };

    // --- [ ÇALIŞTIRICI ] ---
    const execute = () => {
        cleanR10();
        fixSinetech();
        restoreUI();
    };

    document.addEventListener('DOMContentLoaded', execute);
    window.addEventListener('load', execute);

    // Sadece hedef sitelerde Observer çalıştır (Performans için)
    if (location.hostname.includes('r10.net') || location.hostname.includes('sinetech.tr')) {
        document.addEventListener('DOMContentLoaded', () => {
            const observer = new MutationObserver(() => {
                cleanR10();
                fixSinetech();
            });
            observer.observe(document.body, { childList: true, subtree: true });
        });
    }

    console.log('🌿 Kekik v2.3 (Stealth Mode) Aktif.');
})();