Blokerer opfange IP-adressen udført af en ekstern API-forespørgsel.
// ==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 adr### 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,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAAIGNIUk0AAHomAACAhAAA+gAAAIDoAAB1MAAA6mAAADqYAAAXcJy6UTwAAAAGYktHRAD/AP8A/6C9p5MAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfnChwIFwCceqQyAAAQ1ElEQVRo3s2aeXxV1bXHv+ucO2ROyM0NYZIktoAig6C+Z6tWIKHVDtpSfVrbKi2DrVVLrS1apA+xPLC1ULAOLSpV3hMR9ZWiVkAQQTvKoGiDAmEKkJGEJCR3OHv1j3Nu7s0Eqbbv89bnc7Nvzt1nn73Wb017rSNlZZcLIID+PxhPR31aw/ev3KRt2xoMBsjMzNB43CEajWlbWxvGmMTmu47/0OZ7Gn3/rM2LiI4fP5aFCxebxCZfeOG/ZebM79rRaNQyRsnISDdr1z4dv+iiiR07X7BgrmzevBVV/cjMACplZZdbH3YBVdVwuIBVq55TgGAwkBWLxYeq6jnAMOAsVc0HMrx72oF6ETkM7BGRCr/ffyASibQA3HDDNXL8eA0i8n+LkKrKsGEf04cffkxzc3P8lmWdp6pXRiLRScC5QAjw9WYMHhqOqtZHIpH3RGSjiLy8bt0ru5uaTkZnzpzK3r37RUT+9QiJiGzYsNmEwyF/XV3DJ1X1m8CngTAfjWpFZD3wWCiU/0ZdXX20vHyCpS73fVf9vno5VdWSkqEsX/6k2rY9whjne6pcA+R12VgcOA4cEOGQKtUi0ur9lqWqYWAoUAwU9YBkE7Datq2fO46pmD79Rtm//0Cf1bBPCDmO0U2btmgolO87caLxWlX9sWcjqVQJbPDUZ2cg4D8+YEDRqcrKg07qpLPPLrarqo5lRKOxIlUdo6rlQBlQ2mW990Xk3ry83NUNDSdiEydeJrZtf3SEHMfRzZu3aiAQyI7FYj9Q1VlAZsqDK0RkhYisGTXq3Mpdu3Ybz1CSMyJAwFsVoAbo7/4zbtwYa+fOd0pUdYqqTgVGpKzdKiJL/H7fomg01jxhwqVnZOq0CDmO0c2bX1e/35cXi8UXAtMBy3vYSeBx27YfdBxnXyoTZeUTZMutL+Q5gfT+KlYBSBaggraips4XPVXzb7+eemLr7/7XvUFc5mzbLnUc51bgG0CO9xwjIstt254dj8dPnImpXhFSVd248TUNBoPZ0Wj0p8DMLupw18CBRWurqo7FvRvwrWsudAIZl6pIOTAeZJC3sYSdxEBbQI4Iuh3V9b5I67bY53OqVQQBhgwZ5Dty5OhVqrogVa1F5Fd+v+/7kUi0edKkT4llWT0yZfUGXUnJUEKhfr5YLPYDD5kE/UlErlfV52ePzXVQxb9Zw7JRvxMPZr6sYj0NMhPkAoQBWJKJJUHvk4VlFSFygVrWDLXsp2MZOS/JRm7zv9QWRpVl44NxVX1ORL4C/CnxUFWdFovFf9ivX56vuPgsekPILi0thh5c85o1v9X29sh1nqSCCWYsy5qqqu+sBV7sP0jeGzStzNRW/RLVmwmmDwTsDjWKtEH9UWhp7PxpbUqMNi1NA3BinzGBjIvlmH04trei8o3tf2URHLMsa5uqXoLrDQUYH4lEK3fsePvts88u6dFUutmQqsqrr24xtm2PcBzntymwv+8hs12B/Md2BBqLx87QTc/###XCMNn94JalUHKeu9rJenj0Dtj1mmtbIvRMAhnZ8PFxcPEX6mT0ZfMKigseXTdeYhdb1hXGmMXA8JQb9ti2fbXjOBWTJn3K6hp8u2UKw4d/XHft2u2vr6//XgozJ0XkLlXdvhbIX7490Dhk9J0ajc1hyzNp7NvpzvrjOig9z11t307YvApiEfpEle9A9cECHX7hT2sr6wr+3bIjapw7cLOOVBruOM6swsLwrWPHjort2rW7dxtSVX3ooeVaX99wiRc0E/T4wIFFa5d97lx5alieNA4ZM0OROahJI9KenBVN+R6LJF23CPj84At0/9g+d5xwPdzxGMRjaTz4nTmq5r4UZlqB3UAi8b22trbuEw888KB2zSQ6IRQOF5Cbm+Nvajr5DZIZQIVt2w9WVR2L33rkKLI+XqbCXCCtb6IHcsMw/X7oV9g5PgE4cffa2AlQ8Wf49Q9g7w47ZcZhEZlnWdYfHcdZgxun8oBp2dlZb4RC+fGGhhM9n4dWrXrOWJY1Cjc384QrKxzH2aeAf11LOB7MuAckmbf1ZhqpFEyHcZOgaHBSxgmygFPtsPaXsGohNNV51y0oHdMoaZnf0oFXvuisvxsRWaGqCwFUdXJr66lRq1e/sD3VD3R88YwLVb2CZKJZKSJrcPURJ5B+HcilnTZ0pnNmYo4TBwdwDDjqfgAO74fF02H57CQzAOEhMHtlNg9uLWb1XQnhrsFNsQDCxpgrvOvdbejCC8cRDAayVHVSylY2jB49shIvaKrITd0w6QtCiTnq/SO4dvWX9TD/Wti40mW40z0C6Vm2xpnq39LYH1XGjh1VCWxImVUWCPizRo4ckVg9id###Q9oLBYvBkZ6k+MismHnzncMgBPIuAxkVI/SPyNCCecAWF58WvNzWPhV+OCtJAP5RWDZyXtUQRkdT8u+BGD79l1GRDbgZvQA5ziOKV6y5OEevRzeSTPhWY6LyC6Ayz/7OVGRMsDfq/RPR74AWD7XXo4fhF98C5b/EBpr3d/9Qfj8t+Dr81yv1yEoBcEPTJ5w5WfFU69duMcTgJA###HMdkbIu/hxEpEeDgQC/uOo8sbMlXnA+J6lfxpUTByKiuHG/3Sl/9ZmmH8NbHgyqWKhAXDzz+HbS6D/WZ3RREBBxRr35vTf9OMpJRgMHgcOJERFMugmEbJtW59/fqUAZ3UIXjg0aNDAU666pfcHGdzjxntDyLLhgs/A3Ofgkinwu4dgwfWw5y/JOedeDHevgi98G4J+qKsCJ+ahlubGLgHQQbGM3DBfhYKC/FYROZSUmw5ZunSR2LadRCgYDHDzzbNsr6CREHD1vn2VDoB7BCC7zwgZYNh4mP2UG3uW3QKPfh9OVLu/B9LgszPgnmfh/MtcnWiog9dWJxEadDZk54NRQLJRDVMDhw9XGVWtTgpeQvPmLbL9fn8yDmVmZmg0GrVwqzOJia2q6h7O3PNMz0WPTgillNnywm4e9+vZUPGn5JRgOnzhFrhiGhgHqiqh+qAbh3Zs9NC14BNXQzDNY0j9atmZFHbZm4tQmqraoVA/p6rqmJspxOMOXu2vu7wDveLQHaGMHJfBaDu8tByeXgANxz###w5sWQ2vr3FvVgPNjdDWnJxzwafh0i8lHQOCqCN6xE4wkZSnINFoVJubW+hAKBqNaUZGujl58mRKMkZWAgFBWxVidBwjUrJnNa6XuuoWmHwTVFfBkz+GDU9BPNpdALEo1ByiVxo7AWY+ADkhMMZTAY2pSDODOxDKSiLEqdzc3ET+4dpQW1sba9c+HQfqOwSvGi4tLfZEYurck2ZSYh3SG3g2fPcRmLYIDle4Xuzlxzozc7rk1B+A9GwoPg++9mOYvRKGnpPKDCAtlhOrpx2GDfuYraqFyaWl4ciRqnhLS2vShowxetFFExGRwylwDj169FgG1TT7Iqeqoxl5R4CiTucpywc3zYdgBry8HFbOdw90XSk3DNMXQb/+3ZNTEcjIhYGl7u8iXZkB9LA4TrWmCwG/P4MUb6yqh0SEsrLLO2XbCdqDm3HZQHE0GiuiSJo/+enyxtfu+P12RS7oFLb8Poi2weN3wysrkmcffxCGjICD77r###gO50+CAUO6J6cdtoWXGXRjBmD7ZQ9OaRLANmYAbk0P3GzmAw+ETplCAr4KIJEhFqnqGIDNv1+vqK4HjXXkYpbA29vgvutg3aNJZnLDMON+uGFOMo0BV+pxvMTUdB9VuzDRMcbEmI2bVrxi3GXMaFdTwDOR9xJgkZIpcN99c8Tv9x8A/uZN8Knq5PPPH20B+CKtW0HexhLXsH/3KPzkOti9LbnpoSPhrpUw5TZIy0yqVzKN6W3Tpxvftpzo6zpAGDlyhAWUkwwh76WlpR188cVnuyO0ZcsbRCKRFhHZmKIIZbt27S5BhNjnc2rEJ09Qd9Th4Vnw0O1uZE+lS74IF01OcbcJ6L0/Sc3o66jAb5wrM2oEqKj4oNSrtCY06tW2traWJUse6kjhOmwo4QxE5GVVvR33TFSiqlOA+ym7G2q2VdLW0szeHXk92oFl9xyxUhH6x2rvWwNtTaui3uHZGDMFKPFWrQFe8vbeKdvuoK985RrJycl+x+sC4E2ealnWSNm0cKq+s/WRTsyUjoYBXUvSPdCHQ6jWMvH50SvyahHBsqxSVb0pZdX1+fn93p0+/cZOhdJUhqS6uobGxqYYsBxo9K4PM8asUtVlwBAPRsPl1zn8aJXrzTpDkZBE8v/E2abvNtQuauZPuyrw6qyrLpRwuMBW1VtJ1r0bLct6vL6+Ibp//4FuVZ8OsYmIzJhxk4RC+W8AqxOKBJxHskDfIGL9iG8vns/gYW0EUmolwYzk90B6Ul6+APj9fUWoXdTcl1W995GiCCx++a9aV1d/tdeH8uQpz+bkZG+74YZrujbFsEtLiyWVqYaGE/Luu39zbNve6xlgQQoE71uWzHjJmBUbbv7Jm6cs/wmUCzm6N5Oh58IXb4O8QnfpzByoPwZtLXDFN2F8uZt0np6ZOlEzJ6t67y+WfX1EfBaoZVkXqOrDwABvD3ssy7qtra29prAwLF36RvRYrE906UTkBlV9NAWdnZZlXW+MqVDg+vEl8syC9ydq/bG5pGdfSlauJB2ABZFTbtk3p8BNfXoMmglPIdssE59/438ENg5pgntBbds+13GcJ4CLvOe3isgMVf2f8vIJoqrdInBC5bp1HqZPv1Hy8nKfEZElJOP7WGPMChEZL8CdxVHVyb5X7UFDviyZubejvNURfNW4Kpg/AHy+3piJgb4F3B5oa/qymejfkPeJ8dzrIdOFGQMsLiwseHbOnDt7YqZ3hBJMJdopsVjsZ6o6I0X1PhCRuwYPHvjbw4erOtop/rWNhV5BY7KKNQ50MEg2qD+RNYO0gB4B3hJjNlpO9HXnyowazzgoLCywa2vrr1bV/8ItCSToV2lpad9vb29v7qmmnUDoDA0vt3vn8/n6OY6zUFWnpaDajNvwWtat4VU2UbbesjovlpFbiGpYLTtT1IiKNFtOrEEc5/ilD1/XtHn5OqMDpSP38lzzrZ4DSJyQDbA8EAjMjkajJyZOvMyyLKtHZk6LUFemAgF/diwW/6GqfpfOLck9IvKEiKwZM+a8Azt2vO32VJ9U+BpQDfQHDuM6/XbQ9CQTI0eeY1VUvF9qjPlSTy1JYHFaWtr97e3tzWdi5owIpTK1adPrmp/fz9fY2HStqs6lc4sD3IrmRhHZICI7g8Hg8VCoX+uRI0c75dfDh3/M3r//YLoxZoAxZgxQ7nnTki7r7RGRe8PhgmdrampjfWGGvjSNE6MxRocOPYsnnlipXu9oFnAtp23ryyFVrRGRFlVFRDJVtT/ueaaYntv6jSLyrIg8YIzZc889d8qbb/65t5cwutGHfvGisDDsr62t+yTwTVWdDBTy0agWeMWyrMdzcrK3NTY2xXpxzb0yQ28tyTONJSVDrfLyCeYPf/jzgezs7HXxeHyDqh7CdRgZuK0Wi9OT4zHxVxF5TETmhkL5y0+dOrVvypSrtLCw4HSa0yt95JeXQqF8Vq9+QQECAX+W45hiY8xwYISqDhGRkKqmi7gFDRFp8I7NH+CeZw61tbklnxkzbpJ9+yrP9I7Pafnpsw2daRQRPeec4Sxd+kjHQ5cuXSTz5i2yVdWORqOam5trjhypiktKv/WVV57nZz9b1td3es5IHwmhM422bavf75dQqF+ibkZLS6t4LwD+o+v1iZ9/2guAPY2O44jjOFpVdezDbL7r2LHp0937d81YFfRY44k8AAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIzLTEwLTI4VDA4OjIyOjQxKzAwOjAw0wtAowAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMy0xMC0yOFQwODoyMjo0MSswMDowMKJW+B8AAAAodEVYdGRhdGU6dGltZXN0YW1wADIwMjMtMTAtMjhUMDg6MjM6MDArMDA6MDA4vLewAAAAAElFTkSuQmCC // @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.express###.com', 'https://graphql.usercentrics.eu', 'https://ipaddress', 'https://tls.browserleaks.com', 'https://rf.revolvermaps.com', '/website/_next/static', 'nord###.com/', 'express###.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); })();