clickio

Cronista Subscriber Floater

Oct 22nd, 2025
798
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <script>
  2. function waitFor(fn, {interval=150, timeout=5000} = {}) {
  3.   return new Promise((resolve, reject) => {
  4.     const t0 = Date.now();
  5.     const id = setInterval(() => {
  6.       try {
  7.         const v = fn();
  8.         if (v) { clearInterval(id); resolve(v); }
  9.         else if (Date.now() - t0 > timeout) { clearInterval(id); reject(new Error('timeout')); }
  10.       } catch (e) { clearInterval(id); reject(e); }
  11.     }, interval);
  12.   });
  13. }
  14. function insertClickioScripts() {
  15.   const s1 = document.createElement('script');
  16.   s1.async = true;
  17.   s1.type = 'text/javascript';
  18.   s1.src = '//s.clickiocdn.com/t/215795/360_light.js';
  19.   document.head.appendChild(s1);
  20.  
  21.   const s2 = document.createElement('script');
  22.   s2.className = '__lxGc__';
  23.   s2.type = 'text/javascript';
  24.   s2.text = "((__lxGc__=window.__lxGc__||{'s':{},'b':0})['s']['_215795']=__lxGc__['s']['_215795']||{'b':{}})['b']['_733774']={'i':__lxGc__.b++};";
  25.   document.body.appendChild(s2);
  26.  
  27.   const s3 = document.createElement('script');
  28.   s3.className = '__lxGc__';
  29.   s3.type = 'text/javascript';
  30.   s3.text = "((__lxGc__=window.__lxGc__||{'s':{},'b':0})['s']['_215795']=__lxGc__['s']['_215795']||{'b':{}})['b']['_733773']={'i':__lxGc__.b++};";
  31.   document.body.appendChild(s3);
  32. }
  33.  
  34.  
  35. async function getSubscriberStatus() {
  36.  
  37.   await waitFor(() =>
  38.     window.site && site.session && (site.session.isSuscriber || site.session.isSubscriber)
  39.   );
  40.  
  41.   const api = site.session.isSuscriber || site.session.isSubscriber;
  42. if (typeof api === 'function' && api.length >= 1) {
  43.     return await new Promise(resolve => {
  44.      let done = false;
  45.       const timer = setTimeout(() => { if (!done) resolve(undefined); }, 3000);
  46.       api(function(val) {
  47.         done = true;
  48.         clearTimeout(timer);
  49.         resolve(!!val);
  50.       });
  51.     });
  52.   }
  53.  
  54.   if (typeof api === 'function') {
  55.     const ret = api();
  56.     if (ret && typeof ret.then === 'function') {
  57.       return !!(await ret);
  58.     }
  59.     return !!ret;
  60.   }
  61. if (typeof api === 'boolean') return api;
  62. return undefined;
  63. }
  64.  
  65. (async () => {
  66.   try {
  67.     const val = await getSubscriberStatus();
  68.  
  69.     if (val !== true) {
  70.       console.log('Pasted');
  71.       insertClickioScripts();
  72.     } else {
  73.       console.log('Not pasted');
  74.     }
  75.   } catch (e) {
  76.     console.warn('Unknown', e);
  77.    
  78.     insertClickioScripts();
  79.   }
  80. })();
  81. </script>
Advertisement