https://dstv.stream/

Submitted URL:
https://dstv.stream
Report Finished:

The outgoing links identified from the page

JavaScript Variables · 44 found

Global JavaScript variables loaded on the window object of a page, are variables declared outside of functions and accessible from anywhere in the code within the current scope

Console log messages · 5 found

Messages logged to the web console

HTML

The raw HTML body of the page

<!DOCTYPE html><html lang="en"><head>
  <base href="/">  <meta charset="utf-8">
  <meta name="theme-color" content="#000">
  <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="shortcut icon" id="favIcon" href="./favicon.png">
  <title>DStv - Watch Live sports and Catch Up on TV series, movies and kids shows online.</title>
  <meta name="description" content="Watch your DStv Stream online. Stream Live Sport, Catch Up on your favourite TV Shows, Movies and Kids shows on your mobile phone, web browser, smart TV and more. Download to watch later on your mobile. See what’s on in the TV guide. Download the DStv Stream app.">
  <link href="./libraries/ui-dstv.css" rel="stylesheet">
  <link rel="stylesheet" type="text/css" charset="UTF-8" href="./libraries/slick.min.css">
  <link rel="stylesheet" type="text/css" href="./libraries/slick-theme.min.css">
  <script type="text/javascript" async="" src="https://analytics.tiktok.com/i18n/pixel/static/identify_7bf75739.js"></script><script type="text/javascript" async="" src="https://analytics.tiktok.com/i18n/pixel/static/main.MWEzNzVlZGY0MQ.js" data-id="CCTU5Q3C77U87GSMFAE0"></script><script type="text/javascript" async="" src="https://analytics.tiktok.com/i18n/pixel/events.js?sdkid=CCTU5Q3C77U87GSMFAE0&amp;lib=ttq"></script><script type="text/javascript" async="" src="https://www.googletagmanager.com/gtag/js?id=G-ABC123&amp;l=dataLayer&amp;cx=c"></script><script async="" src="https://www.googletagmanager.com/gtm.js?id=GTM-T5LZDT"></script><script id="dump" type="header-dump"></script>
  <script>
    let nxTheme = "dstv";
    let getTheme = nxTheme ? nxTheme.trim() : 'dstv';
    
    window.deployment_environment = "PRODUCTION";
    window.platform = getTheme;
    const favicon = document.getElementById("favIcon");

    if (getTheme === "dstv") {
      document.title = "DStv - Watch Live sports and Catch Up on TV series, movies and kids shows online.",
        favicon.setAttribute("href", "./favicon.png")
    } else {
      document.title = "Gotv - Watch Live sports and Catch Up on TV series, movies and kids shows online.",
        favicon.setAttribute("href", "./goTv.png")
    }

  </script>
  <!-- Google Tag Manager -->
  <script>
    (function (w, d, s, l, i) {
      w[l] = w[l] || [];
      w[l].push({ "gtm.start": new Date().getTime(), event: "gtm.js" });
      var f = d.getElementsByTagName(s)[0],
        j = d.createElement(s),
        dl = l != "dataLayer" ? "&l=" + l : "";
      j.async = true;
      j.src = "https://www.googletagmanager.com/gtm.js?id=" + i + dl;
      f.parentNode.insertBefore(j, f);
    })(window, document, "script", "dataLayer", "GTM-T5LZDT");
  </script>
  <!-- End Google Tag Manager -->
  <meta name="google-site-verification" content="4TCWPaAABzOnMzdwXcQWnFhWs0kJYcxzq7xpqhi4D-M">
  <!-- Permutive -->
  <script>
    !(function (n, e, i) {
      if (!n) {
        (n = n || {}),
          (window.permutive = n),
          (n.q = []),
          (n.config = i || {}),
          (n.config.apiKey = e),
          (n.config.environment = n.config.environment || "production");
        for (
          var o = [
            "addon",
            "identify",
            "track",
            "trigger",
            "query",
            "segment",
            "segments",
            "ready",
            "on",
            "once",
            "user",
            "consent",
          ],
          r = 0;
          r < o.length;
          r++
        ) {
          var t = o[r];
          n[t] = (function (e) {
            return function () {
              var i = Array.prototype.slice.call(arguments, 0);
              n.q.push({ functionName: e, arguments: i });
            };
          })(t);
        }
      }
    })(window.permutive, "019540e1-1450-4391-aa78-7bdd475762ff", {});
    (window.googletag = window.googletag || {}),
      (window.googletag.cmd = window.googletag.cmd || []),
      window.googletag.cmd.push(function () {
        if (
          0 === window.googletag.pubads().getTargeting("permutive").length
        ) {
          var g = window.localStorage.getItem("_pdfps");
          window.googletag
            .pubads()
            .setTargeting("permutive", g ? JSON.parse(g) : []);
          var o = window.localStorage.getItem("permutive-id");
          o &&
            (window.googletag.pubads().setTargeting("puid", o),
              window.googletag
                .pubads()
                .setTargeting("ptime", Date.now().toString()));
        }
      });
    permutive.addon("web", {});
  </script>
  <script async="" src="https://b2d7ba82-21e5-456c-bc98-05c7e0cd93de.edge.permutive.app/b2d7ba82-21e5-456c-bc98-05c7e0cd93de-web.js"></script>

  <!-- End Permutive -->
  <!-- remove console warning and errors for production  -->
  <script>
    function prodConsoleCheck(isClear) {
      if (window.location.hostname.startsWith('now') && !window.location.href.includes("debug")) {
        if (isClear === undefined) {
          document.addEventListener("contextmenu", (e) => e.preventDefault());

          function ctrlShiftKey(e, keyCode) {
            const modifier = e.ctrlKey || e.metaKey;
            return (
              modifier && e.shiftKey && e.keyCode === keyCode.charCodeAt(0)
            );
          }

          document.onkeydown = (e) => {
            var modifier = e.ctrlKey || e.metaKey;
            if (
              event.keyCode === 123 ||
              ctrlShiftKey(e, "I") ||
              ctrlShiftKey(e, "J") ||
              ctrlShiftKey(e, "C") ||
              (modifier && e.keyCode === "U".charCodeAt(0))
            )
              return false;
          };

          console.warn = "";
          console.error = "";
          console.log = "";

          window.onerror = function (message, source, lineno, colno, error) {
            return true;
          };
          window.onunhandledrejection = function (errorEvent) {
            return true;
          };
        } else {
          console.clear();
        }
      }
    }
    prodConsoleCheck();
  </script>
  <!-- Hotjar Tracking Code for DStv - Watch Live sports and Catch Up on TV series, movies and kids shows online. -->

  <script>
    (function (h, o, t, j, a, r) {
      h.hj = h.hj || function () { (h.hj.q = h.hj.q || []).push(arguments); };
      h._hjSettings = { hjid: 1258357, hjsv: 6 };
      a = o.getElementsByTagName("head")[0];
      r = o.createElement("script");
      r.async = 1;
      r.src = t + h._hjSettings.hjid + j + h._hjSettings.hjsv;
      a.appendChild(r);
    })(window, document, "https://static.hotjar.com/c/hotjar-", ".js?sv=");
  </script><script async="" src="https://static.hotjar.com/c/hotjar-1258357.js?sv=6"></script>
<link rel="stylesheet" href="styles.af4b1fc2f3179a50.css"><link rel="stylesheet" href="main.6fa1c4a0be890237.css"><script async="" src="https://script.hotjar.com/modules.c455055d4255707cc766.js" charset="utf-8"></script></head>

<body>
  <!-- Google Tag Manager (noscript) -->
  <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-T5LZDT" height="0" width="0"
      style="display:none;visibility:hidden"></iframe></noscript>
  <!-- End Google Tag Manager (noscript) -->
  <div style="height: 100%;display: table;table-layout: fixed;width: 100%;" id="root"></div>

  <style type="text/css">
    .bmpui-ui-uicontainer {
      width: 100%;
      height: 100%;
      position: fixed;
    }

    #bitmovin-ima-container {
      z-index: 100000;
    }
  </style>
  <script src="https://wchat.eu.freshchat.com/js/widget.js"></script>
  <script src="https://service.videoplaza.tv/proxy/pulse-sdk-html5/2.1/latest.min.js"></script>
  <link rel="stylesheet" href="./skin64.css">
  <script src="./skin-1.6.3.js"></script>
  <script>
    !(function () {
      var analytics = (window.analytics = window.analytics || []);
      if (!analytics.initialize)
        if (analytics.invoked)
          window.console &&
            console.error &&
            console.error("Segment snippet included twice.");
        else {
          analytics.invoked = !0;
          analytics.methods = [
            "trackSubmit",
            "trackClick",
            "trackLink",
            "trackForm",
            "pageview",
            "identify",
            "reset",
            "group",
            "track",
            "ready",
            "alias",
            "debug",
            "page",
            "once",
            "off",
            "on",
          ];
          analytics.factory = function (t) {
            return function () {
              var e = Array.prototype.slice.call(arguments);
              e.unshift(t);
              analytics.push(e);
              return analytics;
            };
          };
          for (var t = 0; t < analytics.methods.length; t++) {
            var e = analytics.methods[t];
            analytics[e] = analytics.factory(e);
          }
          analytics.load = function (t, e) {
            var n = document.createElement("script");
            n.type = "text/javascript";
            n.async = !0;
            n.src =
              "https://cdn.segment.com/analytics.js/v1/" +
              t +
              "/analytics.min.js";
            var a = document.getElementsByTagName("script")[0];
            a.parentNode.insertBefore(n, a);
            analytics._loadOptions = e;
          };
          analytics.SNIPPET_VERSION = "4.1.0";
        }
    })();
  </script>
  <script type="text/javascript" src="https://cdn.bitmovin.com/analytics/web/2/bitmovinanalytics.min.js"></script>
  <iframe id="_hjSafeContext_25755760" title="_hjSafeContext" tabindex="-1" aria-hidden="true" src="about:blank" style="display: none !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none !important;"></iframe><!-- Airship push notification -->
  <script type="text/javascript" src="./airship-push-notification.js"></script>

  <script>
    function sha256(b) {
      function c(a, b) {
        return (a >>> b) | (a << (32 - b));
      }
      for (
        var d,
        e,
        f = Math.pow,
        g = f(2, 32),
        h = "length",
        i = "",
        j = [],
        k = 8 * b[h],
        l = (sha256.h = sha256.h || []),
        m = (sha256.k = sha256.k || []),
        n = m[h],
        o = {},
        p = 2;
        64 > n;
        p++
      )
        if (!o[p]) {
          for (d = 0; 313 > d; d += p) o[d] = p;
          (l[n] = (f(p, 0.5) * g) | 0), (m[n++] = (f(p, 1 / 3) * g) | 0);
        }
      for (b += "\x80"; (b[h] % 64) - 56;) b += "\x00";
      for (d = 0; d < b[h]; d++) {
        if (((e = b.charCodeAt(d)), e >> 8)) return;
        j[d >> 2] |= e << (((3 - d) % 4) * 8);
      }
      for (j[j[h]] = (k / g) | 0, j[j[h]] = k, e = 0; e < j[h];) {
        var q = j.slice(e, (e += 16)),
          r = l;
        for (l = l.slice(0, 8), d = 0; 64 > d; d++) {
          var s = q[d - 15],
            t = q[d - 2],
            u = l[0],
            v = l[4],
            w =
              l[7] +
              (c(v, 6) ^ c(v, 11) ^ c(v, 25)) +
              ((v & l[5]) ^ (~v & l[6])) +
              m[d] +
              (q[d] =
                16 > d
                  ? q[d]
                  : (q[d - 16] +
                    (c(s, 7) ^ c(s, 18) ^ (s >>> 3)) +
                    q[d - 7] +
                    (c(t, 17) ^ c(t, 19) ^ (t >>> 10))) |
                  0),
            x =
              (c(u, 2) ^ c(u, 13) ^ c(u, 22)) +
              ((u & l[1]) ^ (u & l[2]) ^ (l[1] & l[2]));
          (l = [(w + x) | 0].concat(l)), (l[4] = (l[4] + w) | 0);
        }
        for (d = 0; 8 > d; d++) l[d] = (l[d] + r[d]) | 0;
      }
      for (d = 0; 8 > d; d++)
        for (e = 3; e + 1; e--) {
          var y = (l[d] >> (8 * e)) & 255;
          i += (16 > y ? 0 : "") + y.toString(16);
        }
      return i;
    }

    try {
      if (
        localStorage.getItem("_invidi_pid") &&
        localStorage.getItem("_invidi_pid") !== "null"
      ) {

        var lastSyncDate = new Date(
          localStorage.getItem("multichoice-permutive-invidi-lastsync") || 0
        );
        var now = new Date();
        var lastSyncDay = lastSyncDate.getUTCDay();
        var today = now.getUTCDay();
        if (
          lastSyncDate.getTime() < now.getTime() - 1000 * 60 * 60 * 24 ||
          today != lastSyncDay
        ) {
          if (
            typeof permutive !== "undefined" &&
            typeof permutive.ready === "function"
          ) {
            permutive.ready(function () {
              permutive.identify([
                {
                  id: sha256(localStorage.getItem("_invidi_pid")),
                  tag: "internal_base36",
                },
              ]);
            }, "initialised");
          }

          setTimeout(function () {
            var segments = localStorage.getItem("_invidi");
            if (segments) {
              var sList = JSON.parse(segments);

              fetch(
                "https://za-mc.videoplaza.tv/proxy/pixel/v2?permutive=" +
                sList
                  .map(function (e) {
                    return e + "%3Dy";
                  })
                  .join("%2C") +
                "&pid=" +
                localStorage.getItem("_invidi_pid")
              );
            }

          }, 10000)

          localStorage.setItem(
            "multichoice-permutive-invidi-lastsync",
            now.toISOString()
          );
        }
      }
    } catch (e) { }
  </script>
  <!--this div exists to detect when ads are disabled-->
  <div id="adBlockDetection">
    <div class="adBanner" style="background-color: transparent;
    height: 1px;
    width: 1px;"></div>
  </div>
<script src="runtime.2182ee1beb33f155.js" type="module"></script><script src="styles.d34b5eed6433ac88.js" type="module"></script><script src="main.815cee01b24fbc88.js" type="module"></script>

<div style="display: none; visibility: hidden;"><script>!function(d,g,e){d.TiktokAnalyticsObject=e;var a=d[e]=d[e]||[];a.methods="page track identify instances debug on off once ready alias group enableCookie disableCookie".split(" ");a.setAndDefer=function(b,c){b[c]=function(){b.push([c].concat(Array.prototype.slice.call(arguments,0)))}};for(d=0;d<a.methods.length;d++)a.setAndDefer(a,a.methods[d]);a.instance=function(b){b=a._i[b]||[];for(var c=0;c<a.methods.length;c++)a.setAndDefer(b,a.methods[c]);return b};a.load=function(b,c){var f="https://analytics.tiktok.com/i18n/pixel/events.js";
a._i=a._i||{};a._i[b]=[];a._i[b]._u=f;a._t=a._t||{};a._t[b]=+new Date;a._o=a._o||{};a._o[b]=c||{};c=document.createElement("script");c.type="text/javascript";c.async=!0;c.src=f+"?sdkid\x3d"+b+"\x26lib\x3d"+e;b=document.getElementsByTagName("script")[0];b.parentNode.insertBefore(c,b)};a.load("CCTU5Q3C77U87GSMFAE0");a.page()}(window,document,"ttq");</script></div><script type="text/javascript" id="" charset="">(function(){var b=document.documentElement.lang.split("-"),a=localStorage.getItem("connect-store"),c=localStorage.getItem("ajs_user_traits"),d="",e="",f="",g="",h="",k="";null!=c&&(g=JSON.parse(c).firstName,k=JSON.parse(c).email,h=JSON.parse(c).lastName);null!=a&&(d=JSON.parse(a).CustomerNumber,e=JSON.parse(a).connectId,f=JSON.parse(a).customer_status);2==b.length?b=b[1]:null!=a&&(b=JSON.parse(a).countryCode);a=localStorage.getItem("dmpsegments");null==a&&(a="");window.dataLayer=window.dataLayer||
[];window.dataLayer.push({user_id:d,connect_id:e,segment_id:a,country_code:b,user_status:f,first_name:g,last_name:h,user_email:k})})();</script>
</body></html>