- // ==UserScript==
- // @namespace http://linkme.bio/jhonpergon/?userscript=api_block
- // @version 1.4
- // @author Jhon Pérgon
-
- // @name Não Pegue Meu IP
- // @name:pt Não Pegue Meu IP
- // @name:es No Obtengas Mi IP
- // @name:en Don't Get My IP
- // @name:fr Ne Prends Pas Mon IP
- // @name:ru Не бери мой IP
- // @name:ja IPを取得しないでください
- // @name:ko 내 IP를 가져가지 마세요
- // @name:zh-TW 不要获取我的IP
- // @name:zh-CN 不要获取我的IP
- // @name:id Jangan Ambil IP Saya
- // @name:ug مېنىڭ ئۆزئىپىمنى قۇلۇپ قويما
- // @name:ar لا تأخذ عنوان IP الخاص بي
- // @name:he אל תקבל את כתובת ה-IP שלי
- // @name:hi मेरा IP मत लो
- // @name:th อย่าเก็บ IP ของฉัน
- // @name:bg Не взимайте моето IP
- // @name:ro Nu Luați IP-ul Meu
- // @name:fi Älä Hae Minun IP-osoitettani
- // @name:it Non Prendere Il Mio IP
- // @name:el Μην Πάρεις Την IP Μου
- // @name:eo Ne Prenu Mian IP
- // @name:hu Ne Vegyél El Az IP-címemet
- // @name:nb Ikke Hent Min IP
- // @name:sk Neberaj Moju IP
- // @name:sv Ta Inte Mitt IP
- // @name:sr Ne Uzimaj Moj IP
- // @name:pl Nie Bierz Mojego IP
- // @name:nl Pak Mijn IP Niet
- // @name:de Mein IP Nicht Abrufen
- // @name:da Tag Ikke Min IP
- // @name:cs Nezírej Moji IP
- // @name:uk Не Бери Мою IP
- // @name:tr IP'imi Alma
- // @name:vi Đừng Lấy IP Của Tôi
- // @name:fr-CA Ne Prends Pas Mon IP (Canada)
-
- // @description Impede a captura do endereço IP feita por solicitação de API externa.
- // @description:pt Impede a captura do endereço IP feita por solicitação de API externa.
- // @description:es Bloquea la captura de IP realizada por una solicitud de API externa.
- // @description:en Blocks the capture of the IP address done by an external API request.
- // @description:fr Bloque la capture de l'adresse IP effectuée par une demande d'API externe.
- // @description:ru Блокирует захват IP-адреса, сделанный внешним запросом API.
- // @description:ja 外部APIリクエストによるIPアドレスのキャプチャをブロックします。
- // @description:ko 외부 API 요청으로 수행 된 IP 주소 캡처를 차단합니다.
- // @description:zh-TW 阻止外部API请求捕获IP地址。
- // @description:zh-CN 阻止外部API请求捕获IP地址。
- // @description:id Mencegah penangkapan alamat IP yang dilakukan oleh permintaan API eksternal.
- // @description:ug سىرىقى API سورىسى تەرىپىدىن ئىشلىتىلغان IP ؛ىمىزنى قولۇپ قويىدۇ.
- // @description:ar يحظر التقاط عنوان IP الذي يتم بواسطة طلب API خارجي.
- // @description:he מונע את לכידת כתובת ה-IP שנעשית על ידי בקשת API חיצונית.
- // @description:hi एक्सटर्नल API अनुरोध द्वारा किए गए IP पता को ब्लॉक करता है।
- // @description:th บล็อกการจับ IP address ที่ทำโดยคำขอ API จากภายนอก
- // @description:bg Блокира заснемането на IP адрес, извършено чрез външна заявка към API.
- // @description:ro Blochează capturarea adresei IP efectuată prin cererea unei API externe.
- // @description:fi Estää IP-osoitteen kaappauksen, joka on tehty ulkoisen API-pyynnön kautta.
- // @description:it Blocca la cattura dell'indirizzo IP effettuata da una richiesta di API esterna.
- // @description:el Φράζει την καταγραφή της διεύθυνσης IP που πραγματοποιείται από εξωτερικό αίτημα API.
- // @description:eo Blokas la kaptadon de la IP-adreso farita per ekstera API peto.
- // @description:hu Blokkolja az IP-cím elkapását, amit külső API-kérés végzett.
- // @description:nb Blokkerer fangsten av IP-adressen utført av en ekstern API-forespørsel.
- // @description:sk Blokuje zachytávanie IP adresy vykonané externou požiadavkou API.
- // @description:sv Blockerar fångsten av IP-adressen som utförs av en extern API-begäran.
- // @description:sr Blokira hvatanje IP adrese izvršeno preko spoljnog API zahteva.
- // @description:pl Blokuje przechwytywanie adresu IP dokonywane przez zewnętrzne żądanie API.
- // @description:nl Blokkeert het vastleggen van het IP-adres dat wordt gedaan door een externe API-aanvraag.
- // @description:de Blockiert das Erfassen der IP-Adresse durch eine externe API-Anfrage.
- // @description:da Blokerer opfange IP-adressen udført af en ekstern API-forespørgsel.
- // @description:cs Blokuje zachycení IP adresy provedené externí žádostí o API.
- // @description:uk Блокує захоплення IP-адреси, здійснене зовнішньою запитом до API.
- // @description:tr Harici bir API isteği tarafından yapılan IP adresi yakalamayı engeller.
- // @description:vi Chặn việc thu thập địa chỉ IP thực hiện bởi yêu cầu API bên ngoài.
- // @description:fr-CA Bloque la capture de l'adresse IP effectuée par une demande d'API externe.
-
- // @match *://*/*
- // @exclude *://www.google.*
- // @exclude *://greasyfork.org/*
- // @exclude *://translate.google.*
- // @exclude *://www.google.it/*
- // @exclude https://www.youtube.com/*
- // @exclude https://m.youtube.com/*
- // @exclude https://music.youtube.com/*
- // @exclude https://youtu.be/*
- // @exclude https://accounts.youtube.com/*
- // @exclude https://www.youtube-nocookie.com/*
- // @exclude https://gmail.com/*
- // @exclude https://mail.google.com/*
- // @exclude https://github.com/*
- // @exclude https://www.facebook.com/*
- // @exclude https://facebook.com/*
- // @exclude https://m.facebook.com/*
- // @exclude https://wikipedia.org/*
- // @exclude https://web.whatsapp.com/*
- // @exclude https://instagram.com/*
- // @exclude https://x.com/*
- // @exclude https://twitter.com/*
- // @exclude *://www.bilibili.com/*
- // @exclude *://*.bilibili.com/*
- // @exclude *://s1.hdslb.com/*
-
-
- // @grant none
- // @icon data:image/png;base64,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
-
- // @license MIT
- // @run-at document-start
-
- // @compatible chrome
- // @compatible firefox
- // @compatible opera
- // @compatible edge
- // @compatible safari
- // @compatible berrybrowser
-
- // ==/UserScript==
-
- (function() {
- 'use strict';
-
- let stopGo = false;
-
- function stopAll(){
- // Sobrescreve a função addEventListener para prevenir a adição de eventos
- const originalAddEventListener = EventTarget.prototype.addEventListener;
- EventTarget.prototype.addEventListener = function(type, listener, options) {
- console.log(`Tentativa de adição de evento bloqueada: ${type}`);
- // Não faz nada, impedindo a adição de eventos
- };
-
- // Remove o listener padrão do contexto de usuário para eventos adicionados dinamicamente
- window.removeEventListener = function(type, listener, options) {
- // Não faz nada
- };
-
- // Remove todos os listeners existentes
- const removeAllListeners = () => {
- const elements = document.querySelectorAll('*');
- elements.forEach(element => {
- const events = getEventListeners(element);
- for (const eventType in events) {
- events[eventType].forEach(event => {
- element.removeEventListener(event.type, event.listener);
- });
- }
- });
- };
-
- // Remove todos os listeners existentes antes de a página ser totalmente carregada
- window.addEventListener('beforeunload', removeAllListeners);
- window.addEventListener('error', removeAllListeners);
- window.addEventListener('load', removeAllListeners);
-
-
-
- // Desativa o JavaScript na página
- function letsGo(){
-
- const gElements = document.querySelectorAll('svg');
- if (gElements) {
- gElements.forEach((svgElement) => {
- svgElement.style.width = '10px';
- });
- }
- const imggElements = document.querySelectorAll('img');
- if (imggElements) {
- imggElements.forEach((svgElement) => {
- svgElement.style.display = 'none';
- });
- }
-
- window.eval = function() { };
-
- // Desativa a criação de novos elementos de script
- document.createElement = function(tagName) {
- if (tagName.toLowerCase() === 'script') {
- return document.createTextNode('');
- }
- return false;
- };
-
- // Remove todos os scripts existentes na página
- var scripts = document.querySelectorAll('script');
- scripts.forEach(function(script) {
- script.parentNode.removeChild(script);
- });
-
- var allElements = document.querySelectorAll('*');
- allElements.forEach(function(element) {
- element.DOMContentLoaded = "";
- element.load = "";
- element.click = "";
- element.keydown = "";
- element.mousedown = "";
- element.down = "";
- element.attached = "";
- element.onclick = "";
- element.auxclick = "";
- element.dblclick = "";
- element.copy = "";
- element.change = "";
- element.keypress = "";
- element.mouseover = "";
- element.beforeunload = "";
- element.error = "";
- if(element.href){
- element.innerHTML = "Don't Get My IP (Your UserScript)";
- element.href = 'https://greasyfork.org/pt-BR/scripts/472375-n%C3%A3o-pegue-meu-ip';
- }
- if(element.src){
- element.src = '';
- }
- if(element.tagName == 'BUTTON'){
- element.remove();
- }
- //console.log(element.tagName)
- if(element.tagName == 'P' && element.id !== 'hahahax' || element.tagName == 'SPAN' || element.tagName == 'STRONG' || element.tagName == 'SMALL' || element.tagName == 'TD' || element.tagName == 'TH' || element.tagName == 'B' || element.tagName == 'H1' || element.tagName == 'H2' || element.tagName == 'H3' || element.tagName == 'H4'){
- element.innerText = " Suspicious activity verified. The site's javascript has been disabled to prevent future actions.";
- }
-
- });
-
- allElements.forEach(function(element) {
- element.removeAttribute('DOMContentLoaded');
- element.removeAttribute('load');
- element.removeAttribute('onmousedown');
- element.removeAttribute('onmouseup');
- element.removeAttribute('onclick');
- element.removeAttribute('click');
- element.removeAttribute('attached');
- element.removeAttribute('keypress');
- element.removeAttribute('mouseover');
- element.removeAttribute('mousedown');
- element.removeAttribute('keydown');
- element.removeAttribute('beforeunload');
- element.removeAttribute('popstate');
- element.removeAttribute('error');
- });
- }
-
- window.setTimeout(letsGo, 100);
-
-
- // Cria a barra de pesquisa
- const addalertBlock = document.createElement('div');
- addalertBlock.innerHTML = `<p id='hahahax' style='text-align: center;color: rgb(255, 255, 255);'>Userscript IPBLOCK: SITE BLOCKED.</p>`;
- addalertBlock.style.position = 'fixed';
- addalertBlock.style.width = '100%';
- addalertBlock.style.height = 'auto';
- addalertBlock.title = 'Open userscript page';
- addalertBlock.style.borderBottom = 'solid 1px rgb(129, 133, 142)';
- addalertBlock.style.paddingTop = '10px';
- addalertBlock.style.top = '0';
- addalertBlock.style.left = '50%';
- addalertBlock.style.right = '50%';
- addalertBlock.style.transform = 'translate(-50%, 0px)';
- addalertBlock.style.zIndex = '99999';
- addalertBlock.style.display = 'list-item';
- addalertBlock.style.alignItems = 'center';
- addalertBlock.style.textAlign = 'center';
- addalertBlock.style.backgroundColor = 'rgb(85, 0, 0)';
- addalertBlock.style.color = '#fff';
- addalertBlock.style.cursor = 'pointer';
-
- document.addEventListener("keydown", function(event) {
- window.open('https://greasyfork.org/pt-BR/scripts/472375-n%C3%A3o-pegue-meu-ip', '_blank');
- });
-
- document.body.style.backgroundColor = 'rgb(4, 2, 2)';
- document.body.style.color = '#fff';
- document.body.style.marginTop = '40px';
- document.body.appendChild(addalertBlock);
-
- }
-
-
- var palavrasSalvas = `
- geoip,
- ip address:,
- address ip:,
- your ip:,
- ip2Location,
- ipaddress,
- myip,
- whatismyip,
- what is my ip?,
- endereço ip:,
- meu ip:,
- meuip.com`;
-
- function stringParaArray(xpalavrasChave) {
- const arrayDePalavras = xpalavrasChave.split(',');
- const palavrasLimparEspacos = arrayDePalavras
- .map(palavra => palavra.trim())
- .filter(palavra => palavra !== '');
- return palavrasLimparEspacos;
- }
-
- const palavrasChaveString = palavrasSalvas;
- const palavrasChave = stringParaArray(palavrasChaveString);
-
- // Função para verificar se uma palavra-chave está presente em um elemento
- function verificaPalavrasChave(elemento) {
- var texto = elemento.textContent.toLowerCase();
- for (var i = 0; i < palavrasChave.length; i++) {
- var palavra = palavrasChave[i].toLowerCase();
- if (texto.includes(palavra)) {
- return true;
- }
- }
- return false;
- }
-
-
- // Função para remover tags com base nas palavras-chave
- function removeTagsComPalavrasChave() {
- var checarSubtags = Array.from(document.querySelectorAll('*'));
- checarSubtags.forEach(function (checarSubtag) {
- if (verificaPalavrasChave(checarSubtag)) {
- stopGo = true;
- }
- });
- }
-
-
- const ativeChekall = setInterval(() => {
- luazul();
- }, 100);
-
- function luazul(){
- if(document.body){
- removeTagsComPalavrasChave();
- //setInterval(removeTagsComPalavrasChave, 1200);
- clearInterval(ativeChekall);
- }
- }
-
- console.log('IPBLOCK ====>> Listening for requests...');
- // Lista de URLs de API conhecidas para capturar o IP
- const blockedApiUrls = [
- 'https://www.gstatic.com/charts/geochart',
- 'https://api.ipify.org',
- 'https://api.ipify.org?format=json',
- 'https://ipinfo.io',
- 'https://api.ipapi.com',
- 'https://www.iplocation.net',
- 'https://api.iplocation.net',
- 'https://website-cdn.ipinfo.io',
- 'https://p.typekit.net',
- 'https://use.typekit.net',
- 'https://pagead2.googlesyndication.com',
- 'https://data-jsext.com',
- 'https:main.exoclick.com',
- 'https:main.exdynsrv.com',
- 'https:main.exosrv.com',
- 'https://geolocation.onetrust.com',
- 'https://cdn.cookielaw.org',
- 'http://axeocy.com',
- 'https://chikzzz.com',
- 'https://themeetpartners.life',
- 'https://api.ip-api.com',
- 'https://ipapi.co',
- 'https://geo.ipify.org',
- 'https://extreme-ip-lookup.com',
- 'https://freeipapi.com',
- 'https://application/vnd.maxmind.com',
- 'https://freegeoip.io',
- 'ipbase.com',
- 'https://api.ip2location.com',
- 'https://ipstack.com',
- 'https://ipstack1.p.rapidapi.com',
- 'https://app.fusebox.fm',
- 'https://api.usercentrics.eu',
- 'https://maps.googleapis.com',
- 'https://www.expressvpn.com',
- 'https://graphql.usercentrics.eu',
- 'https://ipaddress',
- 'https://tls.browserleaks.com',
- 'https://rf.revolvermaps.com',
- '/website/_next/static',
- 'nordvpn.com/',
- 'expressvpn.com/',
- 'whoisxmlapi.com',
- 'maxmind.com',
- 'whatismyip.com',
- 'ip-api',
- 'myip.',
- '/cookie',
- '/location',
- '/ip',
- '/ips',
- '/api/hostname',
- '/api/whois',
- 'https://[',
- 'geoip',
- 'geoip2',
- 'ipaddress'
- // Adicione mais URLs de API que deseja bloquear, se necessário
- ];
-
- let listBlock1 = "list of blocked ==> ";
- let listBlock2 = "list of blocked --> ";
-
- var verifyc1 = false;
-
- let contagemBlck = 1;
-
- // Intercepta as solicitações AJAX feitas pelo website
- const open = XMLHttpRequest.prototype.open;
- XMLHttpRequest.prototype.open = function(method, url) {
- // Verifica se a URL da solicitação corresponde a uma URL de API bloqueada
- console.log('====>>', url);
- if (blockedApiUrls.some(apiUrl => url.startsWith(apiUrl))) {
- verifyc1 = true;
- listBlock1 += '\n\n'+contagemBlck+': '+url;
- contagemBlck++;
- console.log(`Solicitação de API bloqueada: ${url}`);
- return; // Interrompe a execução da solicitação
- }
- for (var i = 0; i < blockedApiUrls.length; i++) {
- var palavra = blockedApiUrls[i];
- if (url.includes(palavra)) {
- console.log(`~ Block: ${palavra}`);
- listBlock1 += palavra+" ~ ";
- verifyc1 = true;
-
- // Intercepta as requisições AJAX
- var send = XMLHttpRequest.prototype.send;
- XMLHttpRequest.prototype.send = function() {
- console.log('Tentativa de enviar requisição AJAX bloqueada.');
- // bloqueia a requisição e para de carregar a página
- };
-
- // Intercepta o envio de formulários
- var submit = HTMLFormElement.prototype.submit;
- HTMLFormElement.prototype.submit = function() {
- console.log('Tentativa de enviar formulário bloqueada.');
- // bloqueia o envio de formuário e para de carregar a página
- };
-
- // Intercepta o clique em links
- document.addEventListener('click', function(event) {
- if (event.target.tagName === 'a') {
- console.log('Tentativa de navegar para outra página bloqueada.');
- event.preventDefault(); // Bloqueia o comportamento padrão do link
- }
- });
- return;
- }
- }
- // Continua com a execução normal da solicitação
- open.apply(this, arguments);
- };
-
-
-
- let bloquearFetch = true;
- let verifyc2 = false;
-
- function interceptarFetch(url, options) {
- console.log('---->>', url);
- for (var i = 0; i < blockedApiUrls.length; i++) {
- var palavra = blockedApiUrls[i];
- if (url.includes(palavra)) {
- console.log(`~ Block: ${palavra}`);
- listBlock2 += palavra+" ~ ";
- verifyc2 = true;
- return Promise.resolve({ status: 200, body: 'A solicitação foi bloqueada.' });
- }
- }
- if (bloquearFetch && correspondeAUrlBloqueada(url)) {
- console.log('Solicitação fetch bloqueada:', url);
- verifyc2 = true;
- listBlock2 += '\n\n'+contagemBlck+': '+url+" ~ ";
- contagemBlck++;
- return Promise.resolve({ status: 200, body: 'A solicitação foi bloqueada.' });
- } else {
- return window.originalFetch.call(this, url, options);
- }
- }
-
- function correspondeAUrlBloqueada(url) {
- for (const urlBloqueada of blockedApiUrls) {
- if (url.startsWith(urlBloqueada)) {
- return true;
- }
- for (var i = 0; i < blockedApiUrls.length; i++) {
- var palavra = blockedApiUrls[i];
- if (url.includes(palavra)) {
- console.log(`~ Block: ${palavra}`);
- return true;
- }
- }
- }
- return false;
- }
-
- // Substituir a função fetch globalmente
- window.originalFetch = window.fetch;
- window.fetch = interceptarFetch;
-
- // Aguarde o evento de carregamento total da página
- window.addEventListener('load', function() {
- // Após o carregamento total da página, permitir todas as solicitações fetch
- bloquearFetch = false;
- });
-
-
-
- function notificaAlert() {
- setTimeout(function(){
- if(verifyc1 == true){
- window.stop();
- console.log("~~ IPBLOCK AJAX ~~\n\n"+listBlock1);
- listBlock1 = "list of blocked ==> ";
- verifyc1 = false;
- stopAll();
- }
- else if(verifyc2 == true){
- window.stop();
- console.log("~~ IPBLOCK Fetch ~~\n\n"+listBlock2);
- listBlock2 = "list of blocked --> ";
- verifyc2 = false;
- stopAll();
- }else if(stopGo == true){
- window.stop();
- console.log("~~ IPBLOCK: Stop All.");
- stopAll();
- }else{
- console.log('IPBLOCK ====>> No API requests for IP identified.');
- }
- },1000);
- }
-
- var xurl = window.location.href;
- // Verifica o URL para determinar o que fazer no site
- if (xurl.includes(`https://[`) || xurl.includes(`vercel`)) {
- stopGo = true;
- Object.defineProperty(Element.prototype, 'innerText', {
- set: function(value) {},
- });
- Object.defineProperty(Element.prototype, 'innerHTML', {
- set: function(value) {},
- });
- };
-
- window.addEventListener('load', notificaAlert);
-
- })();