trackkun-dom 1.3.2 → 1.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/adBlocker.json ADDED
@@ -0,0 +1 @@
1
+ {"hosts":["pubfuture-ad.com","bidgear.com","googlesyndication.com","rtmark.net","e7z9t4x6a0v5mk3zo1a0xj2z7c6g8sa6js5z7s2c3h9x0s5fh3a6sjwb8q7m.xyz","phumsise.com","chumsaf.com","ad.baovip79.biz","uk88.top","kismetrosland.life","d3n7ct9nohphbs.cloudfront.net","rlcdn.com","rfihub.com","stoolsocman.top","doubleclick.net","acscdn.com","viglink.com","vntsm.io","ad-delivery.net","radioonlinehd.net","a-ads.com","adskeeper.com","goomaphy.com","t7cp4fldl.com","vlitag.com","adschill.com","pubfuture.com","infolinks.com","prospectprefer.com","benchsuited.com","busyexit.com","realsrvcdn.com","godpvqnszo.com","prplad.com","33across.com","creativecdn.com","openx.net","cebidsbessel.com","vdo.ai","imasdk.googleapis.com","earthenicings.com","trotolhonor.com","umbretalen.com","guigebichir.website","dummieseardrum.com","hbcdn.net","falcatayamalka.com","admatic.com.tr","ppcnt.pro","gdpr.web0.eu","y8z5nv0slz06vj2k5vh6akv7dj2c8aj62zhj2v7zj8vp0zq7fj2gf4mv6zsb.me","pemsrv.com","magsrv.com","tsyndicate.com","xlviirdr.com","funnelgloveaffable.com","wordsnought.com","fictionfittinglad.com","wrestcut.com","obediencechainednoun.com","scratchconsonant.com","waisheph.com","bihussfoob.net","prplads.com","crockerydestructivespoken.com","lwonclbench.com","purpleads.io","abrhydona.com","taxismaned.top","viewyentreat.guru","foramscoypou.com","188.42.84.12","taiiwin.vin","licensekey2018.com","caribedkurukh.com","tzegilo.com","casibom.io","jubusvaleur.top","intimalsejoin.top","squeaksgridded.top","cussingversate.top","flinttovaria.com","bitonclick.com","mbidadm.com","23.109.170.2","pubmatic.com","invstatic101.creativecdn.com"],"css":".ad-topMobile,.ad,.ads-container,.ads,.adsbygalaksion,.adsbygoogle,.code-block,.display-banner,.radio-ad,#radio_content,#content *[class*=\"bg-ssp-\"],#adplus-anchor,#fixedban,#noktaplayercontainer,#p_6314647,#psdn-slot,#stickyplayervideoclose,#teaser3,*[class^=\"ad-\"],*[class^=\"ad_\"],*[class$=\"-ad\"],*[class$=\"_ad\"],*[class*=\"-ad-\"],*[class*=\"_ad_\"],*[class^=\"ads-\"],*[class^=\"ads_\"],*[class$=\"-ads\"],*[class$=\"_ads\"],*[class*=\"-ads-\"],*[class*=\"_ads_\"],*[data-adunit],*[data-google-query-id],*[id*=\"_ad_\"],*[id*=\"-ad-\"],*[id^=\"ad_\"],*[id^=\"ad-\"],*[id$=\"_ad\"],*[id$=\"-ad\"],*[id*=\"_ads_\"],*[id*=\"-ads-\"],*[id^=\"ads_\"],*[id^=\"ads-\"],*[id$=\"_ads\"],*[id$=\"-ads\"],*[id^=\"dsq-app\"],*[id^=\"pf-\"],*[id^=\"publift-\"],iframe[src*=\"adata\"],iframe[src*=\"ad.\"],iframe[src*=\"ads.\"],iframe[src*=\"/ad\"],iframe[src*=\"/A=\"],iframe[src*=\"/click\"],iframe[src*=\"?click\"],iframe[src*=\"?banner\"],iframe[src*=\"=click\"],iframe[src*=\"clickurl=\"],iframe[src*=\".atwola.\"],iframe[src*=\"spinbox.\"],iframe[src*=\"transfer.go\"],iframe[src*=\"adfarm\"],iframe[src*=\"adfarmadSpace\"],iframe[src*=\"adserver\"],iframe[src*=\"adjuggler\"],iframe[src*=\".banner\"],iframe[src*=\"bluestreak\"],iframe[src*=\"doubleclick\"],iframe[src*=\"/rd.\"],iframe[src*=\"/0AD\"],iframe[src*=\".falkaq.\"],iframe[src*=\"connextra.\"],iframe[src*=\"tracksponsor.\"],iframe[data-aa],script[src*=\"doubleclick\"] + div,script[src*=\"romanticwait\"] + div,.empower-ad,*[data-empower-id],#empowerplayercontainer,*[id^=\"bg-ssp-\"],a[href*=\"ajker-sangbad.com\"],a[href*=\"story.alandal.com/psycho-asura\"],.google-auto-placed,*[data-ad-format],*[data-adtrack-id],.rev-src,iframe[src=\"about:blank\"] + div[style]:last-child,a[href*=\"deflink\"],#Arpian-ads,iframe[id^=\"bg_\"],.adv,#vi-smartbanner,*[data-ad-slot],html > iframe,div:has(> [prclck]),[prclck],a[href*=\"gotrackier\"],body > nav:not([id]):not([class]):not([style]) > a[style]:first-child:last-child,body > section:not([id]):not([class]):not([style]) > span:first-child:last-child > a[style],.adblock_title,.adblock_subtitle,div[id]:has(div[id] h4.adblock_title),script[src*=\"trotolhonor.com\"] + iframe,.custom-html-widget:has(script[src*=\"separatelysmackfibber\"]),#content a[href*=\"kit-food.com\"],*[pa-slot-container],*[id^=\"exo_slider\"],.exo-native-widget-outer-container,iframe[src*=\"a.magsrv.com\"],#theradios_content,script[src*=\"dummieseardrum\"] + iframe,.ts-im-container,.adxp-sticky,div[id*=\"ScriptRoot\"]{position: fixed!important;display: none!important;opacity: 0!important;top: -99999px!important;left: -99999px!important;right: unset!important;bottom: unset!important;visibility: hidden!important;z-index: -1000!important;pointer-events: none!important;height: 0!important;width: 0!important;max-height: 0!important;min-height: 0!important;max-width: 0!important;min-width: 0!important;overflow: hidden!important;transform: translate(-99999px, -99999px) scale(0)!important;} body:has(div[id] h4.adblock_title) {overflow: unset !important;}"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "trackkun-dom",
3
3
  "author": "endyquang",
4
- "version": "1.3.2",
4
+ "version": "1.3.3",
5
5
  "license": "UNLICENSED",
6
6
  "description": "Trkun DOM parser",
7
7
  "main": "index.js",
@@ -11,6 +11,7 @@
11
11
  "specs.json",
12
12
  "tags.json",
13
13
  "adSelectors.json",
14
+ "adBlocker.json",
14
15
  "blocker.json",
15
16
  "webview.js"
16
17
  ]
package/webview.js CHANGED
@@ -1 +1 @@
1
- (function(){"use strict";function m(e,n){let t;return()=>{t&&clearTimeout(t),t=setTimeout(()=>{e(),t=void 0},n)}}function w(e){return e.title==="Just a moment..."||e.title==="Access denied"||e.title=="Attention Required! | Cloudflare"||!!e.querySelector('body.no-js #challenge-running, body.no-js noscript, link[href$="/styles/challenges.css"]')}async function g({addListener:e,removeListener:n,transform:t,filter:i,handler:a,onTimeout:o,timeout:r,once:s}){return new Promise(c=>{e(f);const d=()=>s===!0&&n(f),y=r?setTimeout(()=>{d(),c(void 0),o?.()},r):void 0;async function f(l,...h){l=t?t(l):l,l!==void 0&&(!i||i(l,...h))&&(d(),c(l),a?.(l,...h),y&&clearTimeout(y))}})}async function v(e){return(await g({addListener:n=>window.addEventListener("message",n),removeListener:n=>window.removeEventListener("message",n),...e}))?.data}function b({event:e,filter:n,handler:t,senderWindow:i,targetOrigin:a}){v({filter:o=>o.data?.event===e&&!!o.data?.reqId&&(!n||n(o)),handler:async o=>{const r=await t?.(o);(i||window).postMessage({resId:o.data.reqId,result:r},a??"*")}})}async function p(e,n,t){const i=await t(()=>{e=0});if(i!==void 0)return i;if(!(e<=0))return await new Promise(a=>{setTimeout(async()=>{const o=await p(e-1,n,t);a(o)},n)})}function L(){const e={delay:{loading:!0}};let n=location.pathname,t={...e};async function i(a,o){if(!o.headers.get("Content-Type")?.includes("application/json")){delete t[a];return}t[a]={res:o.clone()}}window.fetch=new Proxy(window.fetch,{apply:async(a,o,r)=>{n!==location.pathname&&(n=location.pathname,t={...e});const[s,c]=r;return c?.method&&c.method.toLowerCase?.()!=="get"?await a.apply(o,r):(t[s]={loading:!0},delete t.delay,await a.apply(o,[s,c]).then(d=>(i(s,d),d)).catch(d=>{throw delete t[s],d}))}}),b({event:"tk:fetchResult",async handler(a){if(a.origin!==location.origin)return;const{baseUrl:o,segments:r}=a.data.args||{};return!Array.isArray(r)||typeof o!="string"?void 0:await j(()=>t,o,r.filter(s=>typeof s=="string"||typeof s?.isAny=="boolean"))}})}function k(e,n,t){const i=Object.keys(e).find(a=>T(a,n,t));return i?{url:i,result:e[i]}:void 0}function T(e,n,t){const i=e.replace(location.origin,""),a=n.replace(location.origin,"");if(!i.startsWith(a))return!1;const o=i.replace(a,"").split("?")[0].split("#")[0].split("/").filter(Boolean);return o.length===t.length&&t.every((r,s)=>r?.isAny||r===o[s])}function j(e,n,t){let i=15;return p(150,100,async a=>{const o=k(e(),n,t);if(!o){const s=Object.values(e());!(!s.length||s.some(c=>c.loading))&&!--i&&a();return}const r=await S(o.result);return r?{url:o.url,value:r}:void 0})}async function S(e){const{res:n,parsed:t,loading:i}=e;if(!i)return e.parsed=t??await n?.json().catch(async()=>JSON.parse(await n.text())).catch(()=>{}),delete e.res,e.parsed}window.top===window&&(M(),A(),C(),L());function A(){let e=!1,n=0;const t=()=>{e||w(document)||(e=!0,n++,location.protocol==="chrome-error:"?(u("tk:error",document.title),document.body.style.setProperty("display","none")):u("tk:DOMContentLoaded"))};document.addEventListener("DOMContentLoaded",t),document.addEventListener("readystatechange",i=>{i.target.readyState!=="loading"?t():n<=1&&(e=!1)})}function C(){e(()=>!w(document)&&u("tk:spaNav"));function e(n){let t=location.pathname;const i=m(()=>{t!==location.pathname&&(t=location.pathname,n())},50),a=(o,r,s)=>(i(),o.apply(r,s));window.addEventListener("popstate",i),window.history.pushState=new Proxy(window.history.pushState,{apply:a}),window.history.replaceState=new Proxy(window.history.replaceState,{apply:a})}}function M(){let e=window.webkit,n=0;const t=setInterval(()=>{if(e===window.webkit){++n>=300&&clearInterval(t);return}e===void 0||typeof window.webkit=="object"?(n=0,e=window.webkit):window.webkit=e},10)}function u(e,n){window.flutter_inappwebview?.callHandler?.(e,n===void 0?{}:n)}})();
1
+ (function(){"use strict";function g(t,n){let e;return()=>{e&&clearTimeout(e),e=setTimeout(()=>{t(),e=void 0},n)}}function f(t){return t.title==="Just a moment..."||t.title==="Access denied"||t.title=="Attention Required! | Cloudflare"||!!t.querySelector('body.no-js #challenge-running, body.no-js noscript, link[href$="/styles/challenges.css"]')}async function v({addListener:t,removeListener:n,transform:e,filter:r,handler:o,onTimeout:i,timeout:a,once:s}){return new Promise(c=>{t(y);const l=()=>s===!0&&n(y),h=a?setTimeout(()=>{l(),c(void 0),i?.()},a):void 0;async function y(d,...m){d=e?e(d):d,d!==void 0&&(!r||r(d,...m))&&(l(),c(d),o?.(d,...m),h&&clearTimeout(h))}})}async function L(t){return(await v({addListener:n=>window.addEventListener("message",n),removeListener:n=>window.removeEventListener("message",n),...t}))?.data}function b({event:t,filter:n,handler:e,senderWindow:r,targetOrigin:o}){L({filter:i=>i.data?.event===t&&!!i.data?.reqId&&(!n||n(i)),handler:async i=>{const a=await e?.(i);(r||window).postMessage({resId:i.data.reqId,result:a},o??"*")}})}async function p(t,n,e){const r=await e(()=>{t=0});if(r!==void 0)return r;if(!(t<=0))return await new Promise(o=>{setTimeout(async()=>{const i=await p(t-1,n,e);o(i)},n)})}function k(){const t={delay:{loading:!0}};let n=location.pathname,e={...t};async function r(o,i){if(!i.headers.get("Content-Type")?.includes("application/json")){delete e[o];return}e[o]={res:i.clone()}}window.fetch=new Proxy(window.fetch,{apply:async(o,i,a)=>{n!==location.pathname&&(n=location.pathname,e={...t});const[s,c]=a;return c?.method&&c.method.toLowerCase?.()!=="get"?await o.apply(i,a):(e[s]={loading:!0},delete e.delay,await o.apply(i,[s,c]).then(l=>(r(s,l),l)).catch(l=>{throw delete e[s],l}))}}),b({event:"tk:fetchResult",async handler(o){if(o.origin!==location.origin)return;const{baseUrl:i,segments:a}=o.data.args||{};return!Array.isArray(a)||typeof i!="string"?void 0:await E(()=>e,i,a.filter(s=>typeof s=="string"||typeof s?.isAny=="boolean"))}})}function T(t,n,e){const r=Object.keys(t).find(o=>C(o,n,e));return r?{url:r,result:t[r]}:void 0}function C(t,n,e){const r=t.replace(location.origin,""),o=n.replace(location.origin,"");if(!r.startsWith(o))return!1;const i=r.replace(o,"").split("?")[0].split("#")[0].split("/").filter(Boolean);return i.length===e.length&&e.every((a,s)=>a?.isAny||a===i[s])}function E(t,n,e){let r=15;return p(150,100,async o=>{const i=T(t(),n,e);if(!i){const s=Object.values(t());!(!s.length||s.some(c=>c.loading))&&!--r&&o();return}const a=await M(i.result);return a?{url:i.url,value:a}:void 0})}async function M(t){const{res:n,parsed:e,loading:r}=t;if(!r)return t.parsed=e??await n?.json().catch(async()=>JSON.parse(await n.text())).catch(()=>{}),delete t.res,t.parsed}window.top===window&&(H(),A(),j(),k(),S());function A(){let t=!1,n=0;const e=()=>{t||f(document)||(t=!0,n++,location.protocol==="chrome-error:"?(w("tk:error",document.title),document.body.style.setProperty("display","none")):w("tk:DOMContentLoaded"))};document.addEventListener("DOMContentLoaded",e),document.addEventListener("readystatechange",r=>{r.target.readyState!=="loading"?e():n<=1&&(t=!1)})}function j(){t(()=>!f(document)&&w("tk:spaNav"));function t(n){let e=location.pathname;const r=g(()=>{e!==location.pathname&&(e=location.pathname,n())},50),o=(i,a,s)=>(r(),i.apply(a,s));window.addEventListener("popstate",r),window.history.pushState=new Proxy(window.history.pushState,{apply:o}),window.history.replaceState=new Proxy(window.history.replaceState,{apply:o})}}function H(){let t=window.webkit,n=0;const e=setInterval(()=>{if(t===window.webkit){++n>=300&&clearInterval(e);return}t===void 0||typeof window.webkit=="object"?(n=0,t=window.webkit):window.webkit=t},10)}function S(){let t;const n=()=>({});window._lstClckDetails=n,document.addEventListener("touchstart",e=>{const r=e.target;if(!(r instanceof HTMLElement)||!r.isConnected)return;const o=e.touches[0];window._lstClckDetails=()=>P(r,location.pathname,o.pageX,o.pageY),clearTimeout(t),r&&(t=setTimeout(()=>{window._lstClckDetails=n},500))})}function P(t,n,e,r){if(location.pathname!==n)return;const o=(t.isConnected?D(t,a=>a instanceof HTMLAnchorElement||a instanceof HTMLButtonElement):void 0)??Array.from(document.elementsFromPoint(e,r)).find(a=>a instanceof HTMLAnchorElement&&u(a));if(!o)return t.isConnected&&u(t)?{}:void 0;if(!u(o))return;if(!(o instanceof HTMLAnchorElement))return o.children.length?{}:void 0;const i=o.href;if(!i||i.includes("javascript:")||i[0]==="#")return{};try{return{href:new URL(i,location.href).toString(),isBlank:o.target==="_blank"}}catch{return{}}}function u(t){const{offsetWidth:n,offsetHeight:e}=t;return n>=1&&n<window.innerWidth*.9||e>=1&&e>window.innerHeight*.9}function D(t,n){let e=t;for(;e&&e!==document.body;){if(n(e))return e;e=e.parentElement}}function w(t,n){window.flutter_inappwebview?.callHandler?.(t,n===void 0?{}:n)}})();