cloudflare
tcp/443 tcp/80 tcp/8443
The following URL (usually /.git/config) is publicly accessible and is leaking source code and repository configuration.
Severity: medium
Fingerprint: 2580fa947178c88602b1737db148c044b81b03713d63bb82370a6522afdc6832
[core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true [remote "origin"] url = https://github.com/kailawn-ai/lg_zostream.git fetch = +refs/heads/*:refs/remotes/origin/* [branch "main"] remote = origin merge = refs/heads/main
The following URL (usually /.git/config) is publicly accessible and is leaking source code and repository configuration.
Severity: medium
Fingerprint: 2580fa947178c88602b1737db148c044b81b03713d63bb82370a652240e5b3e5
[core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true [remote "origin"] url = https://github.com/kailawn-ai/zostream_web.git fetch = +refs/heads/*:refs/remotes/origin/* [branch "main"] remote = origin merge = refs/heads/main
Open service 104.26.0.178:443 · zostream.in
2026-01-25 19:25
HTTP/1.1 200 OK
Date: Sun, 25 Jan 2026 19:25:10 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=QvDZFlshpEWXNZeFiow6Ixm5LNtXVnXBLQHhFbcQ9Xx5PIELSiaNb7%2F6uVDtCznI0m48D6ZZByZuURLi7IsKu8ofweOBKQ90AH8%3D"}]}
vary: Accept-Encoding
Server: cloudflare
Cache-Control: no-cache,no-store
x-frame-options: SAMEORIGIN
alt-svc: h3=":443"; ma=86400
x-turbo-charged-by: LiteSpeed
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=12,cfOrigin;dur=1103
CF-RAY: 9c3a27a859c69ca1-SIN
Page title: Bot Verification
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Bot Verification</title>
<script>
function onSubmit() {
document.getElementById('lsrecaptcha-form').submit();
}
var onloadCallback = function() {
var cont = grecaptcha.render('recaptchadiv', {
'sitekey': '6LewU34UAAAAAHvXqFOcQlm8z1MP1xpGAZCYEeZY',
'callback': onSubmit,
});
grecaptcha.execute(cont);
};
</script>
<style>
body {
height: 100%;
}
.panel {
padding: 30px;
max-width: 425px;
margin: 10% auto;
box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.2);
}
.title {
font-size: 1.5em;
font-weight: 100;
margin-top: 10px;
text-align: center;
}
.recaptcha-center {
margin-top: 35px;
margin-bottom: 20px;
margin-left: 13%;
margin-right: 13%;
display: block;
}
</style>
</head>
<body>
<div class="panel">
<h3 class="title">Verifying that you are not a robot...</h3>
<form id="lsrecaptcha-form" method="POST" action="/.lsrecap/recaptcha?">
<div id="recaptchadiv" class="recaptcha-center"></div>
</form>
</div>
<script src="https://www.recaptcha.net/recaptcha/api.js?onload=onloadCallback&render=explicit"
async defer>
</script>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"90f232155d114443b5c375b5e6c03ad9","server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
Open service 2606:4700:20::681a:1b2:443 · zostream.in
2026-01-25 19:25
HTTP/1.1 200 OK
Date: Sun, 25 Jan 2026 19:25:11 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
last-modified: Thu, 09 Oct 2025 03:50:30 GMT
Speculation-Rules: "/cdn-cgi/speculation"
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=8,cfOrigin;dur=728
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=zYVGcJ%2FiBibGTgbRGXbISgVp2nCg7g0YIbzRD%2BTcDGTYHuEQaDwEFCVJe5pS7YXLs98J0GmDUE8xwKx%2BGZMS8RlYb8SS0Bo7FYzo0XBMapegvL9DMMc%3D"}]}
vary: Accept-Encoding
Server: cloudflare
platform: hostinger
panel: hpanel
retry-after: 60
content-security-policy: upgrade-insecure-requests
alt-svc: h3=":443"; ma=86400
x-turbo-charged-by: LiteSpeed
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
CF-RAY: 9c3a27abba5688fa-SJC
Page title: Zo Stream — Watch. Listen. Anywhere.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Zo Stream — Watch. Listen. Anywhere.</title>
<link rel="stylesheet" href="style.css" />
<meta name="description"
content="Zo Stream: Movies, series, music, podcasts, and live TV — all in one fast, modern app." />
</head>
<body>
<!-- ================= Header ================= -->
<header class="header">
<div class="wrap nav" role="navigation" aria-label="Primary">
<div class="brand">
<div class="logo" aria-hidden="true"></div>
<span>Zo Stream</span>
</div>
<nav class="links" aria-label="Sections">
<a href="/">Home</a>
<a href="/about-us">About Us</a>
<a href="/contact-us">Contact Us</a>
<a href="#faq">FAQ</a>
<a href="/tv">TV</a>
<!-- NEW: Pages dropdown (desktop) -->
<div class="dropdown">
<button class="drop-toggle" aria-haspopup="true" aria-expanded="false" aria-controls="pagesMenu">
Pages
<svg class="caret" width="16" height="16" viewBox="0 0 24 24" fill="none" aria-hidden="true">
<path d="M6 9l6 6 6-6" stroke="currentColor" stroke-width="2" stroke-linecap="round" />
</svg>
</button>
<div id="pagesMenu" class="drop-menu" role="menu">
<a role="menuitem" href="/privacy-policy">Privacy Policy</a>
<a role="menuitem" href="/refund-and-cancellation">Refund & Cancellation</a>
<a role="menuitem" href="/return-policy">Return Policy</a>
<a role="menuitem" href="/shipping-policy">Shipping Policy</a>
<a role="menuitem" href="/terms-condition">Terms & Condition</a>
</div>
</div>
</nav>
</div>
</header>
<!-- ================= Hero ================= -->
<section class="hero">
<div class="wrap grid">
<div>
<span class="chip">New • Live streams & Podcasts</span>
<h1>Watch. Listen. <span
style="background:linear-gradient(90deg,var(--brand1),var(--brand2));-webkit-background-clip:text;background-clip:text;color:transparent">Anywhere</span>.
</h1>
<p class="lead">Movies, series, music, podcasts, and live TV—beautifully fast. No buffering, no fuss.
Just press play.</p>
<p class="tiny" style="margin-top:10px">
<span>🔒 Secure by design</span> ·
<span>⚡ Fast CDN delivery</span> ·
<span>🌟 HD ready</span>
</p>
</div>
<div class="screen" aria-label="Preview">
<img src="assets/preview-platform.jpg" alt="Zo Stream preview" style="width:100%;height:100%;object-fit:cover;">
</div>
</div>
</section>
<!-- Logos -->
<div class="wrap logos" aria-label="Tech badges">
<div class="logo-item">Dolby</div>
<div class="logo-item">HDR10+</div>
<div class="logo-item">Cloudflare</div>
<div class="logo-item">Firebase</div>
<div class="logo-item">Laravel</div>
<div class="logo-item">Android</div>
</div>
<!-- ================= Features ================= -->
<section id="features">
<div class="wrap">
<div class="center">
<span class="chip">Why Zo Stream</span>
<h2>Built for binge-worthy days</h2>
<p class="sub">Everything you love about streaming, polished to perfection.</p>
</div>
<div class="grid-3" style="margin-top:18px">
<article class="card">
<div class="i
Open service 2606:4700:20::ac43:4885:80 · zostream.in
2026-01-25 19:25
HTTP/1.1 301 Moved Permanently
Date: Sun, 25 Jan 2026 19:25:09 GMT
Content-Length: 0
Connection: close
Location: https://zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=PjQKLyDcQN%2B1UpjhEJ%2F7R2hfyWw5myZnpRlPxaCJ19%2BZjsoKrZsc%2FXk4VUn72KxG0sD9UgMvuWjBcbbZQDMdbORfT3tS61OqZVfM4wNtJ3iNZayx"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=14,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9c3a27a6ef329c17-SIN
alt-svc: h3=":443"; ma=86400
Open service 104.26.1.178:8443 · zostream.in
2026-01-25 19:25
HTTP/1.1 522 <none> Date: Sun, 25 Jan 2026 19:25:30 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin Server-Timing: cfEdge;dur=19422,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9c3a27ad3d65997a-FRA alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 172.67.72.133:443 · zostream.in
2026-01-25 19:25
HTTP/1.1 200 OK
Date: Sun, 25 Jan 2026 19:25:10 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=E7B9qe7Lw8xGgZOBx%2BNwCQ7aguM0fZEw%2B3z7UQnllZEmVHYkVS1gBgtZ44P9SUbwPzgjfmNnQPfa697BpSoBUcCFluvg1bHhCsM%3D"}]}
vary: Accept-Encoding
Server: cloudflare
Cache-Control: no-cache,no-store
x-frame-options: SAMEORIGIN
alt-svc: h3=":443"; ma=86400
x-turbo-charged-by: LiteSpeed
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=8,cfOrigin;dur=386
CF-RAY: 9c3a27a94bf1e868-FRA
Page title: Bot Verification
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Bot Verification</title>
<script>
function onSubmit() {
document.getElementById('lsrecaptcha-form').submit();
}
var onloadCallback = function() {
var cont = grecaptcha.render('recaptchadiv', {
'sitekey': '6LewU34UAAAAAHvXqFOcQlm8z1MP1xpGAZCYEeZY',
'callback': onSubmit,
});
grecaptcha.execute(cont);
};
</script>
<style>
body {
height: 100%;
}
.panel {
padding: 30px;
max-width: 425px;
margin: 10% auto;
box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.2);
}
.title {
font-size: 1.5em;
font-weight: 100;
margin-top: 10px;
text-align: center;
}
.recaptcha-center {
margin-top: 35px;
margin-bottom: 20px;
margin-left: 13%;
margin-right: 13%;
display: block;
}
</style>
</head>
<body>
<div class="panel">
<h3 class="title">Verifying that you are not a robot...</h3>
<form id="lsrecaptcha-form" method="POST" action="/.lsrecap/recaptcha?">
<div id="recaptchadiv" class="recaptcha-center"></div>
</form>
</div>
<script src="https://www.recaptcha.net/recaptcha/api.js?onload=onloadCallback&render=explicit"
async defer>
</script>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"90f232155d114443b5c375b5e6c03ad9","server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
Open service 104.26.0.178:8443 · zostream.in
2026-01-25 19:25
HTTP/1.1 522 <none> Date: Sun, 25 Jan 2026 19:25:30 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin Server-Timing: cfEdge;dur=19687,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9c3a27acde849dab-YYZ alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 104.26.1.178:443 · zostream.in
2026-01-25 19:25
HTTP/1.1 200 OK
Date: Sun, 25 Jan 2026 19:25:10 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=dhTsDO%2BAnYvVoW8Cfq61UifnujOIwJKg8FhTJtcYg5iDyu%2FF1EHCtfAAlCcHbESMv6GM5K%2BUdV71x8Z0nGx6joOlRiAgWVRqUqs%3D"}]}
vary: Accept-Encoding
Server: cloudflare
Cache-Control: no-cache,no-store
x-frame-options: SAMEORIGIN
alt-svc: h3=":443"; ma=86400
x-turbo-charged-by: LiteSpeed
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=10,cfOrigin;dur=377
CF-RAY: 9c3a27a8ec848e65-AMS
Page title: Bot Verification
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Bot Verification</title>
<script>
function onSubmit() {
document.getElementById('lsrecaptcha-form').submit();
}
var onloadCallback = function() {
var cont = grecaptcha.render('recaptchadiv', {
'sitekey': '6LewU34UAAAAAHvXqFOcQlm8z1MP1xpGAZCYEeZY',
'callback': onSubmit,
});
grecaptcha.execute(cont);
};
</script>
<style>
body {
height: 100%;
}
.panel {
padding: 30px;
max-width: 425px;
margin: 10% auto;
box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.2);
}
.title {
font-size: 1.5em;
font-weight: 100;
margin-top: 10px;
text-align: center;
}
.recaptcha-center {
margin-top: 35px;
margin-bottom: 20px;
margin-left: 13%;
margin-right: 13%;
display: block;
}
</style>
</head>
<body>
<div class="panel">
<h3 class="title">Verifying that you are not a robot...</h3>
<form id="lsrecaptcha-form" method="POST" action="/.lsrecap/recaptcha?">
<div id="recaptchadiv" class="recaptcha-center"></div>
</form>
</div>
<script src="https://www.recaptcha.net/recaptcha/api.js?onload=onloadCallback&render=explicit"
async defer>
</script>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"90f232155d114443b5c375b5e6c03ad9","server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
Open service 172.67.72.133:8443 · zostream.in
2026-01-25 19:25
HTTP/1.1 522 <none> Date: Sun, 25 Jan 2026 19:25:30 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin Server-Timing: cfEdge;dur=19643,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9c3a27ad1804a450-YYZ alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 104.26.0.178:80 · zostream.in
2026-01-25 19:25
HTTP/1.1 301 Moved Permanently
Date: Sun, 25 Jan 2026 19:25:09 GMT
Content-Length: 0
Connection: close
Location: https://zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=7fgYECRgAUlqKO7wHGwdp2nmgkrZTdcTOTqCGB6ep5Y4JudO5MuWE%2F9KlSRTt6NHEgKb6C17bgUjKLUleJWKQS8qDiZEWrBZKrY%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=18,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9c3a27a67e7639cf-YYZ
alt-svc: h3=":443"; ma=86400
Open service 104.26.1.178:80 · zostream.in
2026-01-25 19:25
HTTP/1.1 301 Moved Permanently
Date: Sun, 25 Jan 2026 19:25:09 GMT
Content-Length: 0
Connection: close
Location: https://zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=CrTwpcX6h1NJIFqsPi2gNsuJsoePWha1Gg05ZPI32JWPE3RkORKH1MzP3SOkA6TL5P%2FD7kuvqnDo5R%2FCULUcMhj39WF2NIgEyQ0%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=9,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9c3a27a64873fd0c-SIN
alt-svc: h3=":443"; ma=86400
Open service 2606:4700:20::681a:b2:8443 · zostream.in
2026-01-25 19:25
HTTP/1.1 522 <none> Date: Sun, 25 Jan 2026 19:25:30 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin Server-Timing: cfEdge;dur=19732,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9c3a27ac6ff40f63-EWR alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 172.67.72.133:80 · zostream.in
2026-01-25 19:25
HTTP/1.1 301 Moved Permanently
Date: Sun, 25 Jan 2026 19:25:09 GMT
Content-Length: 0
Connection: close
Location: https://zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=%2BOSqc6ycemmn8MKrHTFIZ25KrqVgDeQBl06rT4g3MywWr6oRdBSRX2I89zYmHLWqCXm4NL9KS3yhRTyfrXYwWH8rXroCE%2BZ1Tnw%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=9,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9c3a27a60e66762c-EWR
alt-svc: h3=":443"; ma=86400
Open service 2606:4700:20::ac43:4885:443 · zostream.in
2026-01-25 19:25
HTTP/1.1 200 OK
Date: Sun, 25 Jan 2026 19:25:10 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
last-modified: Thu, 09 Oct 2025 03:50:30 GMT
Speculation-Rules: "/cdn-cgi/speculation"
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=8,cfOrigin;dur=497
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=N%2FOYs911vLHI3%2Bz5ePgF4hDzil%2BJ%2F49E%2Bgx6eK4ZHpZkyxg9tG%2FfomFQt6T2dUBTPIf%2B4vqzSjDTGsygEKuDVVGIeufq5XH6BqRW0vdlOXWLh3ugovY%3D"}]}
vary: Accept-Encoding
Server: cloudflare
platform: hostinger
panel: hpanel
retry-after: 60
content-security-policy: upgrade-insecure-requests
alt-svc: h3=":443"; ma=86400
x-turbo-charged-by: LiteSpeed
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
CF-RAY: 9c3a27a8682ddcb8-FRA
Page title: Zo Stream — Watch. Listen. Anywhere.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Zo Stream — Watch. Listen. Anywhere.</title>
<link rel="stylesheet" href="style.css" />
<meta name="description"
content="Zo Stream: Movies, series, music, podcasts, and live TV — all in one fast, modern app." />
</head>
<body>
<!-- ================= Header ================= -->
<header class="header">
<div class="wrap nav" role="navigation" aria-label="Primary">
<div class="brand">
<div class="logo" aria-hidden="true"></div>
<span>Zo Stream</span>
</div>
<nav class="links" aria-label="Sections">
<a href="/">Home</a>
<a href="/about-us">About Us</a>
<a href="/contact-us">Contact Us</a>
<a href="#faq">FAQ</a>
<a href="/tv">TV</a>
<!-- NEW: Pages dropdown (desktop) -->
<div class="dropdown">
<button class="drop-toggle" aria-haspopup="true" aria-expanded="false" aria-controls="pagesMenu">
Pages
<svg class="caret" width="16" height="16" viewBox="0 0 24 24" fill="none" aria-hidden="true">
<path d="M6 9l6 6 6-6" stroke="currentColor" stroke-width="2" stroke-linecap="round" />
</svg>
</button>
<div id="pagesMenu" class="drop-menu" role="menu">
<a role="menuitem" href="/privacy-policy">Privacy Policy</a>
<a role="menuitem" href="/refund-and-cancellation">Refund & Cancellation</a>
<a role="menuitem" href="/return-policy">Return Policy</a>
<a role="menuitem" href="/shipping-policy">Shipping Policy</a>
<a role="menuitem" href="/terms-condition">Terms & Condition</a>
</div>
</div>
</nav>
</div>
</header>
<!-- ================= Hero ================= -->
<section class="hero">
<div class="wrap grid">
<div>
<span class="chip">New • Live streams & Podcasts</span>
<h1>Watch. Listen. <span
style="background:linear-gradient(90deg,var(--brand1),var(--brand2));-webkit-background-clip:text;background-clip:text;color:transparent">Anywhere</span>.
</h1>
<p class="lead">Movies, series, music, podcasts, and live TV—beautifully fast. No buffering, no fuss.
Just press play.</p>
<p class="tiny" style="margin-top:10px">
<span>🔒 Secure by design</span> ·
<span>⚡ Fast CDN delivery</span> ·
<span>🌟 HD ready</span>
</p>
</div>
<div class="screen" aria-label="Preview">
<img src="assets/preview-platform.jpg" alt="Zo Stream preview" style="width:100%;height:100%;object-fit:cover;">
</div>
</div>
</section>
<!-- Logos -->
<div class="wrap logos" aria-label="Tech badges">
<div class="logo-item">Dolby</div>
<div class="logo-item">HDR10+</div>
<div class="logo-item">Cloudflare</div>
<div class="logo-item">Firebase</div>
<div class="logo-item">Laravel</div>
<div class="logo-item">Android</div>
</div>
<!-- ================= Features ================= -->
<section id="features">
<div class="wrap">
<div class="center">
<span class="chip">Why Zo Stream</span>
<h2>Built for binge-worthy days</h2>
<p class="sub">Everything you love about streaming, polished to perfection.</p>
</div>
<div class="grid-3" style="margin-top:18px">
<article class="card">
<div class="i
Open service 2606:4700:20::681a:1b2:8443 · zostream.in
2026-01-25 19:25
HTTP/1.1 522 <none> Date: Sun, 25 Jan 2026 19:25:29 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin Server-Timing: cfEdge;dur=19481,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9c3a27ac1f0a3466-AMS alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 2606:4700:20::681a:1b2:80 · zostream.in
2026-01-25 19:25
HTTP/1.1 301 Moved Permanently
Date: Sun, 25 Jan 2026 19:25:09 GMT
Content-Length: 0
Connection: close
Location: https://zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=MdLHmddOX1Eo3%2Fd9RgipdCBIgsnvSygB0yY7hzfxaUr6YGp8hAtclJ%2FJLcrQqPpscuAzaLaYV9881b%2BCMEnGsctLY3M6C2XkI460Ij698ngxAs7MprA%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=12,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9c3a27a5eea34f95-FRA
alt-svc: h3=":443"; ma=86400
Open service 2606:4700:20::681a:b2:443 · zostream.in
2026-01-25 19:25
HTTP/1.1 200 OK
Date: Sun, 25 Jan 2026 19:25:10 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
last-modified: Thu, 09 Oct 2025 03:50:30 GMT
Speculation-Rules: "/cdn-cgi/speculation"
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=9,cfOrigin;dur=406
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=QEadgccLBXO9LgxZmwsjp6Ib0kNVkvEYQIXoWMAMz5D3Dmlvxpk%2BD6ln7wi8zjw6mQyEmwNzFyHaPWtpXmv8iirJ1Xqtys7HUaneyKOcSaErddfA3zo%3D"}]}
vary: Accept-Encoding
Server: cloudflare
platform: hostinger
panel: hpanel
retry-after: 60
content-security-policy: upgrade-insecure-requests
alt-svc: h3=":443"; ma=86400
x-turbo-charged-by: LiteSpeed
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
CF-RAY: 9c3a27a80adab556-LHR
Page title: Zo Stream — Watch. Listen. Anywhere.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Zo Stream — Watch. Listen. Anywhere.</title>
<link rel="stylesheet" href="style.css" />
<meta name="description"
content="Zo Stream: Movies, series, music, podcasts, and live TV — all in one fast, modern app." />
</head>
<body>
<!-- ================= Header ================= -->
<header class="header">
<div class="wrap nav" role="navigation" aria-label="Primary">
<div class="brand">
<div class="logo" aria-hidden="true"></div>
<span>Zo Stream</span>
</div>
<nav class="links" aria-label="Sections">
<a href="/">Home</a>
<a href="/about-us">About Us</a>
<a href="/contact-us">Contact Us</a>
<a href="#faq">FAQ</a>
<a href="/tv">TV</a>
<!-- NEW: Pages dropdown (desktop) -->
<div class="dropdown">
<button class="drop-toggle" aria-haspopup="true" aria-expanded="false" aria-controls="pagesMenu">
Pages
<svg class="caret" width="16" height="16" viewBox="0 0 24 24" fill="none" aria-hidden="true">
<path d="M6 9l6 6 6-6" stroke="currentColor" stroke-width="2" stroke-linecap="round" />
</svg>
</button>
<div id="pagesMenu" class="drop-menu" role="menu">
<a role="menuitem" href="/privacy-policy">Privacy Policy</a>
<a role="menuitem" href="/refund-and-cancellation">Refund & Cancellation</a>
<a role="menuitem" href="/return-policy">Return Policy</a>
<a role="menuitem" href="/shipping-policy">Shipping Policy</a>
<a role="menuitem" href="/terms-condition">Terms & Condition</a>
</div>
</div>
</nav>
</div>
</header>
<!-- ================= Hero ================= -->
<section class="hero">
<div class="wrap grid">
<div>
<span class="chip">New • Live streams & Podcasts</span>
<h1>Watch. Listen. <span
style="background:linear-gradient(90deg,var(--brand1),var(--brand2));-webkit-background-clip:text;background-clip:text;color:transparent">Anywhere</span>.
</h1>
<p class="lead">Movies, series, music, podcasts, and live TV—beautifully fast. No buffering, no fuss.
Just press play.</p>
<p class="tiny" style="margin-top:10px">
<span>🔒 Secure by design</span> ·
<span>⚡ Fast CDN delivery</span> ·
<span>🌟 HD ready</span>
</p>
</div>
<div class="screen" aria-label="Preview">
<img src="assets/preview-platform.jpg" alt="Zo Stream preview" style="width:100%;height:100%;object-fit:cover;">
</div>
</div>
</section>
<!-- Logos -->
<div class="wrap logos" aria-label="Tech badges">
<div class="logo-item">Dolby</div>
<div class="logo-item">HDR10+</div>
<div class="logo-item">Cloudflare</div>
<div class="logo-item">Firebase</div>
<div class="logo-item">Laravel</div>
<div class="logo-item">Android</div>
</div>
<!-- ================= Features ================= -->
<section id="features">
<div class="wrap">
<div class="center">
<span class="chip">Why Zo Stream</span>
<h2>Built for binge-worthy days</h2>
<p class="sub">Everything you love about streaming, polished to perfection.</p>
</div>
<div class="grid-3" style="margin-top:18px">
<article class="card">
<div class="i
Open service 2606:4700:20::681a:b2:80 · zostream.in
2026-01-25 19:25
HTTP/1.1 301 Moved Permanently
Date: Sun, 25 Jan 2026 19:25:09 GMT
Content-Length: 0
Connection: close
Location: https://zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=8S6XO2dyTq3pFiPMXKulj0AJAErm3n84nfNFGpX2GAoVacf2pmZtH5p0hpTtpc%2BEEhgvuSoxqMIoRA7QvCCe6sI2umAXkvbin3JjAloD3Nl9dRyG8Ks%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=11,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9c3a27a58a54d9e0-AMS
alt-svc: h3=":443"; ma=86400
Open service 2606:4700:20::ac43:4885:8443 · zostream.in
2026-01-25 19:25
HTTP/1.1 522 <none> Date: Sun, 25 Jan 2026 19:25:29 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin Server-Timing: cfEdge;dur=19323,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9c3a27abc8d09729-FRA alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 104.26.1.178:443 · web.zostream.in
2026-01-23 17:00
HTTP/1.1 200 OK
Date: Fri, 23 Jan 2026 17:00:07 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
last-modified: Wed, 08 Oct 2025 10:19:21 GMT
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=3,cfOrigin;dur=260
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=J3mV9weqNUNqvh%2B4wm%2Fl1FJu%2FM%2BikD5x9pfaQ0VUw%2BI9v2ljDfXkEYtD3g%2FnyNjW2%2FXgxNMb0hgoHSK%2BcmJFDg8ALf3izO%2BAF6Oesum9"}]}
cf-cache-status: DYNAMIC
vary: accept-encoding
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
CF-RAY: 9c28d8736810f473-BLR
alt-svc: h3=":443"; ma=86400
Page title: ZoStreamTV - Home
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>ZoStreamTV - Home</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="css/pages/home.css">
<link rel="stylesheet" href="css/pages/nav.css">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
</head>
<body>
<!-- Sidebar Navigation (unchanged) -->
<aside class="sidebar">
<div class="logo">
<img class="logo_img" src="logo.jpg" alt="ZoStreamTV Logo" />
<h2>ZoStreamTV</h2>
</div>
<ul class="nav-menu">
<li class="nav-item"><a href="home.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">home</i><span>Home</span></a></li>
<li class="nav-item"><a href="search.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">search</i><span>Search</span></a></li>
<li class="nav-item"><a href="category.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">movie</i><span>Category</span></a></li>
<li class="nav-item"><a href="profile.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">person</i><span>Profile</span></a></li>
</ul>
</aside>
<!-- Main Content -->
<main class="main-content">
<div id="hero-slider-container"></div>
<div id="movies-container">
<div class="loading">Loading content...</div>
</div>
</main>
<script type="module">
import { initializeRemoteControl } from './js/utils/uniRemote.js';
import { apiClient } from './js/service/apiClient.js';
import { protectPage } from './js/service/authGuard.js';
import { toast } from './js/utils/toastify.js';
import useAgeRestriction from './js/utils/useAgeRestriction.js';
let heroTrack, heroSlides, heroDots, currentHeroIndex = 1; // Start at 1 (the first REAL slide)
let isTransitioning = false;
const ageRestricted = useAgeRestriction.value;
document.addEventListener('DOMContentLoaded', async () => {
document.querySelectorAll('.nav-link').forEach(link => {
if (link.href === window.location.href) link.classList.add('active');
});
try {
await protectPage();
await loadContent();
setupNavigation();
} catch (error) {
showError('Authentication required. Redirecting...');
setTimeout(() => window.location.href = './login.html', 2000);
}
});
async function loadContent() {
// ... (This function is unchanged) ...
const moviesContainer = document.getElementById('movies-container');
try {
moviesContainer.innerHTML = '<div class="loading">Loading content...</div>';
const response = await apiClient.get(`/movies?age_restriction=${ageRestricted}`);
if (!response || Object.keys(response).length === 0) {
moviesContainer.innerHTML = '<div class="loading">No content available</div>';
return;
}
moviesContainer.innerHTML = '';
let regularCatIndex = 0;
Object.entries(response).forEach(([category, items]) => {
if (!items || items.length === 0) return;
if (category === 'Latest Update') {
createHeroSlider(items);
} else {
const section = document.createElement('div');
section.className = 'category-section';
section.innerHTML = `<h2 class="category-title">${category}</h2><div class="movies-scroller"><div class="movies-row" id="category-${regularCatIndex}"></div></div>`;
const row = section.querySelector('.movies-row');
items.forEach(item => row.appendChild(createMediaCard(item)));
moviesContainer.appendChild(section);
regularCatIndex++;
}
});
} catch (error) {
showError('Failed to load content. Please try again.');
}
}
function createHeroSlider(items) {
const sliderContainer = document.getElementById('hero-slider-container');
if (!sliderContainer || items.length === 0) return;
co
Open service 104.26.0.178:443 · tv.zostream.in
2026-01-23 16:47
HTTP/1.1 200 OK
Date: Fri, 23 Jan 2026 16:47:46 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
last-modified: Wed, 08 Oct 2025 10:41:59 GMT
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=5,cfOrigin;dur=117
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=4dObU198AqIjb6cvQb7PtUJHb1%2FuHp8BgvYUpKmAVfp8oHnw5Bg6l3mG8Qvt3le65bjQH1Xe%2FxcIWCtAxAuOh5kT%2BMTRSXmwrTlPbGE%3D"}]}
cf-cache-status: DYNAMIC
vary: accept-encoding
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
CF-RAY: 9c28c659495752e6-YYZ
alt-svc: h3=":443"; ma=86400
Page title: ZoStreamTV - Home
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>ZoStreamTV - Home</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="css/pages/home.css">
<link rel="stylesheet" href="css/pages/nav.css">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
</head>
<body>
<!-- Sidebar Navigation (unchanged) -->
<aside class="sidebar">
<div class="logo">
<img class="logo_img" src="logo.jpg" alt="ZoStreamTV Logo" />
<h2>ZoStreamTV</h2>
</div>
<ul class="nav-menu">
<li class="nav-item"><a href="home.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">home</i><span>Home</span></a></li>
<li class="nav-item"><a href="search.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">search</i><span>Search</span></a></li>
<li class="nav-item"><a href="category.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">movie</i><span>Category</span></a></li>
<li class="nav-item"><a href="profile.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">person</i><span>Profile</span></a></li>
</ul>
</aside>
<!-- Main Content -->
<main class="main-content">
<div id="hero-slider-container"></div>
<div id="movies-container">
<div class="loading">Loading content...</div>
</div>
</main>
<script type="module">
import { initializeRemoteControl } from './js/utils/uniRemote.js';
import { apiClient } from './js/service/apiClient.js';
import { protectPage } from './js/service/authGuard.js';
import { toast } from './js/utils/toastify.js';
import useAgeRestriction from './js/utils/useAgeRestriction.js';
let heroTrack, heroSlides, heroDots, currentHeroIndex = 1; // Start at 1 (the first REAL slide)
let isTransitioning = false;
const ageRestricted = useAgeRestriction.value;
document.addEventListener('DOMContentLoaded', async () => {
document.querySelectorAll('.nav-link').forEach(link => {
if (link.href === window.location.href) link.classList.add('active');
});
try {
await protectPage();
await loadContent();
setupNavigation();
} catch (error) {
showError('Authentication required. Redirecting...');
setTimeout(() => window.location.href = './login.html', 2000);
}
});
async function loadContent() {
// ... (This function is unchanged) ...
const moviesContainer = document.getElementById('movies-container');
try {
moviesContainer.innerHTML = '<div class="loading">Loading content...</div>';
const response = await apiClient.get(`/movies?age_restriction=${ageRestricted}`);
if (!response || Object.keys(response).length === 0) {
moviesContainer.innerHTML = '<div class="loading">No content available</div>';
return;
}
moviesContainer.innerHTML = '';
let regularCatIndex = 0;
Object.entries(response).forEach(([category, items]) => {
if (!items || items.length === 0) return;
if (category === 'Latest Update') {
createHeroSlider(items);
} else {
const section = document.createElement('div');
section.className = 'category-section';
section.innerHTML = `<h2 class="category-title">${category}</h2><div class="movies-scroller"><div class="movies-row" id="category-${regularCatIndex}"></div></div>`;
const row = section.querySelector('.movies-row');
items.forEach(item => row.appendChild(createMediaCard(item)));
moviesContainer.appendChild(section);
regularCatIndex++;
}
});
} catch (error) {
showError('Failed to load content. Please try again.');
}
}
function createHeroSlider(items) {
const sliderContainer = document.getElementById('hero-slider-container');
if (!sliderContainer || items.length === 0) return;
co
Open service 104.26.1.178:8443 · web.zostream.in
2026-01-22 08:04
HTTP/1.1 522 <none> Date: Thu, 22 Jan 2026 08:04:22 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin Server-Timing: cfEdge;dur=19245,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9c1d89d20f4fc469-BLR alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 2606:4700:20::681a:b2:80 · web.zostream.in
2026-01-22 08:04
HTTP/1.1 301 Moved Permanently
Date: Thu, 22 Jan 2026 08:04:02 GMT
Content-Length: 0
Connection: close
Location: https://web.zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=DjcY8Qycz9l8CnCsNKT6Xs%2FAZ3o97%2Fv%2Bi%2F9PZSsoWxj2PhrJgsMoVXPqpWvNvp5tObHnE3hUCPqlCciuAJMqpZ5Kzmo9FI1h%2BXk5m61iuVVb6t3jV9BupC9K"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=14,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9c1d89cbe8a1fa9a-SJC
alt-svc: h3=":443"; ma=86400
Open service 2606:4700:20::ac43:4885:80 · web.zostream.in
2026-01-22 08:04
HTTP/1.1 301 Moved Permanently
Date: Thu, 22 Jan 2026 08:04:02 GMT
Content-Length: 0
Connection: close
Location: https://web.zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=GApK3oRFEEOll9ugZ63hzIizP7DSsYU4kSWB%2BS9vOSlb8pC2u4xAOp8WvbKaqKvPu0p3%2BmUZkO6xJO3SQQaqTN1fqwGvvwu89t8KY7niYwejSTcS5LMz%2FnvW"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=6,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9c1d89cbea5dfdbe-SIN
alt-svc: h3=":443"; ma=86400
Open service 2606:4700:20::681a:1b2:443 · web.zostream.in
2026-01-22 08:04
HTTP/1.1 200 OK
Date: Thu, 22 Jan 2026 08:04:03 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
last-modified: Wed, 08 Oct 2025 10:19:21 GMT
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=3,cfOrigin;dur=161
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=c3GDZ6%2Ffy85M5CbUqqppo31HLLPHQtc%2F%2Bo4uOChk6M0KLAFnmatmL%2FyWjIi7%2FDltHtl8M30R5YC9jf9EhnXHrTkNHF%2FlNzmxnRy6K%2B3wpQwM286dpeU%2Br00q"}]}
cf-cache-status: DYNAMIC
vary: accept-encoding
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
CF-RAY: 9c1d89cebb80e084-BLR
alt-svc: h3=":443"; ma=86400
Page title: ZoStreamTV - Home
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>ZoStreamTV - Home</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="css/pages/home.css">
<link rel="stylesheet" href="css/pages/nav.css">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
</head>
<body>
<!-- Sidebar Navigation (unchanged) -->
<aside class="sidebar">
<div class="logo">
<img class="logo_img" src="logo.jpg" alt="ZoStreamTV Logo" />
<h2>ZoStreamTV</h2>
</div>
<ul class="nav-menu">
<li class="nav-item"><a href="home.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">home</i><span>Home</span></a></li>
<li class="nav-item"><a href="search.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">search</i><span>Search</span></a></li>
<li class="nav-item"><a href="category.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">movie</i><span>Category</span></a></li>
<li class="nav-item"><a href="profile.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">person</i><span>Profile</span></a></li>
</ul>
</aside>
<!-- Main Content -->
<main class="main-content">
<div id="hero-slider-container"></div>
<div id="movies-container">
<div class="loading">Loading content...</div>
</div>
</main>
<script type="module">
import { initializeRemoteControl } from './js/utils/uniRemote.js';
import { apiClient } from './js/service/apiClient.js';
import { protectPage } from './js/service/authGuard.js';
import { toast } from './js/utils/toastify.js';
import useAgeRestriction from './js/utils/useAgeRestriction.js';
let heroTrack, heroSlides, heroDots, currentHeroIndex = 1; // Start at 1 (the first REAL slide)
let isTransitioning = false;
const ageRestricted = useAgeRestriction.value;
document.addEventListener('DOMContentLoaded', async () => {
document.querySelectorAll('.nav-link').forEach(link => {
if (link.href === window.location.href) link.classList.add('active');
});
try {
await protectPage();
await loadContent();
setupNavigation();
} catch (error) {
showError('Authentication required. Redirecting...');
setTimeout(() => window.location.href = './login.html', 2000);
}
});
async function loadContent() {
// ... (This function is unchanged) ...
const moviesContainer = document.getElementById('movies-container');
try {
moviesContainer.innerHTML = '<div class="loading">Loading content...</div>';
const response = await apiClient.get(`/movies?age_restriction=${ageRestricted}`);
if (!response || Object.keys(response).length === 0) {
moviesContainer.innerHTML = '<div class="loading">No content available</div>';
return;
}
moviesContainer.innerHTML = '';
let regularCatIndex = 0;
Object.entries(response).forEach(([category, items]) => {
if (!items || items.length === 0) return;
if (category === 'Latest Update') {
createHeroSlider(items);
} else {
const section = document.createElement('div');
section.className = 'category-section';
section.innerHTML = `<h2 class="category-title">${category}</h2><div class="movies-scroller"><div class="movies-row" id="category-${regularCatIndex}"></div></div>`;
const row = section.querySelector('.movies-row');
items.forEach(item => row.appendChild(createMediaCard(item)));
moviesContainer.appendChild(section);
regularCatIndex++;
}
});
} catch (error) {
showError('Failed to load content. Please try again.');
}
}
function createHeroSlider(items) {
const sliderContainer = document.getElementById('hero-slider-container');
if (!sliderContainer || items.length === 0) return;
co
Open service 2606:4700:20::681a:b2:8443 · web.zostream.in
2026-01-22 08:04
HTTP/1.1 522 <none> Date: Thu, 22 Jan 2026 08:04:23 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin Server-Timing: cfEdge;dur=19478,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9c1d89d21858327e-SJC alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 104.26.0.178:8443 · web.zostream.in
2026-01-22 08:04
HTTP/1.1 522 <none> Date: Thu, 22 Jan 2026 08:04:23 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin Server-Timing: cfEdge;dur=19525,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9c1d89d1e9aca450-YYZ alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 2606:4700:20::681a:1b2:8443 · web.zostream.in
2026-01-22 08:04
HTTP/1.1 522 <none> Date: Thu, 22 Jan 2026 08:04:22 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin Server-Timing: cfEdge;dur=19280,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9c1d89d1d8bb741b-BLR alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 2606:4700:20::ac43:4885:8443 · web.zostream.in
2026-01-22 08:04
HTTP/1.1 522 <none> Date: Thu, 22 Jan 2026 08:04:23 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin Server-Timing: cfEdge;dur=19644,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9c1d89d1d9bbaff6-EWR alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 2606:4700:20::ac43:4885:443 · web.zostream.in
2026-01-22 08:04
HTTP/1.1 200 OK
Date: Thu, 22 Jan 2026 08:04:03 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
last-modified: Wed, 08 Oct 2025 10:19:21 GMT
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=12,cfOrigin;dur=279
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=P7mQJSufo0IsJpRQqumASPVF%2FI7qb3%2FqY92PQRpzTyb9I0H2Izk8yT3GwW8BSclEL9vt2T13BenzCnxvd7bHEHb3orlWoSkDu7AfspXoMURS%2B1DdfXXYslqJ"}]}
cf-cache-status: DYNAMIC
vary: accept-encoding
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
CF-RAY: 9c1d89cd7905420a-EWR
alt-svc: h3=":443"; ma=86400
Page title: ZoStreamTV - Home
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>ZoStreamTV - Home</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="css/pages/home.css">
<link rel="stylesheet" href="css/pages/nav.css">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
</head>
<body>
<!-- Sidebar Navigation (unchanged) -->
<aside class="sidebar">
<div class="logo">
<img class="logo_img" src="logo.jpg" alt="ZoStreamTV Logo" />
<h2>ZoStreamTV</h2>
</div>
<ul class="nav-menu">
<li class="nav-item"><a href="home.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">home</i><span>Home</span></a></li>
<li class="nav-item"><a href="search.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">search</i><span>Search</span></a></li>
<li class="nav-item"><a href="category.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">movie</i><span>Category</span></a></li>
<li class="nav-item"><a href="profile.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">person</i><span>Profile</span></a></li>
</ul>
</aside>
<!-- Main Content -->
<main class="main-content">
<div id="hero-slider-container"></div>
<div id="movies-container">
<div class="loading">Loading content...</div>
</div>
</main>
<script type="module">
import { initializeRemoteControl } from './js/utils/uniRemote.js';
import { apiClient } from './js/service/apiClient.js';
import { protectPage } from './js/service/authGuard.js';
import { toast } from './js/utils/toastify.js';
import useAgeRestriction from './js/utils/useAgeRestriction.js';
let heroTrack, heroSlides, heroDots, currentHeroIndex = 1; // Start at 1 (the first REAL slide)
let isTransitioning = false;
const ageRestricted = useAgeRestriction.value;
document.addEventListener('DOMContentLoaded', async () => {
document.querySelectorAll('.nav-link').forEach(link => {
if (link.href === window.location.href) link.classList.add('active');
});
try {
await protectPage();
await loadContent();
setupNavigation();
} catch (error) {
showError('Authentication required. Redirecting...');
setTimeout(() => window.location.href = './login.html', 2000);
}
});
async function loadContent() {
// ... (This function is unchanged) ...
const moviesContainer = document.getElementById('movies-container');
try {
moviesContainer.innerHTML = '<div class="loading">Loading content...</div>';
const response = await apiClient.get(`/movies?age_restriction=${ageRestricted}`);
if (!response || Object.keys(response).length === 0) {
moviesContainer.innerHTML = '<div class="loading">No content available</div>';
return;
}
moviesContainer.innerHTML = '';
let regularCatIndex = 0;
Object.entries(response).forEach(([category, items]) => {
if (!items || items.length === 0) return;
if (category === 'Latest Update') {
createHeroSlider(items);
} else {
const section = document.createElement('div');
section.className = 'category-section';
section.innerHTML = `<h2 class="category-title">${category}</h2><div class="movies-scroller"><div class="movies-row" id="category-${regularCatIndex}"></div></div>`;
const row = section.querySelector('.movies-row');
items.forEach(item => row.appendChild(createMediaCard(item)));
moviesContainer.appendChild(section);
regularCatIndex++;
}
});
} catch (error) {
showError('Failed to load content. Please try again.');
}
}
function createHeroSlider(items) {
const sliderContainer = document.getElementById('hero-slider-container');
if (!sliderContainer || items.length === 0) return;
co
Open service 172.67.72.133:8443 · web.zostream.in
2026-01-22 08:04
HTTP/1.1 522 <none> Date: Thu, 22 Jan 2026 08:04:22 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin Server-Timing: cfEdge;dur=19371,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9c1d89d1ed159e08-EWR alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 104.26.1.178:80 · web.zostream.in
2026-01-22 08:04
HTTP/1.1 301 Moved Permanently
Date: Thu, 22 Jan 2026 08:04:02 GMT
Content-Length: 0
Connection: close
Location: https://web.zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=w4VI0OohdvbuxDiOGz2cuAT9ZXP3lN5oMnSBjp%2BUeL7rYTn3xjOqO0Phv1zm%2FvN1aiv0BFv00CQL6VuueDJqSDu8WJc5Ocaz4CmrRTlf"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=12,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9c1d89cc7b81d21e-FRA
alt-svc: h3=":443"; ma=86400
Open service 172.67.72.133:80 · web.zostream.in
2026-01-22 08:04
HTTP/1.1 301 Moved Permanently
Date: Thu, 22 Jan 2026 08:04:02 GMT
Content-Length: 0
Connection: close
Location: https://web.zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=iwHQsUs6lqZxi%2FxQVcKICe6Th5ZD3AZ%2BL8xId7uHkAg%2FeaWjAsPzzCLmRy%2BkGJNN%2FxU3b18ja2CdQPrlSRqq2lFS%2B7aXC3pY3Q9U%2BfY5"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=8,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9c1d89cb7e3bdacf-LHR
alt-svc: h3=":443"; ma=86400
Open service 104.26.0.178:80 · web.zostream.in
2026-01-22 08:04
HTTP/1.1 301 Moved Permanently
Date: Thu, 22 Jan 2026 08:04:02 GMT
Content-Length: 0
Connection: close
Location: https://web.zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=4IJL8Lz16VpelZB6Tnn%2BiXftmISFnUEzkiXKq5MwRfZtva1s0dcAuySvhtRZHAorZ3X7DJrCa87B17SNlFaxYoI5qbmS1TPYtiP46wFs"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=10,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9c1d89cb8f027796-LHR
alt-svc: h3=":443"; ma=86400
Open service 2606:4700:20::681a:1b2:80 · web.zostream.in
2026-01-22 08:04
HTTP/1.1 301 Moved Permanently
Date: Thu, 22 Jan 2026 08:04:02 GMT
Content-Length: 0
Connection: close
Location: https://web.zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=uyrBKc%2FcJ5iohw3nPxA5kRMODwRDn4x9%2FSzh61NORry%2B7M1vbFRPsx0%2Bb0m%2BdZ2TYZWqAufN5uRDWshxVM1wSmWd0KLLXO6fJemjZeRHAAG%2FPNQuHIIBLeXf"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=3,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9c1d89cb89dcd87f-FRA
alt-svc: h3=":443"; ma=86400
Open service 2606:4700:20::681a:b2:443 · web.zostream.in
2026-01-22 08:04
HTTP/1.1 200 OK
Date: Thu, 22 Jan 2026 08:04:02 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
last-modified: Wed, 08 Oct 2025 10:19:21 GMT
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=13,cfOrigin;dur=48
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=bPjh%2B3dot4N9lmEWaJVOY4FQ9%2FoVR4Xrafz3fD0lpLJQ3GMt6JAY%2BnXz6R%2FxhIIcgleh5tqrKMFRYqcv9x7tjsmOr9E%2FNdza6uUF58x8uEirLkEAlFxuo56v"}]}
cf-cache-status: DYNAMIC
vary: accept-encoding
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
CF-RAY: 9c1d89cbcdd177b4-LHR
alt-svc: h3=":443"; ma=86400
Page title: ZoStreamTV - Home
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>ZoStreamTV - Home</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="css/pages/home.css">
<link rel="stylesheet" href="css/pages/nav.css">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
</head>
<body>
<!-- Sidebar Navigation (unchanged) -->
<aside class="sidebar">
<div class="logo">
<img class="logo_img" src="logo.jpg" alt="ZoStreamTV Logo" />
<h2>ZoStreamTV</h2>
</div>
<ul class="nav-menu">
<li class="nav-item"><a href="home.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">home</i><span>Home</span></a></li>
<li class="nav-item"><a href="search.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">search</i><span>Search</span></a></li>
<li class="nav-item"><a href="category.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">movie</i><span>Category</span></a></li>
<li class="nav-item"><a href="profile.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">person</i><span>Profile</span></a></li>
</ul>
</aside>
<!-- Main Content -->
<main class="main-content">
<div id="hero-slider-container"></div>
<div id="movies-container">
<div class="loading">Loading content...</div>
</div>
</main>
<script type="module">
import { initializeRemoteControl } from './js/utils/uniRemote.js';
import { apiClient } from './js/service/apiClient.js';
import { protectPage } from './js/service/authGuard.js';
import { toast } from './js/utils/toastify.js';
import useAgeRestriction from './js/utils/useAgeRestriction.js';
let heroTrack, heroSlides, heroDots, currentHeroIndex = 1; // Start at 1 (the first REAL slide)
let isTransitioning = false;
const ageRestricted = useAgeRestriction.value;
document.addEventListener('DOMContentLoaded', async () => {
document.querySelectorAll('.nav-link').forEach(link => {
if (link.href === window.location.href) link.classList.add('active');
});
try {
await protectPage();
await loadContent();
setupNavigation();
} catch (error) {
showError('Authentication required. Redirecting...');
setTimeout(() => window.location.href = './login.html', 2000);
}
});
async function loadContent() {
// ... (This function is unchanged) ...
const moviesContainer = document.getElementById('movies-container');
try {
moviesContainer.innerHTML = '<div class="loading">Loading content...</div>';
const response = await apiClient.get(`/movies?age_restriction=${ageRestricted}`);
if (!response || Object.keys(response).length === 0) {
moviesContainer.innerHTML = '<div class="loading">No content available</div>';
return;
}
moviesContainer.innerHTML = '';
let regularCatIndex = 0;
Object.entries(response).forEach(([category, items]) => {
if (!items || items.length === 0) return;
if (category === 'Latest Update') {
createHeroSlider(items);
} else {
const section = document.createElement('div');
section.className = 'category-section';
section.innerHTML = `<h2 class="category-title">${category}</h2><div class="movies-scroller"><div class="movies-row" id="category-${regularCatIndex}"></div></div>`;
const row = section.querySelector('.movies-row');
items.forEach(item => row.appendChild(createMediaCard(item)));
moviesContainer.appendChild(section);
regularCatIndex++;
}
});
} catch (error) {
showError('Failed to load content. Please try again.');
}
}
function createHeroSlider(items) {
const sliderContainer = document.getElementById('hero-slider-container');
if (!sliderContainer || items.length === 0) return;
co
Open service 104.26.1.178:443 · web.zostream.in
2026-01-22 08:04
HTTP/1.1 200 OK
Date: Thu, 22 Jan 2026 08:04:02 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
last-modified: Wed, 08 Oct 2025 10:19:21 GMT
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=7,cfOrigin;dur=29
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=j6edYNO2tyaO6qk8859BbDjdBKHEfFDgr9a4xt3m7%2BvPEtH4Z08LMSSjLyYNjUBFY%2FF5ENk56WdpJS35fTNRaqcuQFBfGT8k60qxIXG1"}]}
cf-cache-status: DYNAMIC
vary: accept-encoding
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
CF-RAY: 9c1d89cbefd4ca10-LHR
alt-svc: h3=":443"; ma=86400
Page title: ZoStreamTV - Home
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>ZoStreamTV - Home</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="css/pages/home.css">
<link rel="stylesheet" href="css/pages/nav.css">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
</head>
<body>
<!-- Sidebar Navigation (unchanged) -->
<aside class="sidebar">
<div class="logo">
<img class="logo_img" src="logo.jpg" alt="ZoStreamTV Logo" />
<h2>ZoStreamTV</h2>
</div>
<ul class="nav-menu">
<li class="nav-item"><a href="home.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">home</i><span>Home</span></a></li>
<li class="nav-item"><a href="search.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">search</i><span>Search</span></a></li>
<li class="nav-item"><a href="category.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">movie</i><span>Category</span></a></li>
<li class="nav-item"><a href="profile.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">person</i><span>Profile</span></a></li>
</ul>
</aside>
<!-- Main Content -->
<main class="main-content">
<div id="hero-slider-container"></div>
<div id="movies-container">
<div class="loading">Loading content...</div>
</div>
</main>
<script type="module">
import { initializeRemoteControl } from './js/utils/uniRemote.js';
import { apiClient } from './js/service/apiClient.js';
import { protectPage } from './js/service/authGuard.js';
import { toast } from './js/utils/toastify.js';
import useAgeRestriction from './js/utils/useAgeRestriction.js';
let heroTrack, heroSlides, heroDots, currentHeroIndex = 1; // Start at 1 (the first REAL slide)
let isTransitioning = false;
const ageRestricted = useAgeRestriction.value;
document.addEventListener('DOMContentLoaded', async () => {
document.querySelectorAll('.nav-link').forEach(link => {
if (link.href === window.location.href) link.classList.add('active');
});
try {
await protectPage();
await loadContent();
setupNavigation();
} catch (error) {
showError('Authentication required. Redirecting...');
setTimeout(() => window.location.href = './login.html', 2000);
}
});
async function loadContent() {
// ... (This function is unchanged) ...
const moviesContainer = document.getElementById('movies-container');
try {
moviesContainer.innerHTML = '<div class="loading">Loading content...</div>';
const response = await apiClient.get(`/movies?age_restriction=${ageRestricted}`);
if (!response || Object.keys(response).length === 0) {
moviesContainer.innerHTML = '<div class="loading">No content available</div>';
return;
}
moviesContainer.innerHTML = '';
let regularCatIndex = 0;
Object.entries(response).forEach(([category, items]) => {
if (!items || items.length === 0) return;
if (category === 'Latest Update') {
createHeroSlider(items);
} else {
const section = document.createElement('div');
section.className = 'category-section';
section.innerHTML = `<h2 class="category-title">${category}</h2><div class="movies-scroller"><div class="movies-row" id="category-${regularCatIndex}"></div></div>`;
const row = section.querySelector('.movies-row');
items.forEach(item => row.appendChild(createMediaCard(item)));
moviesContainer.appendChild(section);
regularCatIndex++;
}
});
} catch (error) {
showError('Failed to load content. Please try again.');
}
}
function createHeroSlider(items) {
const sliderContainer = document.getElementById('hero-slider-container');
if (!sliderContainer || items.length === 0) return;
co
Open service 172.67.72.133:443 · web.zostream.in
2026-01-22 08:04
HTTP/1.1 200 OK
Date: Thu, 22 Jan 2026 08:04:02 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
last-modified: Wed, 08 Oct 2025 10:19:21 GMT
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=6,cfOrigin;dur=52
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=mSC%2FHJDOexZWqV2NKQ4ofiCHnEYeb%2BbHYrVFRzJIdbmXSaz%2FFUEjKniE4TZcY8umZJlugsDqjY6mtXDdWh9FL29WZkRsRkVHrTudT6PZ"}]}
cf-cache-status: DYNAMIC
vary: accept-encoding
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
CF-RAY: 9c1d89cbcb51d28a-FRA
alt-svc: h3=":443"; ma=86400
Page title: ZoStreamTV - Home
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>ZoStreamTV - Home</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="css/pages/home.css">
<link rel="stylesheet" href="css/pages/nav.css">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
</head>
<body>
<!-- Sidebar Navigation (unchanged) -->
<aside class="sidebar">
<div class="logo">
<img class="logo_img" src="logo.jpg" alt="ZoStreamTV Logo" />
<h2>ZoStreamTV</h2>
</div>
<ul class="nav-menu">
<li class="nav-item"><a href="home.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">home</i><span>Home</span></a></li>
<li class="nav-item"><a href="search.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">search</i><span>Search</span></a></li>
<li class="nav-item"><a href="category.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">movie</i><span>Category</span></a></li>
<li class="nav-item"><a href="profile.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">person</i><span>Profile</span></a></li>
</ul>
</aside>
<!-- Main Content -->
<main class="main-content">
<div id="hero-slider-container"></div>
<div id="movies-container">
<div class="loading">Loading content...</div>
</div>
</main>
<script type="module">
import { initializeRemoteControl } from './js/utils/uniRemote.js';
import { apiClient } from './js/service/apiClient.js';
import { protectPage } from './js/service/authGuard.js';
import { toast } from './js/utils/toastify.js';
import useAgeRestriction from './js/utils/useAgeRestriction.js';
let heroTrack, heroSlides, heroDots, currentHeroIndex = 1; // Start at 1 (the first REAL slide)
let isTransitioning = false;
const ageRestricted = useAgeRestriction.value;
document.addEventListener('DOMContentLoaded', async () => {
document.querySelectorAll('.nav-link').forEach(link => {
if (link.href === window.location.href) link.classList.add('active');
});
try {
await protectPage();
await loadContent();
setupNavigation();
} catch (error) {
showError('Authentication required. Redirecting...');
setTimeout(() => window.location.href = './login.html', 2000);
}
});
async function loadContent() {
// ... (This function is unchanged) ...
const moviesContainer = document.getElementById('movies-container');
try {
moviesContainer.innerHTML = '<div class="loading">Loading content...</div>';
const response = await apiClient.get(`/movies?age_restriction=${ageRestricted}`);
if (!response || Object.keys(response).length === 0) {
moviesContainer.innerHTML = '<div class="loading">No content available</div>';
return;
}
moviesContainer.innerHTML = '';
let regularCatIndex = 0;
Object.entries(response).forEach(([category, items]) => {
if (!items || items.length === 0) return;
if (category === 'Latest Update') {
createHeroSlider(items);
} else {
const section = document.createElement('div');
section.className = 'category-section';
section.innerHTML = `<h2 class="category-title">${category}</h2><div class="movies-scroller"><div class="movies-row" id="category-${regularCatIndex}"></div></div>`;
const row = section.querySelector('.movies-row');
items.forEach(item => row.appendChild(createMediaCard(item)));
moviesContainer.appendChild(section);
regularCatIndex++;
}
});
} catch (error) {
showError('Failed to load content. Please try again.');
}
}
function createHeroSlider(items) {
const sliderContainer = document.getElementById('hero-slider-container');
if (!sliderContainer || items.length === 0) return;
co
Open service 104.26.0.178:443 · web.zostream.in
2026-01-22 08:04
HTTP/1.1 200 OK
Date: Thu, 22 Jan 2026 08:04:02 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
last-modified: Wed, 08 Oct 2025 10:19:21 GMT
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=16,cfOrigin;dur=74
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=KW5uqFMgxtJAfnNFi6VTzWy7JRqiC7Q0WSkvgYPzkuFMEJ7Sy7p5e1PuerPC8WlTf19qCpMLY6Jt8W82KilY34QkkC7o6toOp%2Fwr8HpL"}]}
cf-cache-status: DYNAMIC
vary: accept-encoding
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
CF-RAY: 9c1d89cbfd1f914a-FRA
alt-svc: h3=":443"; ma=86400
Page title: ZoStreamTV - Home
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>ZoStreamTV - Home</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="css/pages/home.css">
<link rel="stylesheet" href="css/pages/nav.css">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
</head>
<body>
<!-- Sidebar Navigation (unchanged) -->
<aside class="sidebar">
<div class="logo">
<img class="logo_img" src="logo.jpg" alt="ZoStreamTV Logo" />
<h2>ZoStreamTV</h2>
</div>
<ul class="nav-menu">
<li class="nav-item"><a href="home.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">home</i><span>Home</span></a></li>
<li class="nav-item"><a href="search.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">search</i><span>Search</span></a></li>
<li class="nav-item"><a href="category.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">movie</i><span>Category</span></a></li>
<li class="nav-item"><a href="profile.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">person</i><span>Profile</span></a></li>
</ul>
</aside>
<!-- Main Content -->
<main class="main-content">
<div id="hero-slider-container"></div>
<div id="movies-container">
<div class="loading">Loading content...</div>
</div>
</main>
<script type="module">
import { initializeRemoteControl } from './js/utils/uniRemote.js';
import { apiClient } from './js/service/apiClient.js';
import { protectPage } from './js/service/authGuard.js';
import { toast } from './js/utils/toastify.js';
import useAgeRestriction from './js/utils/useAgeRestriction.js';
let heroTrack, heroSlides, heroDots, currentHeroIndex = 1; // Start at 1 (the first REAL slide)
let isTransitioning = false;
const ageRestricted = useAgeRestriction.value;
document.addEventListener('DOMContentLoaded', async () => {
document.querySelectorAll('.nav-link').forEach(link => {
if (link.href === window.location.href) link.classList.add('active');
});
try {
await protectPage();
await loadContent();
setupNavigation();
} catch (error) {
showError('Authentication required. Redirecting...');
setTimeout(() => window.location.href = './login.html', 2000);
}
});
async function loadContent() {
// ... (This function is unchanged) ...
const moviesContainer = document.getElementById('movies-container');
try {
moviesContainer.innerHTML = '<div class="loading">Loading content...</div>';
const response = await apiClient.get(`/movies?age_restriction=${ageRestricted}`);
if (!response || Object.keys(response).length === 0) {
moviesContainer.innerHTML = '<div class="loading">No content available</div>';
return;
}
moviesContainer.innerHTML = '';
let regularCatIndex = 0;
Object.entries(response).forEach(([category, items]) => {
if (!items || items.length === 0) return;
if (category === 'Latest Update') {
createHeroSlider(items);
} else {
const section = document.createElement('div');
section.className = 'category-section';
section.innerHTML = `<h2 class="category-title">${category}</h2><div class="movies-scroller"><div class="movies-row" id="category-${regularCatIndex}"></div></div>`;
const row = section.querySelector('.movies-row');
items.forEach(item => row.appendChild(createMediaCard(item)));
moviesContainer.appendChild(section);
regularCatIndex++;
}
});
} catch (error) {
showError('Failed to load content. Please try again.');
}
}
function createHeroSlider(items) {
const sliderContainer = document.getElementById('hero-slider-container');
if (!sliderContainer || items.length === 0) return;
co
Open service 104.26.0.178:80 · preview.zostream.in
2026-01-22 08:03
HTTP/1.1 301 Moved Permanently
Date: Thu, 22 Jan 2026 08:03:32 GMT
Content-Length: 0
Connection: close
Location: https://preview.zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=mveykpUYSCCW%2FDC%2FCd84xApp%2FkDJETdM5sQCBwsDajDqaYMd850csq95R3B3HQLS%2Bprm08Is4PhHHHxEMmSypW9b4Ye9AURMJIyvbzFw5Zb0VA%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=2,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9c1d891009c3ccbb-BLR
alt-svc: h3=":443"; ma=86400
Open service 104.26.1.178:80 · preview.zostream.in
2026-01-22 08:03
HTTP/1.1 301 Moved Permanently
Date: Thu, 22 Jan 2026 08:03:32 GMT
Content-Length: 0
Connection: close
Location: https://preview.zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=HhZE%2BqeB%2FBJ1mrP2qD%2FjtLIv%2FdTx3zmVv1Zh%2B2CCTLAonxgKLjAIE793T%2BcGMwyXKPrmzVURsxhY%2BvYx2kE7BuhyUkxDFDxGzIEyJgZG3mLGMQ%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=12,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9c1d8910493afd21-SIN
alt-svc: h3=":443"; ma=86400
Open service 104.26.0.178:443 · preview.zostream.in
2026-01-22 08:03
HTTP/1.1 200 OK
Date: Thu, 22 Jan 2026 08:03:33 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
Cache-Control: public, max-age=300
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=A3uCUn%2FEgqTQ6HpPq39Ile6M3YCB78piqCcLAP%2F4c9dVvIxlkTCq1Fwi%2B2P18V7V6QYq%2Bga9xklAbuPa%2BvHMPNm3lZ6DLfmVJtE%2BCTzWMdeK9Q%3D%3D"}]}
cf-cache-status: DYNAMIC
vary: accept-encoding
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=9,cfOrigin;dur=552
CF-RAY: 9c1d8913fef6281e-SIN
alt-svc: h3=":443"; ma=86400
Page title: Zo Stream — Preview
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Zo Stream — Preview</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<!-- Open Graph -->
<meta property="og:type" content="website" />
<meta property="og:site_name" content="Zo Stream" />
<meta property="og:title" content="Zo Stream — Preview" />
<meta property="og:description" content="Quick preview page for watch/listen content." />
<meta property="og:url" content="https://preview.zostream.in/" />
<!-- Twitter Card -->
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="Zo Stream — Preview" />
<meta name="twitter:description" content="Quick preview page for watch/listen content." />
<link rel="canonical" href="https://preview.zostream.in/" />
<style>
:root { --bg:#0b0f14; --card:#141a22; --text:#e6eef8; --muted:#a3b0c2; --accent:#5eead4; --border:#1f2732; }
* { box-sizing: border-box; }
html,body { height:100%; margin:0; font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto; background:linear-gradient(180deg,#0b0f14,#0e131a); color:var(--text); }
.wrap { min-height:100%; display:flex; align-items:center; justify-content:center; padding:24px; }
.card { width:100%; max-width:980px; background:var(--card); border:1px solid var(--border); border-radius:20px; padding:20px; box-shadow: 0 10px 30px rgba(0,0,0,.25); display:grid; grid-template-columns: 260px 1fr; gap:20px; }
@media (max-width: 740px) { .card { grid-template-columns: 1fr; } }
.poster { width:100%; aspect-ratio: 2/3; border-radius:14px; object-fit:cover; background:#0c1622; border:1px solid var(--border); display:none; }
.cover { width:100%; height:160px; object-fit:cover; border-radius:14px; border:1px solid var(--border); display:none; }
.pill { display:inline-flex; gap:8px; align-items:center; padding:6px 10px; border-radius:999px; background:#0c1622; border:1px solid #1e2a38; color:var(--muted); font-size:12px; letter-spacing:.3px; text-transform:uppercase; }
.badge { padding:2px 8px; border-radius:999px; border:1px solid #254; background:#0d1f1b; color:#9de1d4; font-weight:600; font-size:11px; }
h1 { margin:.2em 0 .4em; font-size:28px; }
.muted { color:var(--muted); }
.kv { display:grid; grid-template-columns:140px 1fr; gap:8px 16px; margin:12px 0 6px; }
.kv div:nth-child(odd) { color:#84a3c2; }
.actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:16px; }
.btn { appearance:none; border:none; cursor:pointer; padding:12px 16px; border-radius:12px; font-weight:600; background:#0f1a24; color:white; border:1px solid #203040; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; }
.btn:hover { transform: translateY(-1px); }
.btn-primary { background: var(--accent); color:#08231f; border-color:#75f0de; }
code { background:#0c1622; border:1px solid #1e2a38; padding:2px 6px; border-radius:6px; color:#9de1d4; }
.hr { height:1px; background:#1f2732; margin:16px 0; border-radius:1px; grid-column:1/-1; }
.skeleton { background: linear-gradient(90deg, #101621, #0f1420, #101621); background-size: 200% 100%; animation: shimmer 1.2s infinite; border-radius: 12px; }
@keyframes shimmer { 0% {background-position: 0 0;} 100% {background-position: -200% 0;} }
.sk-poster { height: 0; padding-bottom: 150%; }
.row-gap { height: 10px; }
</style>
</head>
<body>
<div class="wrap">
<div class="card" id="card">
<div>
<img id="poster" class="poster" alt="Poster"/>
<div id="posterSk" class="skeleton sk-poster"></div>
</div>
<div>
<span class="pill" id="pill">
<span>Preview</span>
<span class="badge" id="badgePremium" style="display:none;">Premium</span>
<span class="badge" id="badgePPV" style="display:none;">PPV</span>
<span class="badge" id="badgeAge" style="display:none;">18+</span>
</span>
<h1 id="title">Loading…</h1>
<div id="desc" class="m
Open service 172.67.72.133:8443 · preview.zostream.in
2026-01-22 08:03
HTTP/1.1 522 <none> Date: Thu, 22 Jan 2026 08:03:53 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin Server-Timing: cfEdge;dur=19603,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9c1d89167e288b16-SIN alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 2606:4700:20::681a:b2:80 · preview.zostream.in
2026-01-22 08:03
HTTP/1.1 301 Moved Permanently
Date: Thu, 22 Jan 2026 08:03:32 GMT
Content-Length: 0
Connection: close
Location: https://preview.zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=afQ9eLu613stfoagu9WK3RaR27vS58IKCOXi8h6o7QK6XEBebtGMZv4YvfvPBKY0v1GW4M0123GdONO54XNslsIn53nK3LaHMCIiuMLRQ1MktylKqoLYomhRTHlxiQ%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=9,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9c1d890ffa21a62e-EWR
alt-svc: h3=":443"; ma=86400
Open service 172.67.72.133:80 · preview.zostream.in
2026-01-22 08:03
HTTP/1.1 301 Moved Permanently
Date: Thu, 22 Jan 2026 08:03:32 GMT
Content-Length: 0
Connection: close
Location: https://preview.zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=1zb6SBs1gQTE%2F0AWX5xe1zJUXT60HGjx94xK4pkBzwSprjAg45%2BvHsZg5UyTF3YDWjVhEbtbAb4w8cI9U%2F74vUdSvUKYBQJxm3x%2BIMWLU%2Bstcg%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=2,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9c1d89104924db0f-FRA
alt-svc: h3=":443"; ma=86400
Open service 2606:4700:20::681a:1b2:80 · preview.zostream.in
2026-01-22 08:03
HTTP/1.1 301 Moved Permanently
Date: Thu, 22 Jan 2026 08:03:32 GMT
Content-Length: 0
Connection: close
Location: https://preview.zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=WIpFcvKqxSAKGRZ8MYOl6y0qdU4OwQLsHmL9jun16svlFeSXcUQWr4%2FGnmP7za3Vc32a%2BmKZh1CRIgM0bqbzF3Ls8Bpq2M%2BewRtBhcW0qkwhpL0nlYZq3ARoA3GIzg%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=19,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9c1d890fc94366e2-AMS
alt-svc: h3=":443"; ma=86400
Open service 2606:4700:20::681a:1b2:443 · preview.zostream.in
2026-01-22 08:03
HTTP/1.1 200 OK
Date: Thu, 22 Jan 2026 08:03:33 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
Cache-Control: public, max-age=300
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=wdJpVRwyk5QAuVHtO7T389x9g%2BWxZuQos7nO9gWHedXl%2FY4OyKmumqk9lm5wh3OY%2BMoc48TxEPbst1JHIlRvrjEqTy3WFl5t9dY6dXAJJe7bdC8KDetVDACwEiRLTg%3D%3D"}]}
cf-cache-status: DYNAMIC
vary: accept-encoding
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=9,cfOrigin;dur=29
CF-RAY: 9c1d89160bebdd10-LHR
alt-svc: h3=":443"; ma=86400
Page title: Zo Stream — Preview
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Zo Stream — Preview</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<!-- Open Graph -->
<meta property="og:type" content="website" />
<meta property="og:site_name" content="Zo Stream" />
<meta property="og:title" content="Zo Stream — Preview" />
<meta property="og:description" content="Quick preview page for watch/listen content." />
<meta property="og:url" content="https://preview.zostream.in/" />
<!-- Twitter Card -->
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="Zo Stream — Preview" />
<meta name="twitter:description" content="Quick preview page for watch/listen content." />
<link rel="canonical" href="https://preview.zostream.in/" />
<style>
:root { --bg:#0b0f14; --card:#141a22; --text:#e6eef8; --muted:#a3b0c2; --accent:#5eead4; --border:#1f2732; }
* { box-sizing: border-box; }
html,body { height:100%; margin:0; font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto; background:linear-gradient(180deg,#0b0f14,#0e131a); color:var(--text); }
.wrap { min-height:100%; display:flex; align-items:center; justify-content:center; padding:24px; }
.card { width:100%; max-width:980px; background:var(--card); border:1px solid var(--border); border-radius:20px; padding:20px; box-shadow: 0 10px 30px rgba(0,0,0,.25); display:grid; grid-template-columns: 260px 1fr; gap:20px; }
@media (max-width: 740px) { .card { grid-template-columns: 1fr; } }
.poster { width:100%; aspect-ratio: 2/3; border-radius:14px; object-fit:cover; background:#0c1622; border:1px solid var(--border); display:none; }
.cover { width:100%; height:160px; object-fit:cover; border-radius:14px; border:1px solid var(--border); display:none; }
.pill { display:inline-flex; gap:8px; align-items:center; padding:6px 10px; border-radius:999px; background:#0c1622; border:1px solid #1e2a38; color:var(--muted); font-size:12px; letter-spacing:.3px; text-transform:uppercase; }
.badge { padding:2px 8px; border-radius:999px; border:1px solid #254; background:#0d1f1b; color:#9de1d4; font-weight:600; font-size:11px; }
h1 { margin:.2em 0 .4em; font-size:28px; }
.muted { color:var(--muted); }
.kv { display:grid; grid-template-columns:140px 1fr; gap:8px 16px; margin:12px 0 6px; }
.kv div:nth-child(odd) { color:#84a3c2; }
.actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:16px; }
.btn { appearance:none; border:none; cursor:pointer; padding:12px 16px; border-radius:12px; font-weight:600; background:#0f1a24; color:white; border:1px solid #203040; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; }
.btn:hover { transform: translateY(-1px); }
.btn-primary { background: var(--accent); color:#08231f; border-color:#75f0de; }
code { background:#0c1622; border:1px solid #1e2a38; padding:2px 6px; border-radius:6px; color:#9de1d4; }
.hr { height:1px; background:#1f2732; margin:16px 0; border-radius:1px; grid-column:1/-1; }
.skeleton { background: linear-gradient(90deg, #101621, #0f1420, #101621); background-size: 200% 100%; animation: shimmer 1.2s infinite; border-radius: 12px; }
@keyframes shimmer { 0% {background-position: 0 0;} 100% {background-position: -200% 0;} }
.sk-poster { height: 0; padding-bottom: 150%; }
.row-gap { height: 10px; }
</style>
</head>
<body>
<div class="wrap">
<div class="card" id="card">
<div>
<img id="poster" class="poster" alt="Poster"/>
<div id="posterSk" class="skeleton sk-poster"></div>
</div>
<div>
<span class="pill" id="pill">
<span>Preview</span>
<span class="badge" id="badgePremium" style="display:none;">Premium</span>
<span class="badge" id="badgePPV" style="display:none;">PPV</span>
<span class="badge" id="badgeAge" style="display:none;">18+</span>
</span>
<h1 id="title">Loading…</h1>
<div id="desc" class="m
Open service 172.67.72.133:443 · preview.zostream.in
2026-01-22 08:03
HTTP/1.1 200 OK
Date: Thu, 22 Jan 2026 08:03:32 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
Cache-Control: public, max-age=300
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=b2aJ%2BsgIR4%2FRlkTelm8iE6j506bmTYle%2FE4BZpIHLDjWPY2E40gTnjyg79PMgjdy51yIVNSNmNA4p4vVYbFzSYd6LtJawRKHMdwxpC7tJSj6mA%3D%3D"}]}
cf-cache-status: DYNAMIC
vary: accept-encoding
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=8,cfOrigin;dur=13
CF-RAY: 9c1d890fee9b68cb-AMS
alt-svc: h3=":443"; ma=86400
Page title: Zo Stream — Preview
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Zo Stream — Preview</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<!-- Open Graph -->
<meta property="og:type" content="website" />
<meta property="og:site_name" content="Zo Stream" />
<meta property="og:title" content="Zo Stream — Preview" />
<meta property="og:description" content="Quick preview page for watch/listen content." />
<meta property="og:url" content="https://preview.zostream.in/" />
<!-- Twitter Card -->
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="Zo Stream — Preview" />
<meta name="twitter:description" content="Quick preview page for watch/listen content." />
<link rel="canonical" href="https://preview.zostream.in/" />
<style>
:root { --bg:#0b0f14; --card:#141a22; --text:#e6eef8; --muted:#a3b0c2; --accent:#5eead4; --border:#1f2732; }
* { box-sizing: border-box; }
html,body { height:100%; margin:0; font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto; background:linear-gradient(180deg,#0b0f14,#0e131a); color:var(--text); }
.wrap { min-height:100%; display:flex; align-items:center; justify-content:center; padding:24px; }
.card { width:100%; max-width:980px; background:var(--card); border:1px solid var(--border); border-radius:20px; padding:20px; box-shadow: 0 10px 30px rgba(0,0,0,.25); display:grid; grid-template-columns: 260px 1fr; gap:20px; }
@media (max-width: 740px) { .card { grid-template-columns: 1fr; } }
.poster { width:100%; aspect-ratio: 2/3; border-radius:14px; object-fit:cover; background:#0c1622; border:1px solid var(--border); display:none; }
.cover { width:100%; height:160px; object-fit:cover; border-radius:14px; border:1px solid var(--border); display:none; }
.pill { display:inline-flex; gap:8px; align-items:center; padding:6px 10px; border-radius:999px; background:#0c1622; border:1px solid #1e2a38; color:var(--muted); font-size:12px; letter-spacing:.3px; text-transform:uppercase; }
.badge { padding:2px 8px; border-radius:999px; border:1px solid #254; background:#0d1f1b; color:#9de1d4; font-weight:600; font-size:11px; }
h1 { margin:.2em 0 .4em; font-size:28px; }
.muted { color:var(--muted); }
.kv { display:grid; grid-template-columns:140px 1fr; gap:8px 16px; margin:12px 0 6px; }
.kv div:nth-child(odd) { color:#84a3c2; }
.actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:16px; }
.btn { appearance:none; border:none; cursor:pointer; padding:12px 16px; border-radius:12px; font-weight:600; background:#0f1a24; color:white; border:1px solid #203040; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; }
.btn:hover { transform: translateY(-1px); }
.btn-primary { background: var(--accent); color:#08231f; border-color:#75f0de; }
code { background:#0c1622; border:1px solid #1e2a38; padding:2px 6px; border-radius:6px; color:#9de1d4; }
.hr { height:1px; background:#1f2732; margin:16px 0; border-radius:1px; grid-column:1/-1; }
.skeleton { background: linear-gradient(90deg, #101621, #0f1420, #101621); background-size: 200% 100%; animation: shimmer 1.2s infinite; border-radius: 12px; }
@keyframes shimmer { 0% {background-position: 0 0;} 100% {background-position: -200% 0;} }
.sk-poster { height: 0; padding-bottom: 150%; }
.row-gap { height: 10px; }
</style>
</head>
<body>
<div class="wrap">
<div class="card" id="card">
<div>
<img id="poster" class="poster" alt="Poster"/>
<div id="posterSk" class="skeleton sk-poster"></div>
</div>
<div>
<span class="pill" id="pill">
<span>Preview</span>
<span class="badge" id="badgePremium" style="display:none;">Premium</span>
<span class="badge" id="badgePPV" style="display:none;">PPV</span>
<span class="badge" id="badgeAge" style="display:none;">18+</span>
</span>
<h1 id="title">Loading…</h1>
<div id="desc" class="m
Open service 2606:4700:20::681a:b2:8443 · preview.zostream.in
2026-01-22 08:03
HTTP/1.1 522 <none> Date: Thu, 22 Jan 2026 08:03:53 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin Server-Timing: cfEdge;dur=19628,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9c1d8915fcd38885-LHR alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 2606:4700:20::ac43:4885:80 · preview.zostream.in
2026-01-22 08:03
HTTP/1.1 301 Moved Permanently
Date: Thu, 22 Jan 2026 08:03:32 GMT
Content-Length: 0
Connection: close
Location: https://preview.zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=gcrTaFkjxrNU8lm8uESZpYVEwd%2FHqvN1Y6lRnj8xt79Yir6JsR6ZSGF83bNrCDwjo%2BYHCd42PEncmhyIxD%2FBDOvwun4z8TTNZCZEJY9Y%2FsbZ2pB3W2IATsauKbW3xg%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=10,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9c1d890fc9f1d094-LHR
alt-svc: h3=":443"; ma=86400
Open service 2606:4700:20::ac43:4885:443 · preview.zostream.in
2026-01-22 08:03
HTTP/1.1 200 OK
Date: Thu, 22 Jan 2026 08:03:32 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
Cache-Control: public, max-age=300
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=cEBsMQxcPFDzxIKqFWhcNaI9t%2BavpcltCdgmWCIA6oMUjiMN0dsWknt9scB6TOVL7kAr3aXiZwODQ4tgdJM7DAmYSxIZpf7dnjDzLGReUULLbckyD0k%2ByJa2zCQ5Lg%3D%3D"}]}
cf-cache-status: DYNAMIC
vary: accept-encoding
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=9,cfOrigin;dur=62
CF-RAY: 9c1d8910080ad368-FRA
alt-svc: h3=":443"; ma=86400
Page title: Zo Stream — Preview
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Zo Stream — Preview</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<!-- Open Graph -->
<meta property="og:type" content="website" />
<meta property="og:site_name" content="Zo Stream" />
<meta property="og:title" content="Zo Stream — Preview" />
<meta property="og:description" content="Quick preview page for watch/listen content." />
<meta property="og:url" content="https://preview.zostream.in/" />
<!-- Twitter Card -->
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="Zo Stream — Preview" />
<meta name="twitter:description" content="Quick preview page for watch/listen content." />
<link rel="canonical" href="https://preview.zostream.in/" />
<style>
:root { --bg:#0b0f14; --card:#141a22; --text:#e6eef8; --muted:#a3b0c2; --accent:#5eead4; --border:#1f2732; }
* { box-sizing: border-box; }
html,body { height:100%; margin:0; font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto; background:linear-gradient(180deg,#0b0f14,#0e131a); color:var(--text); }
.wrap { min-height:100%; display:flex; align-items:center; justify-content:center; padding:24px; }
.card { width:100%; max-width:980px; background:var(--card); border:1px solid var(--border); border-radius:20px; padding:20px; box-shadow: 0 10px 30px rgba(0,0,0,.25); display:grid; grid-template-columns: 260px 1fr; gap:20px; }
@media (max-width: 740px) { .card { grid-template-columns: 1fr; } }
.poster { width:100%; aspect-ratio: 2/3; border-radius:14px; object-fit:cover; background:#0c1622; border:1px solid var(--border); display:none; }
.cover { width:100%; height:160px; object-fit:cover; border-radius:14px; border:1px solid var(--border); display:none; }
.pill { display:inline-flex; gap:8px; align-items:center; padding:6px 10px; border-radius:999px; background:#0c1622; border:1px solid #1e2a38; color:var(--muted); font-size:12px; letter-spacing:.3px; text-transform:uppercase; }
.badge { padding:2px 8px; border-radius:999px; border:1px solid #254; background:#0d1f1b; color:#9de1d4; font-weight:600; font-size:11px; }
h1 { margin:.2em 0 .4em; font-size:28px; }
.muted { color:var(--muted); }
.kv { display:grid; grid-template-columns:140px 1fr; gap:8px 16px; margin:12px 0 6px; }
.kv div:nth-child(odd) { color:#84a3c2; }
.actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:16px; }
.btn { appearance:none; border:none; cursor:pointer; padding:12px 16px; border-radius:12px; font-weight:600; background:#0f1a24; color:white; border:1px solid #203040; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; }
.btn:hover { transform: translateY(-1px); }
.btn-primary { background: var(--accent); color:#08231f; border-color:#75f0de; }
code { background:#0c1622; border:1px solid #1e2a38; padding:2px 6px; border-radius:6px; color:#9de1d4; }
.hr { height:1px; background:#1f2732; margin:16px 0; border-radius:1px; grid-column:1/-1; }
.skeleton { background: linear-gradient(90deg, #101621, #0f1420, #101621); background-size: 200% 100%; animation: shimmer 1.2s infinite; border-radius: 12px; }
@keyframes shimmer { 0% {background-position: 0 0;} 100% {background-position: -200% 0;} }
.sk-poster { height: 0; padding-bottom: 150%; }
.row-gap { height: 10px; }
</style>
</head>
<body>
<div class="wrap">
<div class="card" id="card">
<div>
<img id="poster" class="poster" alt="Poster"/>
<div id="posterSk" class="skeleton sk-poster"></div>
</div>
<div>
<span class="pill" id="pill">
<span>Preview</span>
<span class="badge" id="badgePremium" style="display:none;">Premium</span>
<span class="badge" id="badgePPV" style="display:none;">PPV</span>
<span class="badge" id="badgeAge" style="display:none;">18+</span>
</span>
<h1 id="title">Loading…</h1>
<div id="desc" class="m
Open service 2606:4700:20::681a:b2:443 · preview.zostream.in
2026-01-22 08:03
HTTP/1.1 200 OK
Date: Thu, 22 Jan 2026 08:03:32 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
Cache-Control: public, max-age=300
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=lvssxFuT6P3lxY%2B5v1gJ5y0c8oKV10m2nzCIUDMnHYx0OPKdszXu8Ze7%2F9pwXQiWvdSPPYFd21LirN4VaoVzqfL2DyBDN2JrayfhJtBGa2k8anmBUBdcFKQwG3%2BJ4w%3D%3D"}]}
cf-cache-status: DYNAMIC
vary: accept-encoding
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=10,cfOrigin;dur=73
CF-RAY: 9c1d89101ba55d80-FRA
alt-svc: h3=":443"; ma=86400
Page title: Zo Stream — Preview
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Zo Stream — Preview</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<!-- Open Graph -->
<meta property="og:type" content="website" />
<meta property="og:site_name" content="Zo Stream" />
<meta property="og:title" content="Zo Stream — Preview" />
<meta property="og:description" content="Quick preview page for watch/listen content." />
<meta property="og:url" content="https://preview.zostream.in/" />
<!-- Twitter Card -->
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="Zo Stream — Preview" />
<meta name="twitter:description" content="Quick preview page for watch/listen content." />
<link rel="canonical" href="https://preview.zostream.in/" />
<style>
:root { --bg:#0b0f14; --card:#141a22; --text:#e6eef8; --muted:#a3b0c2; --accent:#5eead4; --border:#1f2732; }
* { box-sizing: border-box; }
html,body { height:100%; margin:0; font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto; background:linear-gradient(180deg,#0b0f14,#0e131a); color:var(--text); }
.wrap { min-height:100%; display:flex; align-items:center; justify-content:center; padding:24px; }
.card { width:100%; max-width:980px; background:var(--card); border:1px solid var(--border); border-radius:20px; padding:20px; box-shadow: 0 10px 30px rgba(0,0,0,.25); display:grid; grid-template-columns: 260px 1fr; gap:20px; }
@media (max-width: 740px) { .card { grid-template-columns: 1fr; } }
.poster { width:100%; aspect-ratio: 2/3; border-radius:14px; object-fit:cover; background:#0c1622; border:1px solid var(--border); display:none; }
.cover { width:100%; height:160px; object-fit:cover; border-radius:14px; border:1px solid var(--border); display:none; }
.pill { display:inline-flex; gap:8px; align-items:center; padding:6px 10px; border-radius:999px; background:#0c1622; border:1px solid #1e2a38; color:var(--muted); font-size:12px; letter-spacing:.3px; text-transform:uppercase; }
.badge { padding:2px 8px; border-radius:999px; border:1px solid #254; background:#0d1f1b; color:#9de1d4; font-weight:600; font-size:11px; }
h1 { margin:.2em 0 .4em; font-size:28px; }
.muted { color:var(--muted); }
.kv { display:grid; grid-template-columns:140px 1fr; gap:8px 16px; margin:12px 0 6px; }
.kv div:nth-child(odd) { color:#84a3c2; }
.actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:16px; }
.btn { appearance:none; border:none; cursor:pointer; padding:12px 16px; border-radius:12px; font-weight:600; background:#0f1a24; color:white; border:1px solid #203040; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; }
.btn:hover { transform: translateY(-1px); }
.btn-primary { background: var(--accent); color:#08231f; border-color:#75f0de; }
code { background:#0c1622; border:1px solid #1e2a38; padding:2px 6px; border-radius:6px; color:#9de1d4; }
.hr { height:1px; background:#1f2732; margin:16px 0; border-radius:1px; grid-column:1/-1; }
.skeleton { background: linear-gradient(90deg, #101621, #0f1420, #101621); background-size: 200% 100%; animation: shimmer 1.2s infinite; border-radius: 12px; }
@keyframes shimmer { 0% {background-position: 0 0;} 100% {background-position: -200% 0;} }
.sk-poster { height: 0; padding-bottom: 150%; }
.row-gap { height: 10px; }
</style>
</head>
<body>
<div class="wrap">
<div class="card" id="card">
<div>
<img id="poster" class="poster" alt="Poster"/>
<div id="posterSk" class="skeleton sk-poster"></div>
</div>
<div>
<span class="pill" id="pill">
<span>Preview</span>
<span class="badge" id="badgePremium" style="display:none;">Premium</span>
<span class="badge" id="badgePPV" style="display:none;">PPV</span>
<span class="badge" id="badgeAge" style="display:none;">18+</span>
</span>
<h1 id="title">Loading…</h1>
<div id="desc" class="m
Open service 104.26.0.178:8443 · preview.zostream.in
2026-01-22 08:03
HTTP/1.1 522 <none> Date: Thu, 22 Jan 2026 08:03:52 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin Server-Timing: cfEdge;dur=19441,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9c1d89161c73d2c7-FRA alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 104.26.1.178:443 · preview.zostream.in
2026-01-22 08:03
HTTP/1.1 200 OK
Date: Thu, 22 Jan 2026 08:03:32 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
Cache-Control: public, max-age=300
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=3EELSYwFJ6sRCx3v4izS2gLpdcNA3aQvfhxzWcBbCLnRvXuogOMNMsWgMwFc2FrCBaACtFDaYlVvmKv9ofN%2BuhltwLG1b%2BVtrTYbxQYW5dwHIw%3D%3D"}]}
cf-cache-status: DYNAMIC
vary: accept-encoding
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=9,cfOrigin;dur=54
CF-RAY: 9c1d89104f9935ed-FRA
alt-svc: h3=":443"; ma=86400
Page title: Zo Stream — Preview
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Zo Stream — Preview</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<!-- Open Graph -->
<meta property="og:type" content="website" />
<meta property="og:site_name" content="Zo Stream" />
<meta property="og:title" content="Zo Stream — Preview" />
<meta property="og:description" content="Quick preview page for watch/listen content." />
<meta property="og:url" content="https://preview.zostream.in/" />
<!-- Twitter Card -->
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="Zo Stream — Preview" />
<meta name="twitter:description" content="Quick preview page for watch/listen content." />
<link rel="canonical" href="https://preview.zostream.in/" />
<style>
:root { --bg:#0b0f14; --card:#141a22; --text:#e6eef8; --muted:#a3b0c2; --accent:#5eead4; --border:#1f2732; }
* { box-sizing: border-box; }
html,body { height:100%; margin:0; font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto; background:linear-gradient(180deg,#0b0f14,#0e131a); color:var(--text); }
.wrap { min-height:100%; display:flex; align-items:center; justify-content:center; padding:24px; }
.card { width:100%; max-width:980px; background:var(--card); border:1px solid var(--border); border-radius:20px; padding:20px; box-shadow: 0 10px 30px rgba(0,0,0,.25); display:grid; grid-template-columns: 260px 1fr; gap:20px; }
@media (max-width: 740px) { .card { grid-template-columns: 1fr; } }
.poster { width:100%; aspect-ratio: 2/3; border-radius:14px; object-fit:cover; background:#0c1622; border:1px solid var(--border); display:none; }
.cover { width:100%; height:160px; object-fit:cover; border-radius:14px; border:1px solid var(--border); display:none; }
.pill { display:inline-flex; gap:8px; align-items:center; padding:6px 10px; border-radius:999px; background:#0c1622; border:1px solid #1e2a38; color:var(--muted); font-size:12px; letter-spacing:.3px; text-transform:uppercase; }
.badge { padding:2px 8px; border-radius:999px; border:1px solid #254; background:#0d1f1b; color:#9de1d4; font-weight:600; font-size:11px; }
h1 { margin:.2em 0 .4em; font-size:28px; }
.muted { color:var(--muted); }
.kv { display:grid; grid-template-columns:140px 1fr; gap:8px 16px; margin:12px 0 6px; }
.kv div:nth-child(odd) { color:#84a3c2; }
.actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:16px; }
.btn { appearance:none; border:none; cursor:pointer; padding:12px 16px; border-radius:12px; font-weight:600; background:#0f1a24; color:white; border:1px solid #203040; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; }
.btn:hover { transform: translateY(-1px); }
.btn-primary { background: var(--accent); color:#08231f; border-color:#75f0de; }
code { background:#0c1622; border:1px solid #1e2a38; padding:2px 6px; border-radius:6px; color:#9de1d4; }
.hr { height:1px; background:#1f2732; margin:16px 0; border-radius:1px; grid-column:1/-1; }
.skeleton { background: linear-gradient(90deg, #101621, #0f1420, #101621); background-size: 200% 100%; animation: shimmer 1.2s infinite; border-radius: 12px; }
@keyframes shimmer { 0% {background-position: 0 0;} 100% {background-position: -200% 0;} }
.sk-poster { height: 0; padding-bottom: 150%; }
.row-gap { height: 10px; }
</style>
</head>
<body>
<div class="wrap">
<div class="card" id="card">
<div>
<img id="poster" class="poster" alt="Poster"/>
<div id="posterSk" class="skeleton sk-poster"></div>
</div>
<div>
<span class="pill" id="pill">
<span>Preview</span>
<span class="badge" id="badgePremium" style="display:none;">Premium</span>
<span class="badge" id="badgePPV" style="display:none;">PPV</span>
<span class="badge" id="badgeAge" style="display:none;">18+</span>
</span>
<h1 id="title">Loading…</h1>
<div id="desc" class="m
Open service 104.26.1.178:8443 · preview.zostream.in
2026-01-22 08:03
HTTP/1.1 522 <none> Date: Thu, 22 Jan 2026 08:03:52 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin Server-Timing: cfEdge;dur=19360,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9c1d8915ee901e2f-FRA alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 2606:4700:20::681a:1b2:8443 · preview.zostream.in
2026-01-22 08:03
HTTP/1.1 522 <none> Date: Thu, 22 Jan 2026 08:03:53 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin Server-Timing: cfEdge;dur=19595,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9c1d8915fc449a17-FRA alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 2606:4700:20::ac43:4885:8443 · preview.zostream.in
2026-01-22 08:03
HTTP/1.1 522 <none> Date: Thu, 22 Jan 2026 08:03:52 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin Server-Timing: cfEdge;dur=19343,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9c1d89160e105778-FRA alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 104.26.1.178:443 · tv.zostream.in
2026-01-22 08:03
HTTP/1.1 200 OK
Date: Thu, 22 Jan 2026 08:03:27 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
last-modified: Wed, 08 Oct 2025 10:41:59 GMT
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=8,cfOrigin;dur=18
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=B0ylyDu3DvH6iH3L%2FL0mC5Jcvhrw5rhbxQcUeogxZBZakfkxl7grIk90QYTd5vDncxTI3QcQ9IsD%2Bv5gaN4gbcLtMyA5ojTASxY3FHQ%3D"}]}
cf-cache-status: DYNAMIC
vary: accept-encoding
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
CF-RAY: 9c1d88ee7818dc8d-FRA
alt-svc: h3=":443"; ma=86400
Page title: ZoStreamTV - Home
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>ZoStreamTV - Home</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="css/pages/home.css">
<link rel="stylesheet" href="css/pages/nav.css">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
</head>
<body>
<!-- Sidebar Navigation (unchanged) -->
<aside class="sidebar">
<div class="logo">
<img class="logo_img" src="logo.jpg" alt="ZoStreamTV Logo" />
<h2>ZoStreamTV</h2>
</div>
<ul class="nav-menu">
<li class="nav-item"><a href="home.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">home</i><span>Home</span></a></li>
<li class="nav-item"><a href="search.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">search</i><span>Search</span></a></li>
<li class="nav-item"><a href="category.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">movie</i><span>Category</span></a></li>
<li class="nav-item"><a href="profile.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">person</i><span>Profile</span></a></li>
</ul>
</aside>
<!-- Main Content -->
<main class="main-content">
<div id="hero-slider-container"></div>
<div id="movies-container">
<div class="loading">Loading content...</div>
</div>
</main>
<script type="module">
import { initializeRemoteControl } from './js/utils/uniRemote.js';
import { apiClient } from './js/service/apiClient.js';
import { protectPage } from './js/service/authGuard.js';
import { toast } from './js/utils/toastify.js';
import useAgeRestriction from './js/utils/useAgeRestriction.js';
let heroTrack, heroSlides, heroDots, currentHeroIndex = 1; // Start at 1 (the first REAL slide)
let isTransitioning = false;
const ageRestricted = useAgeRestriction.value;
document.addEventListener('DOMContentLoaded', async () => {
document.querySelectorAll('.nav-link').forEach(link => {
if (link.href === window.location.href) link.classList.add('active');
});
try {
await protectPage();
await loadContent();
setupNavigation();
} catch (error) {
showError('Authentication required. Redirecting...');
setTimeout(() => window.location.href = './login.html', 2000);
}
});
async function loadContent() {
// ... (This function is unchanged) ...
const moviesContainer = document.getElementById('movies-container');
try {
moviesContainer.innerHTML = '<div class="loading">Loading content...</div>';
const response = await apiClient.get(`/movies?age_restriction=${ageRestricted}`);
if (!response || Object.keys(response).length === 0) {
moviesContainer.innerHTML = '<div class="loading">No content available</div>';
return;
}
moviesContainer.innerHTML = '';
let regularCatIndex = 0;
Object.entries(response).forEach(([category, items]) => {
if (!items || items.length === 0) return;
if (category === 'Latest Update') {
createHeroSlider(items);
} else {
const section = document.createElement('div');
section.className = 'category-section';
section.innerHTML = `<h2 class="category-title">${category}</h2><div class="movies-scroller"><div class="movies-row" id="category-${regularCatIndex}"></div></div>`;
const row = section.querySelector('.movies-row');
items.forEach(item => row.appendChild(createMediaCard(item)));
moviesContainer.appendChild(section);
regularCatIndex++;
}
});
} catch (error) {
showError('Failed to load content. Please try again.');
}
}
function createHeroSlider(items) {
const sliderContainer = document.getElementById('hero-slider-container');
if (!sliderContainer || items.length === 0) return;
co
Open service 104.26.1.178:8443 · tv.zostream.in
2026-01-22 08:03
HTTP/1.1 522 <none> Date: Thu, 22 Jan 2026 08:03:47 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin Server-Timing: cfEdge;dur=19419,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9c1d88f448dba062-FRA alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 104.26.0.178:80 · tv.zostream.in
2026-01-22 08:03
HTTP/1.1 301 Moved Permanently
Date: Thu, 22 Jan 2026 08:03:27 GMT
Content-Length: 0
Connection: close
Location: https://tv.zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=z0nSboU3xAu%2FjyZa2%2BO0g4%2BKsDO0vKfBqnjee0LFELNCMQxwTMg8lMz3jNhh%2BYfJb7Gyr3kmBqB%2BlOicaUJJTSDIUmeNCO1JEad%2FvBM%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=9,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9c1d88eddf8a5d15-YYZ
alt-svc: h3=":443"; ma=86400
Open service 104.26.1.178:80 · tv.zostream.in
2026-01-22 08:03
HTTP/1.1 301 Moved Permanently
Date: Thu, 22 Jan 2026 08:03:26 GMT
Content-Length: 0
Connection: close
Location: https://tv.zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=MwYPQ8aH9ikb9egazFRjuNaGbbCTnw1H%2Fuec92LnH0XjgI%2FyrYuad%2FED0dYbHHSiwk%2Bx7QSUm9hX0tqVQVqf4HkGlh0KNFARXvykYwQ%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=16,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9c1d88ed9c3efd98-SIN
alt-svc: h3=":443"; ma=86400
Open service 2606:4700:20::ac43:4885:8443 · tv.zostream.in
2026-01-22 08:03
HTTP/1.1 522 <none> Date: Thu, 22 Jan 2026 08:03:47 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin Server-Timing: cfEdge;dur=19629,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9c1d88f2f8789fce-FRA alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 2606:4700:20::ac43:4885:443 · tv.zostream.in
2026-01-22 08:03
HTTP/1.1 200 OK
Date: Thu, 22 Jan 2026 08:03:26 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
last-modified: Wed, 08 Oct 2025 10:41:59 GMT
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=7,cfOrigin;dur=55
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=nT%2FlidRZSC0IN%2FQXimINq7Gi2MaEigeGJm3ucAmIAH8ZDVa0QBkDgA9jaUIKlAA1%2FwxmZjFU%2BuXP60Qc9rK9yx0fgX9zwYiQxn%2FxbnKwYvJNFGA3MKdsVCg%3D"}]}
cf-cache-status: DYNAMIC
vary: accept-encoding
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
CF-RAY: 9c1d88ed2cdad9de-FRA
alt-svc: h3=":443"; ma=86400
Page title: ZoStreamTV - Home
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>ZoStreamTV - Home</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="css/pages/home.css">
<link rel="stylesheet" href="css/pages/nav.css">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
</head>
<body>
<!-- Sidebar Navigation (unchanged) -->
<aside class="sidebar">
<div class="logo">
<img class="logo_img" src="logo.jpg" alt="ZoStreamTV Logo" />
<h2>ZoStreamTV</h2>
</div>
<ul class="nav-menu">
<li class="nav-item"><a href="home.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">home</i><span>Home</span></a></li>
<li class="nav-item"><a href="search.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">search</i><span>Search</span></a></li>
<li class="nav-item"><a href="category.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">movie</i><span>Category</span></a></li>
<li class="nav-item"><a href="profile.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">person</i><span>Profile</span></a></li>
</ul>
</aside>
<!-- Main Content -->
<main class="main-content">
<div id="hero-slider-container"></div>
<div id="movies-container">
<div class="loading">Loading content...</div>
</div>
</main>
<script type="module">
import { initializeRemoteControl } from './js/utils/uniRemote.js';
import { apiClient } from './js/service/apiClient.js';
import { protectPage } from './js/service/authGuard.js';
import { toast } from './js/utils/toastify.js';
import useAgeRestriction from './js/utils/useAgeRestriction.js';
let heroTrack, heroSlides, heroDots, currentHeroIndex = 1; // Start at 1 (the first REAL slide)
let isTransitioning = false;
const ageRestricted = useAgeRestriction.value;
document.addEventListener('DOMContentLoaded', async () => {
document.querySelectorAll('.nav-link').forEach(link => {
if (link.href === window.location.href) link.classList.add('active');
});
try {
await protectPage();
await loadContent();
setupNavigation();
} catch (error) {
showError('Authentication required. Redirecting...');
setTimeout(() => window.location.href = './login.html', 2000);
}
});
async function loadContent() {
// ... (This function is unchanged) ...
const moviesContainer = document.getElementById('movies-container');
try {
moviesContainer.innerHTML = '<div class="loading">Loading content...</div>';
const response = await apiClient.get(`/movies?age_restriction=${ageRestricted}`);
if (!response || Object.keys(response).length === 0) {
moviesContainer.innerHTML = '<div class="loading">No content available</div>';
return;
}
moviesContainer.innerHTML = '';
let regularCatIndex = 0;
Object.entries(response).forEach(([category, items]) => {
if (!items || items.length === 0) return;
if (category === 'Latest Update') {
createHeroSlider(items);
} else {
const section = document.createElement('div');
section.className = 'category-section';
section.innerHTML = `<h2 class="category-title">${category}</h2><div class="movies-scroller"><div class="movies-row" id="category-${regularCatIndex}"></div></div>`;
const row = section.querySelector('.movies-row');
items.forEach(item => row.appendChild(createMediaCard(item)));
moviesContainer.appendChild(section);
regularCatIndex++;
}
});
} catch (error) {
showError('Failed to load content. Please try again.');
}
}
function createHeroSlider(items) {
const sliderContainer = document.getElementById('hero-slider-container');
if (!sliderContainer || items.length === 0) return;
co
Open service 2606:4700:20::681a:b2:8443 · tv.zostream.in
2026-01-22 08:03
HTTP/1.1 522 <none> Date: Thu, 22 Jan 2026 08:03:47 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin Server-Timing: cfEdge;dur=19642,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9c1d88f32dd2d2b7-FRA alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 2606:4700:20::681a:b2:443 · tv.zostream.in
2026-01-22 08:03
HTTP/1.1 200 OK
Date: Thu, 22 Jan 2026 08:03:27 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
last-modified: Wed, 08 Oct 2025 10:41:59 GMT
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=19,cfOrigin;dur=51
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=4EC0Z%2ByK66VDCNekIWLOOB%2FGXaXDlZSAhZJNyZXZxH1L3oKPvlv5EZVmx8XymSKiz4%2FRUz9USXxazzPVEEfJdwfr45BiKUF%2FTVWJkE2oHthGEP2GyZVl8qg%3D"}]}
cf-cache-status: DYNAMIC
vary: accept-encoding
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
CF-RAY: 9c1d88ed497030c4-FRA
alt-svc: h3=":443"; ma=86400
Page title: ZoStreamTV - Home
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>ZoStreamTV - Home</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="css/pages/home.css">
<link rel="stylesheet" href="css/pages/nav.css">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
</head>
<body>
<!-- Sidebar Navigation (unchanged) -->
<aside class="sidebar">
<div class="logo">
<img class="logo_img" src="logo.jpg" alt="ZoStreamTV Logo" />
<h2>ZoStreamTV</h2>
</div>
<ul class="nav-menu">
<li class="nav-item"><a href="home.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">home</i><span>Home</span></a></li>
<li class="nav-item"><a href="search.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">search</i><span>Search</span></a></li>
<li class="nav-item"><a href="category.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">movie</i><span>Category</span></a></li>
<li class="nav-item"><a href="profile.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">person</i><span>Profile</span></a></li>
</ul>
</aside>
<!-- Main Content -->
<main class="main-content">
<div id="hero-slider-container"></div>
<div id="movies-container">
<div class="loading">Loading content...</div>
</div>
</main>
<script type="module">
import { initializeRemoteControl } from './js/utils/uniRemote.js';
import { apiClient } from './js/service/apiClient.js';
import { protectPage } from './js/service/authGuard.js';
import { toast } from './js/utils/toastify.js';
import useAgeRestriction from './js/utils/useAgeRestriction.js';
let heroTrack, heroSlides, heroDots, currentHeroIndex = 1; // Start at 1 (the first REAL slide)
let isTransitioning = false;
const ageRestricted = useAgeRestriction.value;
document.addEventListener('DOMContentLoaded', async () => {
document.querySelectorAll('.nav-link').forEach(link => {
if (link.href === window.location.href) link.classList.add('active');
});
try {
await protectPage();
await loadContent();
setupNavigation();
} catch (error) {
showError('Authentication required. Redirecting...');
setTimeout(() => window.location.href = './login.html', 2000);
}
});
async function loadContent() {
// ... (This function is unchanged) ...
const moviesContainer = document.getElementById('movies-container');
try {
moviesContainer.innerHTML = '<div class="loading">Loading content...</div>';
const response = await apiClient.get(`/movies?age_restriction=${ageRestricted}`);
if (!response || Object.keys(response).length === 0) {
moviesContainer.innerHTML = '<div class="loading">No content available</div>';
return;
}
moviesContainer.innerHTML = '';
let regularCatIndex = 0;
Object.entries(response).forEach(([category, items]) => {
if (!items || items.length === 0) return;
if (category === 'Latest Update') {
createHeroSlider(items);
} else {
const section = document.createElement('div');
section.className = 'category-section';
section.innerHTML = `<h2 class="category-title">${category}</h2><div class="movies-scroller"><div class="movies-row" id="category-${regularCatIndex}"></div></div>`;
const row = section.querySelector('.movies-row');
items.forEach(item => row.appendChild(createMediaCard(item)));
moviesContainer.appendChild(section);
regularCatIndex++;
}
});
} catch (error) {
showError('Failed to load content. Please try again.');
}
}
function createHeroSlider(items) {
const sliderContainer = document.getElementById('hero-slider-container');
if (!sliderContainer || items.length === 0) return;
co
Open service 2606:4700:20::681a:1b2:443 · tv.zostream.in
2026-01-22 08:03
HTTP/1.1 200 OK
Date: Thu, 22 Jan 2026 08:03:26 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
last-modified: Wed, 08 Oct 2025 10:41:59 GMT
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=11,cfOrigin;dur=16
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=%2BerXdCfC5YCprfndn6fKDTRwMmFvmESW0a0rKKYNOx46LykPGooZY9hkyo%2BFKsZh%2F917dBWiNnSkqaH%2BDUDZWmFWOmr6Jdbt%2B8t0YH3alRxjGD4sg7gn2Bg%3D"}]}
cf-cache-status: DYNAMIC
vary: accept-encoding
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
CF-RAY: 9c1d88ed4f1739d4-FRA
alt-svc: h3=":443"; ma=86400
Page title: ZoStreamTV - Home
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>ZoStreamTV - Home</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="css/pages/home.css">
<link rel="stylesheet" href="css/pages/nav.css">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
</head>
<body>
<!-- Sidebar Navigation (unchanged) -->
<aside class="sidebar">
<div class="logo">
<img class="logo_img" src="logo.jpg" alt="ZoStreamTV Logo" />
<h2>ZoStreamTV</h2>
</div>
<ul class="nav-menu">
<li class="nav-item"><a href="home.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">home</i><span>Home</span></a></li>
<li class="nav-item"><a href="search.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">search</i><span>Search</span></a></li>
<li class="nav-item"><a href="category.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">movie</i><span>Category</span></a></li>
<li class="nav-item"><a href="profile.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">person</i><span>Profile</span></a></li>
</ul>
</aside>
<!-- Main Content -->
<main class="main-content">
<div id="hero-slider-container"></div>
<div id="movies-container">
<div class="loading">Loading content...</div>
</div>
</main>
<script type="module">
import { initializeRemoteControl } from './js/utils/uniRemote.js';
import { apiClient } from './js/service/apiClient.js';
import { protectPage } from './js/service/authGuard.js';
import { toast } from './js/utils/toastify.js';
import useAgeRestriction from './js/utils/useAgeRestriction.js';
let heroTrack, heroSlides, heroDots, currentHeroIndex = 1; // Start at 1 (the first REAL slide)
let isTransitioning = false;
const ageRestricted = useAgeRestriction.value;
document.addEventListener('DOMContentLoaded', async () => {
document.querySelectorAll('.nav-link').forEach(link => {
if (link.href === window.location.href) link.classList.add('active');
});
try {
await protectPage();
await loadContent();
setupNavigation();
} catch (error) {
showError('Authentication required. Redirecting...');
setTimeout(() => window.location.href = './login.html', 2000);
}
});
async function loadContent() {
// ... (This function is unchanged) ...
const moviesContainer = document.getElementById('movies-container');
try {
moviesContainer.innerHTML = '<div class="loading">Loading content...</div>';
const response = await apiClient.get(`/movies?age_restriction=${ageRestricted}`);
if (!response || Object.keys(response).length === 0) {
moviesContainer.innerHTML = '<div class="loading">No content available</div>';
return;
}
moviesContainer.innerHTML = '';
let regularCatIndex = 0;
Object.entries(response).forEach(([category, items]) => {
if (!items || items.length === 0) return;
if (category === 'Latest Update') {
createHeroSlider(items);
} else {
const section = document.createElement('div');
section.className = 'category-section';
section.innerHTML = `<h2 class="category-title">${category}</h2><div class="movies-scroller"><div class="movies-row" id="category-${regularCatIndex}"></div></div>`;
const row = section.querySelector('.movies-row');
items.forEach(item => row.appendChild(createMediaCard(item)));
moviesContainer.appendChild(section);
regularCatIndex++;
}
});
} catch (error) {
showError('Failed to load content. Please try again.');
}
}
function createHeroSlider(items) {
const sliderContainer = document.getElementById('hero-slider-container');
if (!sliderContainer || items.length === 0) return;
co
Open service 2606:4700:20::681a:1b2:8443 · tv.zostream.in
2026-01-22 08:03
HTTP/1.1 522 <none> Date: Thu, 22 Jan 2026 08:03:47 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin Server-Timing: cfEdge;dur=19319,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9c1d88f32f2cd399-FRA alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 2606:4700:20::ac43:4885:80 · tv.zostream.in
2026-01-22 08:03
HTTP/1.1 301 Moved Permanently
Date: Thu, 22 Jan 2026 08:03:26 GMT
Content-Length: 0
Connection: close
Location: https://tv.zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=yn0W8mSrWfNeWkg4dbZwrD%2Fc5k6N6zpn7ZjlMj2BoNaX%2FXMAQXf34CEwi859qh%2F14nHkdS%2FhgY%2B%2B86rl5%2F9KbIlyOTmZbk89HWCCWKrSq%2Bp4uTO4pf9gh7U%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=10,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9c1d88ecdf62dc6e-FRA
alt-svc: h3=":443"; ma=86400
Open service 172.67.72.133:443 · tv.zostream.in
2026-01-22 08:03
HTTP/1.1 200 OK
Date: Thu, 22 Jan 2026 08:03:26 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
last-modified: Wed, 08 Oct 2025 10:41:59 GMT
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=12,cfOrigin;dur=23
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=hl%2Ftn9i3LiGvr6KaX5RGc5ge6C9X1pGQiz%2FTShhZMFcZ76FUxc7xYTb02I5pZ62GmrfTQwR09eqQ0cUEf5R4ShdSIyPfhULiSubUtUU%3D"}]}
cf-cache-status: DYNAMIC
vary: accept-encoding
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
CF-RAY: 9c1d88ed5e915d7f-FRA
alt-svc: h3=":443"; ma=86400
Page title: ZoStreamTV - Home
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>ZoStreamTV - Home</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="css/pages/home.css">
<link rel="stylesheet" href="css/pages/nav.css">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
</head>
<body>
<!-- Sidebar Navigation (unchanged) -->
<aside class="sidebar">
<div class="logo">
<img class="logo_img" src="logo.jpg" alt="ZoStreamTV Logo" />
<h2>ZoStreamTV</h2>
</div>
<ul class="nav-menu">
<li class="nav-item"><a href="home.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">home</i><span>Home</span></a></li>
<li class="nav-item"><a href="search.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">search</i><span>Search</span></a></li>
<li class="nav-item"><a href="category.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">movie</i><span>Category</span></a></li>
<li class="nav-item"><a href="profile.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">person</i><span>Profile</span></a></li>
</ul>
</aside>
<!-- Main Content -->
<main class="main-content">
<div id="hero-slider-container"></div>
<div id="movies-container">
<div class="loading">Loading content...</div>
</div>
</main>
<script type="module">
import { initializeRemoteControl } from './js/utils/uniRemote.js';
import { apiClient } from './js/service/apiClient.js';
import { protectPage } from './js/service/authGuard.js';
import { toast } from './js/utils/toastify.js';
import useAgeRestriction from './js/utils/useAgeRestriction.js';
let heroTrack, heroSlides, heroDots, currentHeroIndex = 1; // Start at 1 (the first REAL slide)
let isTransitioning = false;
const ageRestricted = useAgeRestriction.value;
document.addEventListener('DOMContentLoaded', async () => {
document.querySelectorAll('.nav-link').forEach(link => {
if (link.href === window.location.href) link.classList.add('active');
});
try {
await protectPage();
await loadContent();
setupNavigation();
} catch (error) {
showError('Authentication required. Redirecting...');
setTimeout(() => window.location.href = './login.html', 2000);
}
});
async function loadContent() {
// ... (This function is unchanged) ...
const moviesContainer = document.getElementById('movies-container');
try {
moviesContainer.innerHTML = '<div class="loading">Loading content...</div>';
const response = await apiClient.get(`/movies?age_restriction=${ageRestricted}`);
if (!response || Object.keys(response).length === 0) {
moviesContainer.innerHTML = '<div class="loading">No content available</div>';
return;
}
moviesContainer.innerHTML = '';
let regularCatIndex = 0;
Object.entries(response).forEach(([category, items]) => {
if (!items || items.length === 0) return;
if (category === 'Latest Update') {
createHeroSlider(items);
} else {
const section = document.createElement('div');
section.className = 'category-section';
section.innerHTML = `<h2 class="category-title">${category}</h2><div class="movies-scroller"><div class="movies-row" id="category-${regularCatIndex}"></div></div>`;
const row = section.querySelector('.movies-row');
items.forEach(item => row.appendChild(createMediaCard(item)));
moviesContainer.appendChild(section);
regularCatIndex++;
}
});
} catch (error) {
showError('Failed to load content. Please try again.');
}
}
function createHeroSlider(items) {
const sliderContainer = document.getElementById('hero-slider-container');
if (!sliderContainer || items.length === 0) return;
co
Open service 2606:4700:20::681a:b2:80 · tv.zostream.in
2026-01-22 08:03
HTTP/1.1 301 Moved Permanently
Date: Thu, 22 Jan 2026 08:03:26 GMT
Content-Length: 0
Connection: close
Location: https://tv.zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=9kreRn8ZukKNFqIgwCJ6kyezTLuu1K%2BqqNjvWN6f61GziCejbsUL0347YY87COhcCj1pZqJxC%2F4vIPYGfKTke7E6VSSLL%2FP1G%2FcCg%2BHXwvoMZ%2F0dVuHoT9Y%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=8,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9c1d88ecec7bd26e-FRA
alt-svc: h3=":443"; ma=86400
Open service 172.67.72.133:8443 · tv.zostream.in
2026-01-22 08:03
HTTP/1.1 522 <none> Date: Thu, 22 Jan 2026 08:03:47 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin Server-Timing: cfEdge;dur=19719,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9c1d88f3295ad9da-FRA alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 104.26.0.178:8443 · tv.zostream.in
2026-01-22 08:03
HTTP/1.1 522 <none> Date: Thu, 22 Jan 2026 08:03:47 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin Server-Timing: cfEdge;dur=19342,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9c1d88f31ca7d8d6-FRA alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 104.26.0.178:443 · tv.zostream.in
2026-01-22 08:03
HTTP/1.1 200 OK
Date: Thu, 22 Jan 2026 08:03:26 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
last-modified: Wed, 08 Oct 2025 10:41:59 GMT
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=3,cfOrigin;dur=19
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=t43nBZa4FTRFG73ueDY2a34WivmLD0OoIRbMQ0CL61tk%2FoTh3lnyz6P1MsMsut%2FJi4xahQkcrIXvf9rhu5rwF4SLSiGkxBc%2B6tkOgjc%3D"}]}
cf-cache-status: DYNAMIC
vary: accept-encoding
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
CF-RAY: 9c1d88ed38203383-FRA
alt-svc: h3=":443"; ma=86400
Page title: ZoStreamTV - Home
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>ZoStreamTV - Home</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="css/pages/home.css">
<link rel="stylesheet" href="css/pages/nav.css">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
</head>
<body>
<!-- Sidebar Navigation (unchanged) -->
<aside class="sidebar">
<div class="logo">
<img class="logo_img" src="logo.jpg" alt="ZoStreamTV Logo" />
<h2>ZoStreamTV</h2>
</div>
<ul class="nav-menu">
<li class="nav-item"><a href="home.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">home</i><span>Home</span></a></li>
<li class="nav-item"><a href="search.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">search</i><span>Search</span></a></li>
<li class="nav-item"><a href="category.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">movie</i><span>Category</span></a></li>
<li class="nav-item"><a href="profile.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">person</i><span>Profile</span></a></li>
</ul>
</aside>
<!-- Main Content -->
<main class="main-content">
<div id="hero-slider-container"></div>
<div id="movies-container">
<div class="loading">Loading content...</div>
</div>
</main>
<script type="module">
import { initializeRemoteControl } from './js/utils/uniRemote.js';
import { apiClient } from './js/service/apiClient.js';
import { protectPage } from './js/service/authGuard.js';
import { toast } from './js/utils/toastify.js';
import useAgeRestriction from './js/utils/useAgeRestriction.js';
let heroTrack, heroSlides, heroDots, currentHeroIndex = 1; // Start at 1 (the first REAL slide)
let isTransitioning = false;
const ageRestricted = useAgeRestriction.value;
document.addEventListener('DOMContentLoaded', async () => {
document.querySelectorAll('.nav-link').forEach(link => {
if (link.href === window.location.href) link.classList.add('active');
});
try {
await protectPage();
await loadContent();
setupNavigation();
} catch (error) {
showError('Authentication required. Redirecting...');
setTimeout(() => window.location.href = './login.html', 2000);
}
});
async function loadContent() {
// ... (This function is unchanged) ...
const moviesContainer = document.getElementById('movies-container');
try {
moviesContainer.innerHTML = '<div class="loading">Loading content...</div>';
const response = await apiClient.get(`/movies?age_restriction=${ageRestricted}`);
if (!response || Object.keys(response).length === 0) {
moviesContainer.innerHTML = '<div class="loading">No content available</div>';
return;
}
moviesContainer.innerHTML = '';
let regularCatIndex = 0;
Object.entries(response).forEach(([category, items]) => {
if (!items || items.length === 0) return;
if (category === 'Latest Update') {
createHeroSlider(items);
} else {
const section = document.createElement('div');
section.className = 'category-section';
section.innerHTML = `<h2 class="category-title">${category}</h2><div class="movies-scroller"><div class="movies-row" id="category-${regularCatIndex}"></div></div>`;
const row = section.querySelector('.movies-row');
items.forEach(item => row.appendChild(createMediaCard(item)));
moviesContainer.appendChild(section);
regularCatIndex++;
}
});
} catch (error) {
showError('Failed to load content. Please try again.');
}
}
function createHeroSlider(items) {
const sliderContainer = document.getElementById('hero-slider-container');
if (!sliderContainer || items.length === 0) return;
co
Open service 2606:4700:20::681a:1b2:80 · tv.zostream.in
2026-01-22 08:03
HTTP/1.1 301 Moved Permanently
Date: Thu, 22 Jan 2026 08:03:26 GMT
Content-Length: 0
Connection: close
Location: https://tv.zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=bnl%2Be%2FVAQa%2FKsI88Y%2BIIBCmQmoiYpyHlhPCbKNYEqis6qECPGwxDEqErxFMQ%2FHvE9X75CmP3ZUhAaVhZrvYCqJR5BtEUGMDBtHRZD2WhMpdgaD%2Bk29uoNxk%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=2,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9c1d88eced17cef6-FRA
alt-svc: h3=":443"; ma=86400
Open service 172.67.72.133:80 · tv.zostream.in
2026-01-22 08:03
HTTP/1.1 301 Moved Permanently
Date: Thu, 22 Jan 2026 08:03:26 GMT
Content-Length: 0
Connection: close
Location: https://tv.zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=1TJuaNkh%2BueePjOJ0H%2FdWYR1v16fVN8dnrmVtuoQGjjnHzVnMvRHtQbjUIjlF28x%2BGXCrukYTxDHPtSHlejqtP%2BtjRkinOI%2B5e8Jxiw%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=18,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9c1d88ecec3e9761-FRA
alt-svc: h3=":443"; ma=86400
Open service 104.26.1.178:8443 · play.zostream.in
2026-01-22 08:03
HTTP/1.1 522 <none> Date: Thu, 22 Jan 2026 08:03:37 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin Server-Timing: cfEdge;dur=19364,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9c1d88b8ae1fab8d-YYZ alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 2606:4700:20::681a:1b2:8443 · play.zostream.in
2026-01-22 08:03
HTTP/1.1 522 <none> Date: Thu, 22 Jan 2026 08:03:38 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin Server-Timing: cfEdge;dur=19641,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9c1d88b7e99a5e7c-EWR alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 2606:4700:20::681a:b2:80 · play.zostream.in
2026-01-22 08:03
HTTP/1.1 301 Moved Permanently
Date: Thu, 22 Jan 2026 08:03:17 GMT
Content-Length: 0
Connection: close
Location: https://play.zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=UXkE9O34RGFzzkwhBk8srqqdbGrllttwl4tiAaIV8NFmiGYf9Z6W2NohWU5ZiY1lkpEfvYHHgd1R9Yq2FFp8gxd0tE6amjUBiNudBwu3cJwSTtlaJ%2B1onsZidg%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=18,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9c1d88b16d291e3b-SIN
alt-svc: h3=":443"; ma=86400
Open service 172.67.72.133:80 · play.zostream.in
2026-01-22 08:03
HTTP/1.1 301 Moved Permanently
Date: Thu, 22 Jan 2026 08:03:17 GMT
Content-Length: 0
Connection: close
Location: https://play.zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=j89n3ZVSzE0vvXOJ9xZYJp2Uzn9NR02JeNF0%2B%2FN11VZ1XG4MbPCqyfh86%2BUEJ6nW4uOojWrPgU8dMn0ySlYNoucNIzaf6LlEGF4Hlo6Rlg%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=12,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9c1d88b15806cd6e-SJC
alt-svc: h3=":443"; ma=86400
Open service 104.26.0.178:80 · play.zostream.in
2026-01-22 08:03
HTTP/1.1 301 Moved Permanently
Date: Thu, 22 Jan 2026 08:03:17 GMT
Content-Length: 0
Connection: close
Location: https://play.zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=34XFVEGXbNTuOcUoYEX8q9nRRoAVMnRgueLnj2wzmAiri6tvkwaVbklt4Pw5g5jkw%2FiGLBm84lBLQkcxP3gx%2FH%2BOSmCvaspdD6Udf55DrA%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=9,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9c1d88b14ce3eb28-SJC
alt-svc: h3=":443"; ma=86400
Open service 2606:4700:20::681a:b2:8443 · play.zostream.in
2026-01-22 08:03
HTTP/1.1 522 <none> Date: Thu, 22 Jan 2026 08:03:37 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin Server-Timing: cfEdge;dur=19549,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9c1d88b769844ada-EWR alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 104.26.1.178:80 · play.zostream.in
2026-01-22 08:03
HTTP/1.1 301 Moved Permanently
Date: Thu, 22 Jan 2026 08:03:17 GMT
Content-Length: 0
Connection: close
Location: https://play.zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=OT0o6B2mCjfFishvq21spjGORvRVabdMFu187Ox9kO3lLMDi%2FMFzPr3xtKEE%2F8%2FgwTOoXWG4Ty4WswuroMTDEofQ1p41pHpAoc0pyFdvrA%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=16,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9c1d88b11d208cca-EWR
alt-svc: h3=":443"; ma=86400
Open service 2606:4700:20::681a:1b2:80 · play.zostream.in
2026-01-22 08:03
HTTP/1.1 301 Moved Permanently
Date: Thu, 22 Jan 2026 08:03:17 GMT
Content-Length: 0
Connection: close
Location: https://play.zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=bAtMiHiGx%2BfCTzO503bp9O3txJSHzGiToRjUR9O1Aska36jeb1VbONL%2BZYVQpjav8Lf8b%2FRokOHcN84gPzhuEV1PRFc4XbnTq93Xa6ejO6VgoyaLueWEdx1eSQ%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=14,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9c1d88b0e8d33687-FRA
alt-svc: h3=":443"; ma=86400
Open service 172.67.72.133:443 · play.zostream.in
2026-01-22 08:03
HTTP/1.1 200 OK
Date: Thu, 22 Jan 2026 08:03:18 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
Cache-Control: no-cache, private
link: <https://play.zostream.in/build/assets/app-Cf5YmJTu.css>; rel="preload"; as="style", <https://play.zostream.in/build/assets/app-u_lrMTq3.js>; rel="modulepreload"
vary: X-Inertia
vary: accept-encoding
Set-Cookie: XSRF-TOKEN=eyJpdiI6Ikd2Z1RCb2xydmNqelg2UTFGNjJVK2c9PSIsInZhbHVlIjoiem5PZ21TQzBubG9oaEJuVzRXakpqWVJnNUk5cWs5VEswR0RVV3Bmbmx3WDh3T0F5ZU9sa2RmQUV1MVNDVVVtWmZmdGpwWm1UbWV3M0xCemo4T05wdXo5SEdKcm9YTko0QnFSL0JOdExFbFZiTXRmZUpuRldUd2JRNTFacHE1dWIiLCJtYWMiOiI5NmQ2ZjY2YmM0OTAxM2M0MTRmNGEzZTUyMjM2YzVjYzJjNjEzNjVlNWFjZjMwNGZiZTBhYjgwYmM2YTUzMDg3IiwidGFnIjoiIn0%3D; expires=Thu, 22 Jan 2026 10:03:18 GMT; Max-Age=7200; path=/; secure; samesite=lax
Set-Cookie: zo_stream_play_session=eyJpdiI6IjJ3NHIyNldCeTd4N2VRbFVFSjRWbFE9PSIsInZhbHVlIjoicXQ0NTZXZk5sYjRLbVpPZ0lpSkpuUFdHTlp5VEFYSTJpeTIwVlJnQVJVMjJFeFozWEIrYUdMVXJhZ0R6RFRuUGVobzdyS1ZWenNEVnQwNjZrb1cvUEhrSCtvNWVMaHdGYXZsZkFldmRpK0NSc2hsRVQ5MzlVY1ZmcmdYV2paemsiLCJtYWMiOiI2MDUzNjczNGQwNjFkNDkwYTM0ZDRiMWM5NGU3MWRkMWU2NDBhYTJkNjhlNjIyOGQxZTMyZGUxNjA0OTMxNWU4IiwidGFnIjoiIn0%3D; expires=Thu, 22 Jan 2026 10:03:18 GMT; Max-Age=7200; path=/; secure; httponly; samesite=lax
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=SijjHoQbnQZdSQ4LMpHbSgPWX7cEEfk2imuBOHTQI%2FxaDxGSqvYSr4BW4VcTp%2FmiIji15szdj%2FfVb5L6XfLZmKZYLma2m1whOFUHYDYogA%3D%3D"}]}
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=8,cfOrigin;dur=740
CF-RAY: 9c1d88b5dcf4f46e-SJC
alt-svc: h3=":443"; ma=86400
Page title: Zo Steam Play
<!DOCTYPE html>
<html lang="en" class="">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script>
(function() {
const appearance = 'system';
if (appearance === 'system') {
const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
if (prefersDark) {
document.documentElement.classList.add('dark');
}
}
})();
</script>
<script
src="https://unpkg.com/@dotlottie/player-component@2.7.12/dist/dotlottie-player.mjs"
type="module"></script>
<style>
html {
background-color: oklch(1 0 0);
}
html.dark {
background-color: oklch(0.145 0 0);
}
</style>
<title inertia>Zo Steam Play</title>
<link rel="preconnect" href="https://fonts.bunny.net">
<link href="https://fonts.bunny.net/css?family=instrument-sans:400,500,600" rel="stylesheet" />
<script type="text/javascript">const Ziggy={"url":"https:\/\/play.zostream.in","port":null,"defaults":{},"routes":{"decrypt":{"uri":"decrypt","methods":["POST"]},"stream.proxy":{"uri":"stream-proxy\/{token}","methods":["GET","HEAD"],"parameters":["token"]},"proxy.post":{"uri":"proxy","methods":["POST"]},"proxy.get":{"uri":"proxy","methods":["GET","HEAD"]},"ProfileEdit":{"uri":"user","methods":["GET","HEAD"]},"register":{"uri":"register","methods":["GET","HEAD"]},"login":{"uri":"login","methods":["GET","HEAD"]},"password.request":{"uri":"forgot-password","methods":["GET","HEAD"]},"password.reset":{"uri":"forgot-password","methods":["POST"]},"contact":{"uri":"settings\/contact","methods":["GET","HEAD"]},"profile.edit":{"uri":"settings\/profile","methods":["GET","HEAD"]},"editPro":{"uri":"settings\/user","methods":["GET","HEAD"]},"home":{"uri":"\/","methods":["GET","HEAD"]},"search":{"uri":"search","methods":["GET","HEAD"]},"category":{"uri":"category","methods":["GET","HEAD"]},"subscription":{"uri":"subscription","methods":["GET","HEAD"]},"about":{"uri":"about","methods":["GET","HEAD"]},"help":{"uri":"help","methods":["GET","HEAD"]},"faq":{"uri":"faq","methods":["GET","HEAD"]},"wishlist":{"uri":"wishlist","methods":["GET","HEAD"]},"movie.detail":{"uri":"detail\/{id}","methods":["GET","HEAD"],"parameters":["id"]},"viewall":{"uri":"viewall\/{title}\/{category}","methods":["GET","HEAD"],"parameters":["title","category"]},"storage.local":{"uri":"storage\/{path}","methods":["GET","HEAD"],"wheres":{"path":".*"},"parameters":["path"]}}};!function(t,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define(r):(t||self).route=r()}(this,function(){function t(t,r){for(var n=0;n<r.length;n++){var e=r[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,u(e.key),e)}}function r(r,n,e){return n&&t(r.prototype,n),e&&t(r,e),Object.defineProperty(r,"prototype",{writable:!1}),r}function n(){return n=Object.assign?Object.assign.bind():function(t){for(var r=1;r<arguments.length;r++){var n=arguments[r];for(var e in n)({}).hasOwnProperty.call(n,e)&&(t[e]=n[e])}return t},n.apply(null,arguments)}function e(t){return e=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},e(t)}function o(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(o=function(){return!!t})()}function i(t,r){return i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t},i(t,r)}function u(t){var r=function(t){if("object"!=typeof t||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==typeof r?r:r+""}function f(t){var r="function"==ty
Open service 104.26.1.178:443 · play.zostream.in
2026-01-22 08:03
HTTP/1.1 200 OK
Date: Thu, 22 Jan 2026 08:03:18 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
Cache-Control: no-cache, private
link: <https://play.zostream.in/build/assets/app-Cf5YmJTu.css>; rel="preload"; as="style", <https://play.zostream.in/build/assets/app-u_lrMTq3.js>; rel="modulepreload"
vary: X-Inertia
vary: accept-encoding
Set-Cookie: XSRF-TOKEN=eyJpdiI6IjNJbzFqYjdVVFNWZENiTWwzUlF5MUE9PSIsInZhbHVlIjoibDlTcEtFNkV0TVA1Zk04VmlINDd4QVpoUGVZMVJtTTlZTFRLM09ZT3laOXI1QU1HeDhuTzVyVVhQaXZhRUZTZlhOTno2ZTlNS2JhVGRZSDdQQUU5WFNiV284dWRMYzgyRE55czRNTDdWR3JkTHhnQ1ExUDcwQXVtSTVWVmRnZE0iLCJtYWMiOiI5MDBlNmQxMWE1NmFlNTY2N2EwYmJhZWM1M2ZjZjkwMDM0NWU1NjBiNjVhZWNkMWY4N2Q3NzJiNTZiMjM1OTYzIiwidGFnIjoiIn0%3D; expires=Thu, 22 Jan 2026 10:03:18 GMT; Max-Age=7200; path=/; secure; samesite=lax
Set-Cookie: zo_stream_play_session=eyJpdiI6ImNOeVVzcEZrMWVGVFFVZXF0eWE5M0E9PSIsInZhbHVlIjoiWkNPQWVNeUgrQndpVmtOZlhQZ0pnakpSZXNIMGdLZk43SU9zQjcyZXQ5dlQzWm5kVTlkY2ZEbWFkZ214VTJxNVA4QUFEQlY5bFJ2eVFFV2JPZ1VVblN2THYrTnBiNmpEU2hmdytNN2huOFErWmhBRzVTSWlWTXJsL1hiZHRFME0iLCJtYWMiOiI1MGZkMTU0ZGEwOWUxYTBhYjg0ZDljMTY3ZmNlYTMzZTJhYzk4MDVhYTkyZTI4MDY2NzY2NzY3MDg5ZTIxMzkxIiwidGFnIjoiIn0%3D; expires=Thu, 22 Jan 2026 10:03:18 GMT; Max-Age=7200; path=/; secure; httponly; samesite=lax
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=DpfyQAN351k2XctKa6und1lb7RDWTor57nTVhWIyCFMM%2FZbJUpYfykXHaQCViAo%2BfY0k5LlLYsjiGtA%2FL5yibXo0SHM9qkNTv8GlMg8%2B1w%3D%3D"}]}
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=14,cfOrigin;dur=539
CF-RAY: 9c1d88b528a8ce16-SIN
alt-svc: h3=":443"; ma=86400
Page title: Zo Steam Play
<!DOCTYPE html>
<html lang="en" class="">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script>
(function() {
const appearance = 'system';
if (appearance === 'system') {
const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
if (prefersDark) {
document.documentElement.classList.add('dark');
}
}
})();
</script>
<script
src="https://unpkg.com/@dotlottie/player-component@2.7.12/dist/dotlottie-player.mjs"
type="module"></script>
<style>
html {
background-color: oklch(1 0 0);
}
html.dark {
background-color: oklch(0.145 0 0);
}
</style>
<title inertia>Zo Steam Play</title>
<link rel="preconnect" href="https://fonts.bunny.net">
<link href="https://fonts.bunny.net/css?family=instrument-sans:400,500,600" rel="stylesheet" />
<script type="text/javascript">const Ziggy={"url":"https:\/\/play.zostream.in","port":null,"defaults":{},"routes":{"decrypt":{"uri":"decrypt","methods":["POST"]},"stream.proxy":{"uri":"stream-proxy\/{token}","methods":["GET","HEAD"],"parameters":["token"]},"proxy.post":{"uri":"proxy","methods":["POST"]},"proxy.get":{"uri":"proxy","methods":["GET","HEAD"]},"ProfileEdit":{"uri":"user","methods":["GET","HEAD"]},"register":{"uri":"register","methods":["GET","HEAD"]},"login":{"uri":"login","methods":["GET","HEAD"]},"password.request":{"uri":"forgot-password","methods":["GET","HEAD"]},"password.reset":{"uri":"forgot-password","methods":["POST"]},"contact":{"uri":"settings\/contact","methods":["GET","HEAD"]},"profile.edit":{"uri":"settings\/profile","methods":["GET","HEAD"]},"editPro":{"uri":"settings\/user","methods":["GET","HEAD"]},"home":{"uri":"\/","methods":["GET","HEAD"]},"search":{"uri":"search","methods":["GET","HEAD"]},"category":{"uri":"category","methods":["GET","HEAD"]},"subscription":{"uri":"subscription","methods":["GET","HEAD"]},"about":{"uri":"about","methods":["GET","HEAD"]},"help":{"uri":"help","methods":["GET","HEAD"]},"faq":{"uri":"faq","methods":["GET","HEAD"]},"wishlist":{"uri":"wishlist","methods":["GET","HEAD"]},"movie.detail":{"uri":"detail\/{id}","methods":["GET","HEAD"],"parameters":["id"]},"viewall":{"uri":"viewall\/{title}\/{category}","methods":["GET","HEAD"],"parameters":["title","category"]},"storage.local":{"uri":"storage\/{path}","methods":["GET","HEAD"],"wheres":{"path":".*"},"parameters":["path"]}}};!function(t,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define(r):(t||self).route=r()}(this,function(){function t(t,r){for(var n=0;n<r.length;n++){var e=r[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,u(e.key),e)}}function r(r,n,e){return n&&t(r.prototype,n),e&&t(r,e),Object.defineProperty(r,"prototype",{writable:!1}),r}function n(){return n=Object.assign?Object.assign.bind():function(t){for(var r=1;r<arguments.length;r++){var n=arguments[r];for(var e in n)({}).hasOwnProperty.call(n,e)&&(t[e]=n[e])}return t},n.apply(null,arguments)}function e(t){return e=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},e(t)}function o(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(o=function(){return!!t})()}function i(t,r){return i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t},i(t,r)}function u(t){var r=function(t){if("object"!=typeof t||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==typeof r?r:r+""}function f(t){var r="function"==ty
Open service 104.26.0.178:443 · play.zostream.in
2026-01-22 08:03
HTTP/1.1 200 OK
Date: Thu, 22 Jan 2026 08:03:17 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
Cache-Control: no-cache, private
link: <https://play.zostream.in/build/assets/app-Cf5YmJTu.css>; rel="preload"; as="style", <https://play.zostream.in/build/assets/app-u_lrMTq3.js>; rel="modulepreload"
vary: X-Inertia
vary: accept-encoding
Set-Cookie: XSRF-TOKEN=eyJpdiI6IjUvbWpiZ29vU0tNVHZ0c3BOTHVxVWc9PSIsInZhbHVlIjoiVTFGRCsrdUN1YTJYQksySEUzNHV1Q2dRVFNSOHUrbGc3V043dFlPTDIvQmRzWFpjdXgzTElSN2ZxQ1JKYzdCSXhqa3ZqbS81MUc3eXlRbWloM05wS2JLOXgvazhuL1R4NXlWbTg2bGxoQ28ybWxIcXFoN1BlTWZwVGIrZkZYQzQiLCJtYWMiOiI4ZjU2MjE0NGNjMmFkYTIzZDY4MjFiYWE2ZDU2MzU1OTRlNjBmZGVjNTlkYzgxODliZmNiYmJmZTBhOTI3ZGQ2IiwidGFnIjoiIn0%3D; expires=Thu, 22 Jan 2026 10:03:17 GMT; Max-Age=7200; path=/; secure; samesite=lax
Set-Cookie: zo_stream_play_session=eyJpdiI6Im1ta3hFOURIektHN1E0NW9JSHh0Z2c9PSIsInZhbHVlIjoiU01rbDFhalBuZ0lTanVWaVp6b3BHWTcxejdFOFZaNEZCVTg2am56VUxpLzZjaXZ0cC81bWRsZE5OWFI4LzlIbklKV3JudXFXR2p0ZW9Ma0VKOGlQdlU3blZhYjhNTTYvMDgzTG5qYTFhK242VmROTGVhUFFVYWVWU09GcUt5dDkiLCJtYWMiOiJhMjZhMGE3NzI1ZmQ2NzRmNDJlNmFiY2Y2NDAzZWQxNmVmYjg2OWUxNGViNThhM2NkMmU0OWE0YTNhNjZkNjBjIiwidGFnIjoiIn0%3D; expires=Thu, 22 Jan 2026 10:03:17 GMT; Max-Age=7200; path=/; secure; httponly; samesite=lax
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=FHufujN%2FZD6t4MO1GyNF9ii4HbGZRBAfiFl45aEpSV1WVSAZ0A%2Bs3QDto7IkDvH1UI0hnLgP0zbyT3P5yfO7ShdmAQDWD29kFXm4ggz8Mg%3D%3D"}]}
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=9,cfOrigin;dur=26
CF-RAY: 9c1d88b0f9e50c49-AMS
alt-svc: h3=":443"; ma=86400
Page title: Zo Steam Play
<!DOCTYPE html>
<html lang="en" class="">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script>
(function() {
const appearance = 'system';
if (appearance === 'system') {
const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
if (prefersDark) {
document.documentElement.classList.add('dark');
}
}
})();
</script>
<script
src="https://unpkg.com/@dotlottie/player-component@2.7.12/dist/dotlottie-player.mjs"
type="module"></script>
<style>
html {
background-color: oklch(1 0 0);
}
html.dark {
background-color: oklch(0.145 0 0);
}
</style>
<title inertia>Zo Steam Play</title>
<link rel="preconnect" href="https://fonts.bunny.net">
<link href="https://fonts.bunny.net/css?family=instrument-sans:400,500,600" rel="stylesheet" />
<script type="text/javascript">const Ziggy={"url":"https:\/\/play.zostream.in","port":null,"defaults":{},"routes":{"decrypt":{"uri":"decrypt","methods":["POST"]},"stream.proxy":{"uri":"stream-proxy\/{token}","methods":["GET","HEAD"],"parameters":["token"]},"proxy.post":{"uri":"proxy","methods":["POST"]},"proxy.get":{"uri":"proxy","methods":["GET","HEAD"]},"ProfileEdit":{"uri":"user","methods":["GET","HEAD"]},"register":{"uri":"register","methods":["GET","HEAD"]},"login":{"uri":"login","methods":["GET","HEAD"]},"password.request":{"uri":"forgot-password","methods":["GET","HEAD"]},"password.reset":{"uri":"forgot-password","methods":["POST"]},"contact":{"uri":"settings\/contact","methods":["GET","HEAD"]},"profile.edit":{"uri":"settings\/profile","methods":["GET","HEAD"]},"editPro":{"uri":"settings\/user","methods":["GET","HEAD"]},"home":{"uri":"\/","methods":["GET","HEAD"]},"search":{"uri":"search","methods":["GET","HEAD"]},"category":{"uri":"category","methods":["GET","HEAD"]},"subscription":{"uri":"subscription","methods":["GET","HEAD"]},"about":{"uri":"about","methods":["GET","HEAD"]},"help":{"uri":"help","methods":["GET","HEAD"]},"faq":{"uri":"faq","methods":["GET","HEAD"]},"wishlist":{"uri":"wishlist","methods":["GET","HEAD"]},"movie.detail":{"uri":"detail\/{id}","methods":["GET","HEAD"],"parameters":["id"]},"viewall":{"uri":"viewall\/{title}\/{category}","methods":["GET","HEAD"],"parameters":["title","category"]},"storage.local":{"uri":"storage\/{path}","methods":["GET","HEAD"],"wheres":{"path":".*"},"parameters":["path"]}}};!function(t,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define(r):(t||self).route=r()}(this,function(){function t(t,r){for(var n=0;n<r.length;n++){var e=r[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,u(e.key),e)}}function r(r,n,e){return n&&t(r.prototype,n),e&&t(r,e),Object.defineProperty(r,"prototype",{writable:!1}),r}function n(){return n=Object.assign?Object.assign.bind():function(t){for(var r=1;r<arguments.length;r++){var n=arguments[r];for(var e in n)({}).hasOwnProperty.call(n,e)&&(t[e]=n[e])}return t},n.apply(null,arguments)}function e(t){return e=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},e(t)}function o(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(o=function(){return!!t})()}function i(t,r){return i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t},i(t,r)}function u(t){var r=function(t){if("object"!=typeof t||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==typeof r?r:r+""}function f(t){var r="function"==ty
Open service 2606:4700:20::681a:1b2:443 · play.zostream.in
2026-01-22 08:03
HTTP/1.1 200 OK
Date: Thu, 22 Jan 2026 08:03:18 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
Cache-Control: no-cache, private
link: <https://play.zostream.in/build/assets/app-Cf5YmJTu.css>; rel="preload"; as="style", <https://play.zostream.in/build/assets/app-u_lrMTq3.js>; rel="modulepreload"
vary: X-Inertia
vary: accept-encoding
Set-Cookie: XSRF-TOKEN=eyJpdiI6Imd1a05yQVdaalR3aVhLcVlFRGR5cXc9PSIsInZhbHVlIjoidERBVUIxUWZPUUJubHRrWXk5LzhnSVZwOEhUdTRGdDFxTm1RRG9nUXdXYU8rWHh2d0hvV3NUbERVcG1GU3NsTDlWNFYydFhoUUlSZDQ5UlRNV0FidFlhN2taZzdqNTNRZ0lOclc3eDdZNktFbmpxL2w2cCtmL1JZdjNWMUh6bEYiLCJtYWMiOiJlOWIxZmI5YzU3OGFkNDRhM2M5MTEwNDAzZTg2YWIzM2QwODFiNDUzZGI0MWVhNzgzYmMwZjBhZGQ3MzNmOGZmIiwidGFnIjoiIn0%3D; expires=Thu, 22 Jan 2026 10:03:18 GMT; Max-Age=7200; path=/; secure; samesite=lax
Set-Cookie: zo_stream_play_session=eyJpdiI6InBld2EzMzlJTVVBQVhTZjNVckxndUE9PSIsInZhbHVlIjoiRWJEQzNkSEdJUHo4YXlQSzBHTXg1eWRUM25OZGlHYi9EUUVJT3ZDRmtoMFVMTTBOa3d5cGRKeDhYUDFJRFpldW91N1dCNEkwUExXSlBMUklhSExNa0Ztb2tBR212QkNoWXhwRENibnREVm5yb0Z3Q1JjTTZKanFSMTVOSnJweGIiLCJtYWMiOiIzNjRjNDJjMDAzNjdmYzc4NjU5MjA2MWMyYzYyN2Q0M2QyMDJlZmQ0YjY3NWI0ZWMyMDlhMDY5NDkwMzdjMDUwIiwidGFnIjoiIn0%3D; expires=Thu, 22 Jan 2026 10:03:18 GMT; Max-Age=7200; path=/; secure; httponly; samesite=lax
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=SZ0F%2BeGY0VxDBN%2FXRu9xx1j1NIPF51EtE2ZU0BF%2BUt%2FTTm0g9WxI1v4TL%2B9csfl80lk4QU8U63019oM4IT0oCi16r0en10ilxiy1W3dadLNg8DlXzzkj3o74YA%3D%3D"}]}
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=5,cfOrigin;dur=489
CF-RAY: 9c1d88b3ad8bebb8-YYZ
alt-svc: h3=":443"; ma=86400
Page title: Zo Steam Play
<!DOCTYPE html>
<html lang="en" class="">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script>
(function() {
const appearance = 'system';
if (appearance === 'system') {
const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
if (prefersDark) {
document.documentElement.classList.add('dark');
}
}
})();
</script>
<script
src="https://unpkg.com/@dotlottie/player-component@2.7.12/dist/dotlottie-player.mjs"
type="module"></script>
<style>
html {
background-color: oklch(1 0 0);
}
html.dark {
background-color: oklch(0.145 0 0);
}
</style>
<title inertia>Zo Steam Play</title>
<link rel="preconnect" href="https://fonts.bunny.net">
<link href="https://fonts.bunny.net/css?family=instrument-sans:400,500,600" rel="stylesheet" />
<script type="text/javascript">const Ziggy={"url":"https:\/\/play.zostream.in","port":null,"defaults":{},"routes":{"decrypt":{"uri":"decrypt","methods":["POST"]},"stream.proxy":{"uri":"stream-proxy\/{token}","methods":["GET","HEAD"],"parameters":["token"]},"proxy.post":{"uri":"proxy","methods":["POST"]},"proxy.get":{"uri":"proxy","methods":["GET","HEAD"]},"ProfileEdit":{"uri":"user","methods":["GET","HEAD"]},"register":{"uri":"register","methods":["GET","HEAD"]},"login":{"uri":"login","methods":["GET","HEAD"]},"password.request":{"uri":"forgot-password","methods":["GET","HEAD"]},"password.reset":{"uri":"forgot-password","methods":["POST"]},"contact":{"uri":"settings\/contact","methods":["GET","HEAD"]},"profile.edit":{"uri":"settings\/profile","methods":["GET","HEAD"]},"editPro":{"uri":"settings\/user","methods":["GET","HEAD"]},"home":{"uri":"\/","methods":["GET","HEAD"]},"search":{"uri":"search","methods":["GET","HEAD"]},"category":{"uri":"category","methods":["GET","HEAD"]},"subscription":{"uri":"subscription","methods":["GET","HEAD"]},"about":{"uri":"about","methods":["GET","HEAD"]},"help":{"uri":"help","methods":["GET","HEAD"]},"faq":{"uri":"faq","methods":["GET","HEAD"]},"wishlist":{"uri":"wishlist","methods":["GET","HEAD"]},"movie.detail":{"uri":"detail\/{id}","methods":["GET","HEAD"],"parameters":["id"]},"viewall":{"uri":"viewall\/{title}\/{category}","methods":["GET","HEAD"],"parameters":["title","category"]},"storage.local":{"uri":"storage\/{path}","methods":["GET","HEAD"],"wheres":{"path":".*"},"parameters":["path"]}}};!function(t,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define(r):(t||self).route=r()}(this,function(){function t(t,r){for(var n=0;n<r.length;n++){var e=r[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,u(e.key),e)}}function r(r,n,e){return n&&t(r.prototype,n),e&&t(r,e),Object.defineProperty(r,"prototype",{writable:!1}),r}function n(){return n=Object.assign?Object.assign.bind():function(t){for(var r=1;r<arguments.length;r++){var n=arguments[r];for(var e in n)({}).hasOwnProperty.call(n,e)&&(t[e]=n[e])}return t},n.apply(null,arguments)}function e(t){return e=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},e(t)}function o(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(o=function(){return!!t})()}function i(t,r){return i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t},i(t,r)}function u(t){var r=function(t){if("object"!=typeof t||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==typeof r?r:r+""}function f(t){var r="function"==ty
Open service 2606:4700:20::ac43:4885:80 · play.zostream.in
2026-01-22 08:03
HTTP/1.1 301 Moved Permanently
Date: Thu, 22 Jan 2026 08:03:17 GMT
Content-Length: 0
Connection: close
Location: https://play.zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=flfL71n0B1AuD3N597Ouj5pRiGH1g20aApKSlbIS0rQ0zg9CLkttRWb7b7WsPI7S8%2ByIZPscUQBY07%2FBs%2BZLdEaCPdJLIOjJE8bGcQZMiY0ae8bru8sEwTOPBw%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=9,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9c1d88b09efae226-EWR
alt-svc: h3=":443"; ma=86400
Open service 2606:4700:20::ac43:4885:443 · play.zostream.in
2026-01-22 08:03
HTTP/1.1 200 OK
Date: Thu, 22 Jan 2026 08:03:17 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
Cache-Control: no-cache, private
link: <https://play.zostream.in/build/assets/app-Cf5YmJTu.css>; rel="preload"; as="style", <https://play.zostream.in/build/assets/app-u_lrMTq3.js>; rel="modulepreload"
vary: X-Inertia
vary: accept-encoding
Set-Cookie: XSRF-TOKEN=eyJpdiI6IkZsSlJnNXQxRUtialBzYWRGcm14cGc9PSIsInZhbHVlIjoiWFJOdHNhbTFkOGk2WVFvd21QZG00b0N1OEZuRW5qTmlYZE9hSmJpZ0pWM3oyR1NwKzhxNVc3YVFiVU1DOFBMMm5NTDU1QjBGNkR4M2tQdkVaRFppbFhBazJCMjFZT1Z6Zk94TlZBblFaQnlIM3kwOUVHd0dWeDdkQmVhR3drS1UiLCJtYWMiOiI0MjI3ZWVkNTJlNTIyOGE4YjI3OGM2ODUzZTJkZWFmZWI5MzRkYzc1YzA2YmFjOGFhMWRiZTRjNjc1MTlmOGFmIiwidGFnIjoiIn0%3D; expires=Thu, 22 Jan 2026 10:03:17 GMT; Max-Age=7200; path=/; secure; samesite=lax
Set-Cookie: zo_stream_play_session=eyJpdiI6Imx1VkR5cVJjNDhZZkNvRjNnQ3ovUkE9PSIsInZhbHVlIjoiZHUzQjVXaVZWNENKTGFaMEpqcUNhSlB5ZjdKdVlMTTRWdGNSTFd6andRSUE1RTZiQ1FnVStkRjF5VFZ2SjlteXRBUjJVRVdkRWhKZUFQOFA2cUxuamVKc2gwVDQrYkVwRFRrYXhJVSt1SDhabWZ3SmV1VlE2bGQ1bW1CUHBzVmsiLCJtYWMiOiJkMDE2OTYwYzUyZjc1Mzc4MzNiZDVkZWQ3NTc0ODFmMzY5ZmJjNjZiODQyZjczNjExNWQxZGJjZmMzZTY2MzY4IiwidGFnIjoiIn0%3D; expires=Thu, 22 Jan 2026 10:03:17 GMT; Max-Age=7200; path=/; secure; httponly; samesite=lax
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=ntMxWlI50wHVdngLY6pXqJUPSsbpYd8iJN%2FYult7AOJoBjxmcoNGuSbqGpG3cvFf0Z3T6ErZzJU26gMTx1Jm2Eit%2FvQPZwOnmnAQPJ2JNo7tOaHdwT8elmc%3D"}]}
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=8,cfOrigin;dur=371
CF-RAY: 9c1d88b2fb53ff90-EWR
alt-svc: h3=":443"; ma=86400
Page title: Zo Steam Play
<!DOCTYPE html>
<html lang="en" class="">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script>
(function() {
const appearance = 'system';
if (appearance === 'system') {
const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
if (prefersDark) {
document.documentElement.classList.add('dark');
}
}
})();
</script>
<script
src="https://unpkg.com/@dotlottie/player-component@2.7.12/dist/dotlottie-player.mjs"
type="module"></script>
<style>
html {
background-color: oklch(1 0 0);
}
html.dark {
background-color: oklch(0.145 0 0);
}
</style>
<title inertia>Zo Steam Play</title>
<link rel="preconnect" href="https://fonts.bunny.net">
<link href="https://fonts.bunny.net/css?family=instrument-sans:400,500,600" rel="stylesheet" />
<script type="text/javascript">const Ziggy={"url":"https:\/\/play.zostream.in","port":null,"defaults":{},"routes":{"decrypt":{"uri":"decrypt","methods":["POST"]},"stream.proxy":{"uri":"stream-proxy\/{token}","methods":["GET","HEAD"],"parameters":["token"]},"proxy.post":{"uri":"proxy","methods":["POST"]},"proxy.get":{"uri":"proxy","methods":["GET","HEAD"]},"ProfileEdit":{"uri":"user","methods":["GET","HEAD"]},"register":{"uri":"register","methods":["GET","HEAD"]},"login":{"uri":"login","methods":["GET","HEAD"]},"password.request":{"uri":"forgot-password","methods":["GET","HEAD"]},"password.reset":{"uri":"forgot-password","methods":["POST"]},"contact":{"uri":"settings\/contact","methods":["GET","HEAD"]},"profile.edit":{"uri":"settings\/profile","methods":["GET","HEAD"]},"editPro":{"uri":"settings\/user","methods":["GET","HEAD"]},"home":{"uri":"\/","methods":["GET","HEAD"]},"search":{"uri":"search","methods":["GET","HEAD"]},"category":{"uri":"category","methods":["GET","HEAD"]},"subscription":{"uri":"subscription","methods":["GET","HEAD"]},"about":{"uri":"about","methods":["GET","HEAD"]},"help":{"uri":"help","methods":["GET","HEAD"]},"faq":{"uri":"faq","methods":["GET","HEAD"]},"wishlist":{"uri":"wishlist","methods":["GET","HEAD"]},"movie.detail":{"uri":"detail\/{id}","methods":["GET","HEAD"],"parameters":["id"]},"viewall":{"uri":"viewall\/{title}\/{category}","methods":["GET","HEAD"],"parameters":["title","category"]},"storage.local":{"uri":"storage\/{path}","methods":["GET","HEAD"],"wheres":{"path":".*"},"parameters":["path"]}}};!function(t,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define(r):(t||self).route=r()}(this,function(){function t(t,r){for(var n=0;n<r.length;n++){var e=r[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,u(e.key),e)}}function r(r,n,e){return n&&t(r.prototype,n),e&&t(r,e),Object.defineProperty(r,"prototype",{writable:!1}),r}function n(){return n=Object.assign?Object.assign.bind():function(t){for(var r=1;r<arguments.length;r++){var n=arguments[r];for(var e in n)({}).hasOwnProperty.call(n,e)&&(t[e]=n[e])}return t},n.apply(null,arguments)}function e(t){return e=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},e(t)}function o(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(o=function(){return!!t})()}function i(t,r){return i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t},i(t,r)}function u(t){var r=function(t){if("object"!=typeof t||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==typeof r?r:r+""}function f(t){var r="function"==ty
Open service 104.26.0.178:8443 · play.zostream.in
2026-01-22 08:03
HTTP/1.1 522 <none> Date: Thu, 22 Jan 2026 08:03:37 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin Server-Timing: cfEdge;dur=19395,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9c1d88b6b9463a53-YYZ alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 2606:4700:20::ac43:4885:8443 · play.zostream.in
2026-01-22 08:03
HTTP/1.1 522 <none> Date: Thu, 22 Jan 2026 08:03:37 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin Server-Timing: cfEdge;dur=19297,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9c1d88b68d1efd0f-SIN alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 172.67.72.133:8443 · play.zostream.in
2026-01-22 08:03
HTTP/1.1 522 <none> Date: Thu, 22 Jan 2026 08:03:37 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin Server-Timing: cfEdge;dur=19695,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9c1d88b68f5dcdd6-SIN alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 2606:4700:20::681a:b2:443 · play.zostream.in
2026-01-22 08:03
HTTP/1.1 200 OK
Date: Thu, 22 Jan 2026 08:03:18 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
Cache-Control: no-cache, private
link: <https://play.zostream.in/build/assets/app-Cf5YmJTu.css>; rel="preload"; as="style", <https://play.zostream.in/build/assets/app-u_lrMTq3.js>; rel="modulepreload"
vary: X-Inertia
vary: accept-encoding
Set-Cookie: XSRF-TOKEN=eyJpdiI6ImFCNXpFTlBLVFJqRTU2MnRlcG8rdVE9PSIsInZhbHVlIjoiWDYzZ0xwLzZVOHVpMkFWc2JDbEFnM0xWdGZ5bmI1U1U5UkVrdkVhTmtiMld2T3NoY1Q5ZDJKSUxkZEtoOE5HL2N2d1lmaEpkNmp3MFdYZ1d3NVZkMWxyaFdub1J6bVJ4bzUwT3hvbUUvOFVvdWtpUmdGdzdOTVFENVhJRHVxMGEiLCJtYWMiOiJlMWZiMjVkZTVhYzBjNTk0MzJmYWQ5NTM3OGQ3OGVlY2UwNjhiMjIyOTA1NDU2ZjkwNDZmN2JkMDUyZTA1MzBhIiwidGFnIjoiIn0%3D; expires=Thu, 22 Jan 2026 10:03:18 GMT; Max-Age=7200; path=/; secure; samesite=lax
Set-Cookie: zo_stream_play_session=eyJpdiI6InVGaGhOVWlZTTlNVHZMckI3czhFY2c9PSIsInZhbHVlIjoiMFp2OHNxWDhmU0xCMmlQNDhSUWp2Y0lvaDdZOFRFZVI5bURDOHQ1eDdmN1pnRkFqTFpQcUYzYnRBOEN2ZTZBYzhqK3FheG9VWDhOdWRSdFZwQ3VnVHdXLzc1c0NTdVJRMjJ3dmc0OXdIVTVXcjBrcDVKSlo2bjkrTEtCblNRSU0iLCJtYWMiOiIzZTYyN2M2MDZiY2YyYmZhNzFjZTk3MmZjNmQyZDFlN2JiMDVhMzkwMDE5Y2FiNGY3ZGIyZGE4NWYzNGJmZTY2IiwidGFnIjoiIn0%3D; expires=Thu, 22 Jan 2026 10:03:18 GMT; Max-Age=7200; path=/; secure; httponly; samesite=lax
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=EwcuB0I9gvvsHb5WWIqGu2ZRPo4DSzPD59i8JTCMwC7%2Bk3MVYU9qMccbHV5fOdZmIaSpZQ1ez2rNDnGWAgXER4HY5y98N%2Bb%2Ffx89IWacrYmHFqOoIjaDV1Z2oA%3D%3D"}]}
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=39,cfOrigin;dur=696
CF-RAY: 9c1d88b5afd3a196-SIN
alt-svc: h3=":443"; ma=86400
Page title: Zo Steam Play
<!DOCTYPE html>
<html lang="en" class="">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script>
(function() {
const appearance = 'system';
if (appearance === 'system') {
const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
if (prefersDark) {
document.documentElement.classList.add('dark');
}
}
})();
</script>
<script
src="https://unpkg.com/@dotlottie/player-component@2.7.12/dist/dotlottie-player.mjs"
type="module"></script>
<style>
html {
background-color: oklch(1 0 0);
}
html.dark {
background-color: oklch(0.145 0 0);
}
</style>
<title inertia>Zo Steam Play</title>
<link rel="preconnect" href="https://fonts.bunny.net">
<link href="https://fonts.bunny.net/css?family=instrument-sans:400,500,600" rel="stylesheet" />
<script type="text/javascript">const Ziggy={"url":"https:\/\/play.zostream.in","port":null,"defaults":{},"routes":{"decrypt":{"uri":"decrypt","methods":["POST"]},"stream.proxy":{"uri":"stream-proxy\/{token}","methods":["GET","HEAD"],"parameters":["token"]},"proxy.post":{"uri":"proxy","methods":["POST"]},"proxy.get":{"uri":"proxy","methods":["GET","HEAD"]},"ProfileEdit":{"uri":"user","methods":["GET","HEAD"]},"register":{"uri":"register","methods":["GET","HEAD"]},"login":{"uri":"login","methods":["GET","HEAD"]},"password.request":{"uri":"forgot-password","methods":["GET","HEAD"]},"password.reset":{"uri":"forgot-password","methods":["POST"]},"contact":{"uri":"settings\/contact","methods":["GET","HEAD"]},"profile.edit":{"uri":"settings\/profile","methods":["GET","HEAD"]},"editPro":{"uri":"settings\/user","methods":["GET","HEAD"]},"home":{"uri":"\/","methods":["GET","HEAD"]},"search":{"uri":"search","methods":["GET","HEAD"]},"category":{"uri":"category","methods":["GET","HEAD"]},"subscription":{"uri":"subscription","methods":["GET","HEAD"]},"about":{"uri":"about","methods":["GET","HEAD"]},"help":{"uri":"help","methods":["GET","HEAD"]},"faq":{"uri":"faq","methods":["GET","HEAD"]},"wishlist":{"uri":"wishlist","methods":["GET","HEAD"]},"movie.detail":{"uri":"detail\/{id}","methods":["GET","HEAD"],"parameters":["id"]},"viewall":{"uri":"viewall\/{title}\/{category}","methods":["GET","HEAD"],"parameters":["title","category"]},"storage.local":{"uri":"storage\/{path}","methods":["GET","HEAD"],"wheres":{"path":".*"},"parameters":["path"]}}};!function(t,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define(r):(t||self).route=r()}(this,function(){function t(t,r){for(var n=0;n<r.length;n++){var e=r[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,u(e.key),e)}}function r(r,n,e){return n&&t(r.prototype,n),e&&t(r,e),Object.defineProperty(r,"prototype",{writable:!1}),r}function n(){return n=Object.assign?Object.assign.bind():function(t){for(var r=1;r<arguments.length;r++){var n=arguments[r];for(var e in n)({}).hasOwnProperty.call(n,e)&&(t[e]=n[e])}return t},n.apply(null,arguments)}function e(t){return e=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},e(t)}function o(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(o=function(){return!!t})()}function i(t,r){return i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t},i(t,r)}function u(t){var r=function(t){if("object"!=typeof t||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==typeof r?r:r+""}function f(t){var r="function"==ty
Open service 104.26.1.178:443 · web.zostream.in
2026-01-09 23:39
HTTP/1.1 200 OK
Date: Fri, 09 Jan 2026 23:39:53 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
last-modified: Wed, 08 Oct 2025 10:19:21 GMT
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=7,cfOrigin;dur=14
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=jf2t2f6%2Ft%2Bi2OEhUJzFKltTj6M%2FOjjKFtTIVoAkLN2yrwJp7Cu6Vm%2FsvbNX%2B%2F1KiPtnZbVTlzLUAixbsnvQd4OJIG%2FnptFTnwXCmT7RE"}]}
cf-cache-status: DYNAMIC
vary: accept-encoding
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
CF-RAY: 9bb7c6ce4e40aa76-AMS
alt-svc: h3=":443"; ma=86400
Page title: ZoStreamTV - Home
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>ZoStreamTV - Home</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="css/pages/home.css">
<link rel="stylesheet" href="css/pages/nav.css">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
</head>
<body>
<!-- Sidebar Navigation (unchanged) -->
<aside class="sidebar">
<div class="logo">
<img class="logo_img" src="logo.jpg" alt="ZoStreamTV Logo" />
<h2>ZoStreamTV</h2>
</div>
<ul class="nav-menu">
<li class="nav-item"><a href="home.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">home</i><span>Home</span></a></li>
<li class="nav-item"><a href="search.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">search</i><span>Search</span></a></li>
<li class="nav-item"><a href="category.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">movie</i><span>Category</span></a></li>
<li class="nav-item"><a href="profile.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">person</i><span>Profile</span></a></li>
</ul>
</aside>
<!-- Main Content -->
<main class="main-content">
<div id="hero-slider-container"></div>
<div id="movies-container">
<div class="loading">Loading content...</div>
</div>
</main>
<script type="module">
import { initializeRemoteControl } from './js/utils/uniRemote.js';
import { apiClient } from './js/service/apiClient.js';
import { protectPage } from './js/service/authGuard.js';
import { toast } from './js/utils/toastify.js';
import useAgeRestriction from './js/utils/useAgeRestriction.js';
let heroTrack, heroSlides, heroDots, currentHeroIndex = 1; // Start at 1 (the first REAL slide)
let isTransitioning = false;
const ageRestricted = useAgeRestriction.value;
document.addEventListener('DOMContentLoaded', async () => {
document.querySelectorAll('.nav-link').forEach(link => {
if (link.href === window.location.href) link.classList.add('active');
});
try {
await protectPage();
await loadContent();
setupNavigation();
} catch (error) {
showError('Authentication required. Redirecting...');
setTimeout(() => window.location.href = './login.html', 2000);
}
});
async function loadContent() {
// ... (This function is unchanged) ...
const moviesContainer = document.getElementById('movies-container');
try {
moviesContainer.innerHTML = '<div class="loading">Loading content...</div>';
const response = await apiClient.get(`/movies?age_restriction=${ageRestricted}`);
if (!response || Object.keys(response).length === 0) {
moviesContainer.innerHTML = '<div class="loading">No content available</div>';
return;
}
moviesContainer.innerHTML = '';
let regularCatIndex = 0;
Object.entries(response).forEach(([category, items]) => {
if (!items || items.length === 0) return;
if (category === 'Latest Update') {
createHeroSlider(items);
} else {
const section = document.createElement('div');
section.className = 'category-section';
section.innerHTML = `<h2 class="category-title">${category}</h2><div class="movies-scroller"><div class="movies-row" id="category-${regularCatIndex}"></div></div>`;
const row = section.querySelector('.movies-row');
items.forEach(item => row.appendChild(createMediaCard(item)));
moviesContainer.appendChild(section);
regularCatIndex++;
}
});
} catch (error) {
showError('Failed to load content. Please try again.');
}
}
function createHeroSlider(items) {
const sliderContainer = document.getElementById('hero-slider-container');
if (!sliderContainer || items.length === 0) return;
co
Open service 104.26.0.178:443 · tv.zostream.in
2026-01-09 00:07
HTTP/1.1 200 OK
Date: Fri, 09 Jan 2026 00:07:25 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
last-modified: Wed, 08 Oct 2025 10:41:59 GMT
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=9,cfOrigin;dur=245
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=2dWWqMVP%2BDlKAMDr2vWHHmOOUBsltvkVxrFNzKhrECK3OmwF3zxRvukhzWF83jGYUZBXjnysBEl%2FdPPZHHgwoSlytl6no5aKBsvnZZ4%3D"}]}
cf-cache-status: DYNAMIC
vary: accept-encoding
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
CF-RAY: 9bafb1c1bf6befa7-EWR
alt-svc: h3=":443"; ma=86400
Page title: ZoStreamTV - Home
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>ZoStreamTV - Home</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="css/pages/home.css">
<link rel="stylesheet" href="css/pages/nav.css">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
</head>
<body>
<!-- Sidebar Navigation (unchanged) -->
<aside class="sidebar">
<div class="logo">
<img class="logo_img" src="logo.jpg" alt="ZoStreamTV Logo" />
<h2>ZoStreamTV</h2>
</div>
<ul class="nav-menu">
<li class="nav-item"><a href="home.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">home</i><span>Home</span></a></li>
<li class="nav-item"><a href="search.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">search</i><span>Search</span></a></li>
<li class="nav-item"><a href="category.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">movie</i><span>Category</span></a></li>
<li class="nav-item"><a href="profile.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">person</i><span>Profile</span></a></li>
</ul>
</aside>
<!-- Main Content -->
<main class="main-content">
<div id="hero-slider-container"></div>
<div id="movies-container">
<div class="loading">Loading content...</div>
</div>
</main>
<script type="module">
import { initializeRemoteControl } from './js/utils/uniRemote.js';
import { apiClient } from './js/service/apiClient.js';
import { protectPage } from './js/service/authGuard.js';
import { toast } from './js/utils/toastify.js';
import useAgeRestriction from './js/utils/useAgeRestriction.js';
let heroTrack, heroSlides, heroDots, currentHeroIndex = 1; // Start at 1 (the first REAL slide)
let isTransitioning = false;
const ageRestricted = useAgeRestriction.value;
document.addEventListener('DOMContentLoaded', async () => {
document.querySelectorAll('.nav-link').forEach(link => {
if (link.href === window.location.href) link.classList.add('active');
});
try {
await protectPage();
await loadContent();
setupNavigation();
} catch (error) {
showError('Authentication required. Redirecting...');
setTimeout(() => window.location.href = './login.html', 2000);
}
});
async function loadContent() {
// ... (This function is unchanged) ...
const moviesContainer = document.getElementById('movies-container');
try {
moviesContainer.innerHTML = '<div class="loading">Loading content...</div>';
const response = await apiClient.get(`/movies?age_restriction=${ageRestricted}`);
if (!response || Object.keys(response).length === 0) {
moviesContainer.innerHTML = '<div class="loading">No content available</div>';
return;
}
moviesContainer.innerHTML = '';
let regularCatIndex = 0;
Object.entries(response).forEach(([category, items]) => {
if (!items || items.length === 0) return;
if (category === 'Latest Update') {
createHeroSlider(items);
} else {
const section = document.createElement('div');
section.className = 'category-section';
section.innerHTML = `<h2 class="category-title">${category}</h2><div class="movies-scroller"><div class="movies-row" id="category-${regularCatIndex}"></div></div>`;
const row = section.querySelector('.movies-row');
items.forEach(item => row.appendChild(createMediaCard(item)));
moviesContainer.appendChild(section);
regularCatIndex++;
}
});
} catch (error) {
showError('Failed to load content. Please try again.');
}
}
function createHeroSlider(items) {
const sliderContainer = document.getElementById('hero-slider-container');
if (!sliderContainer || items.length === 0) return;
co
Open service 2606:4700:20::ac43:4885:80 · cdn.zostream.in
2026-01-07 17:57
HTTP/1.1 301 Moved Permanently
Date: Wed, 07 Jan 2026 17:57:34 GMT
Content-Length: 0
Connection: close
Location: https://cdn.zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=vd8ZeK4VpK%2FO4JxCsK%2FnJix2%2FuPeSrQJ79dzrIfql%2Fc6pKNF4JOq9ZMDlfN9v60rwD%2BFrMZwr5NTGv2ToeCo4CfPxOphIRmE0T9hmcmZ46Tmy%2FQ9fV0DFYvD"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=13,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9ba5569b5ebd0d78-SIN
Open service 2606:4700:20::ac43:4885:443 · cdn.zostream.in
2026-01-07 17:57
HTTP/1.1 400 Bad Request
Date: Wed, 07 Jan 2026 17:57:34 GMT
Content-Type: text/plain;charset=UTF-8
Content-Length: 17
Connection: close
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=t4jG13pe7Tkv8rBqHOZkWv%2FWsShkcWmXWg383pRusB0n%2FDVBUetOGRZp2XPwovuOgBEcM%2BCAQ%2BS%2F%2FTUvE9OKD2fOUgW0JTwVoCCjKOiVME47bntMkF67l1k9"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=10,cfOrigin;dur=0
Speculation-Rules: "/cdn-cgi/speculation"
Vary: accept-encoding
Server: cloudflare
CF-RAY: 9ba5569aa97babd6-YYZ
Missing file path
Open service 2606:4700:20::681a:b2:80 · cdn.zostream.in
2026-01-07 17:57
HTTP/1.1 301 Moved Permanently
Date: Wed, 07 Jan 2026 17:57:34 GMT
Content-Length: 0
Connection: close
Location: https://cdn.zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=mkOLBNBKr%2FHI8y39PltRA0Nmgq%2FqU9saZSJsB9nn3nlw8pzu%2FNy9QvnfIG3KrbDmbs7jqXHkuxCrlL2C3qiJUqztoyAQg3Vzhdi8IDBVq4ULySlwFggYGtlX"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=12,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9ba5569a8aa10cce-SIN
Open service 2606:4700:20::681a:1b2:8443 · cdn.zostream.in
2026-01-07 17:57
HTTP/1.1 400 Bad Request
Date: Wed, 07 Jan 2026 17:57:34 GMT
Content-Type: text/plain;charset=UTF-8
Content-Length: 17
Connection: close
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=ueOFIcuIoFWEGOi1kq39evbMObO%2Fo2eXB40%2F19s8xMMu2I%2B8t4T9FihLPLyDaqkPrzDhXZ8PZLsT%2B3%2FiBHlTO5zg1F%2FGv3J9esgibaDG8%2Buqj3lmw29D7BnE"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=3,cfOrigin;dur=0
Speculation-Rules: "/cdn-cgi/speculation"
Vary: accept-encoding
Server: cloudflare
CF-RAY: 9ba5569a3c468839-BLR
Missing file path
Open service 172.67.72.133:80 · cdn.zostream.in
2026-01-07 17:57
HTTP/1.1 301 Moved Permanently
Date: Wed, 07 Jan 2026 17:57:34 GMT
Content-Length: 0
Connection: close
Location: https://cdn.zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=8CTE4UTr45goVliI1%2FalZSiu2g%2FYLzV3s5foDG3U60gglvW5i04Xad2KtnZRq%2FiEvPrLT5ob1mUiTECiVbLm5hJjh4R7r6RSZAK7Wbp%2B"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=16,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9ba5569a5974fcde-SIN
Open service 2606:4700:20::681a:b2:8443 · cdn.zostream.in
2026-01-07 17:57
HTTP/1.1 400 Bad Request
Date: Wed, 07 Jan 2026 17:57:34 GMT
Content-Type: text/plain;charset=UTF-8
Content-Length: 17
Connection: close
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=LtpqGh8S2prvhw%2FlIUP6hDhx%2BiRWe7LA369%2FxNski%2BLqMgOIv6wMUW10s9fmPhoA9QJ6Pdep2%2BBhggts0Y8JXGHR%2BVBLa1swGSf10It%2FNnl9J8rssS%2FBPdtg"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=16,cfOrigin;dur=0
Speculation-Rules: "/cdn-cgi/speculation"
Vary: accept-encoding
Server: cloudflare
CF-RAY: 9ba5569a2bc2f45c-LHR
Missing file path
Open service 104.26.0.178:8443 · cdn.zostream.in
2026-01-07 17:57
HTTP/1.1 400 Bad Request
Date: Wed, 07 Jan 2026 17:57:34 GMT
Content-Type: text/plain;charset=UTF-8
Content-Length: 17
Connection: close
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=ej6BwHwXnFaoE6KDyhNKlQQfTL1QnePmbbfG9%2BRNtPA7M0FvtySLXVoHCHSN5bxpd3qeEkXXAnhItSZcQjuSdRmNka%2FeMt4ENCV3BBxX"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=15,cfOrigin;dur=0
Speculation-Rules: "/cdn-cgi/speculation"
Vary: accept-encoding
Server: cloudflare
CF-RAY: 9ba5569a0be818dc-FRA
Missing file path
Open service 2606:4700:20::ac43:4885:8443 · cdn.zostream.in
2026-01-07 17:57
HTTP/1.1 400 Bad Request
Date: Wed, 07 Jan 2026 17:57:34 GMT
Content-Type: text/plain;charset=UTF-8
Content-Length: 17
Connection: close
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=NBOal2Cf5qpv9IgKLaw0%2B8sLtbWXOacYo90AHNXbSqQ1U9xChTTrLTpiLYlWVeNWor9QIsN0EWZvuPMounAFnzGko6KtWLA0Xb6yIBu30j4LsNdWRx3YETVp"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=10,cfOrigin;dur=0
Speculation-Rules: "/cdn-cgi/speculation"
Vary: accept-encoding
Server: cloudflare
CF-RAY: 9ba5569a1c5a5163-YYZ
Missing file path
Open service 104.26.1.178:80 · cdn.zostream.in
2026-01-07 17:57
HTTP/1.1 301 Moved Permanently
Date: Wed, 07 Jan 2026 17:57:34 GMT
Content-Length: 0
Connection: close
Location: https://cdn.zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=%2FLGWEkqsdtOS5qEFlKCZ98RL1KxTbv6Kxo8Y2mIkKcDlTKZpuLESGYFiOtI7xXxWpoK3piY%2Fs0gYE2By3FPj3Noq31UpFRa3u4W3B7JT"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=16,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9ba55699de4237dd-FRA
Open service 2606:4700:20::681a:b2:443 · cdn.zostream.in
2026-01-07 17:57
HTTP/1.1 400 Bad Request
Date: Wed, 07 Jan 2026 17:57:34 GMT
Content-Type: text/plain;charset=UTF-8
Content-Length: 17
Connection: close
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=LKde63UTh%2BzztS5DWm63hCujXc2aaOp278hj6%2FaPiSc1i8R9wJM1FCCsRR%2FwmqeYSK40JjWWtU2wDayTn22f%2BXsFxYLoxVgWQbWoDGNrhsh0PF9W0dlkjve5"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=5,cfOrigin;dur=0
Speculation-Rules: "/cdn-cgi/speculation"
Vary: accept-encoding
Server: cloudflare
CF-RAY: 9ba55699edabdbd8-FRA
Missing file path
Open service 104.26.0.178:443 · cdn.zostream.in
2026-01-07 17:57
HTTP/1.1 400 Bad Request
Date: Wed, 07 Jan 2026 17:57:34 GMT
Content-Type: text/plain;charset=UTF-8
Content-Length: 17
Connection: close
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=wA3B9%2F85YTYxQbIv2gnq6vMOKVZ1xwEE4aXV00UGSoY36yGLb0%2BZNdvZRqK84iXjn722Pmg7dcjuSDvrJoVQXZ1GXIwv8XedSezraAxk"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=19,cfOrigin;dur=0
Speculation-Rules: "/cdn-cgi/speculation"
Vary: accept-encoding
Server: cloudflare
CF-RAY: 9ba55699da16d8f6-AMS
Missing file path
Open service 2606:4700:20::681a:1b2:80 · cdn.zostream.in
2026-01-07 17:57
HTTP/1.1 301 Moved Permanently
Date: Wed, 07 Jan 2026 17:57:34 GMT
Content-Length: 0
Connection: close
Location: https://cdn.zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=vn3%2Bh6CZiHfHfKS%2Fkf199d95Vn3yYmI74VazwyS5zWdiRWP9TYs3agX8QJuvGo18%2BQ318KUO95CGbns6ybBx5DEMtEjx9lF8wqCGpXOJVrrYEcCElrybXYS9"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=10,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9ba55699c9ce2732-EWR
Open service 2606:4700:20::681a:1b2:443 · cdn.zostream.in
2026-01-07 17:57
HTTP/1.1 400 Bad Request
Date: Wed, 07 Jan 2026 17:57:34 GMT
Content-Type: text/plain;charset=UTF-8
Content-Length: 17
Connection: close
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=7ZRQx8cvWV9g%2Bf8FUA9r%2BsLt6Btl5lXH9dubNgs6TuDk5D1W66jDBbKUN9o7pNmaScSJc0dhp1JXsM6hMQUIbDLuuCGmCfHg2zSPl%2FK2zvIFsitISrrgaPGb"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=14,cfOrigin;dur=0
Speculation-Rules: "/cdn-cgi/speculation"
Vary: accept-encoding
Server: cloudflare
CF-RAY: 9ba55699cac028eb-LHR
Missing file path
Open service 172.67.72.133:443 · cdn.zostream.in
2026-01-07 17:57
HTTP/1.1 400 Bad Request
Date: Wed, 07 Jan 2026 17:57:34 GMT
Content-Type: text/plain;charset=UTF-8
Content-Length: 17
Connection: close
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=rvv3O4OHwFs1h1s%2FiErzKSDAimuP2tpGoreiMB64bLxbF%2BQpz0yf8uZEYfcsVUNHM67NujwLXUEym0F4n1N11geBZEzcPAFR%2FvNPsgDW"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=14,cfOrigin;dur=0
Speculation-Rules: "/cdn-cgi/speculation"
Vary: accept-encoding
Server: cloudflare
CF-RAY: 9ba55699ca95312a-AMS
Missing file path
Open service 104.26.0.178:80 · cdn.zostream.in
2026-01-07 17:57
HTTP/1.1 301 Moved Permanently
Date: Wed, 07 Jan 2026 17:57:34 GMT
Content-Length: 0
Connection: close
Location: https://cdn.zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=ei3ldpFICPNugWmdhyinf5LaexC1tU7PPaorpwCDmeQ5zrI10Plk3i43YfkLSGgcHZOxWP6%2FjCU1qnCdC%2FzsyR90NaYnpOEu0cSSEiqi"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=15,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9ba556997d04dbcd-FRA
Open service 172.67.72.133:8443 · cdn.zostream.in
2026-01-07 17:57
HTTP/1.1 400 Bad Request
Date: Wed, 07 Jan 2026 17:57:34 GMT
Content-Type: text/plain;charset=UTF-8
Content-Length: 17
Connection: close
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=hOWIeuf5lMZBXBzmYuJRaS4nxfZjWh7zFx9gFa4BbT140imr5hNSugHxP2H3EpCqii0wmCf5gD1rJaCBN7cw9Y2rP%2BCQ%2FjifECi4YpDE"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=20,cfOrigin;dur=0
Speculation-Rules: "/cdn-cgi/speculation"
Vary: accept-encoding
Server: cloudflare
CF-RAY: 9ba55699af27a5c5-AMS
Missing file path
Open service 104.26.1.178:8443 · cdn.zostream.in
2026-01-07 17:57
HTTP/1.1 400 Bad Request
Date: Wed, 07 Jan 2026 17:57:34 GMT
Content-Type: text/plain;charset=UTF-8
Content-Length: 17
Connection: close
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=m8ERCuftr8H6B89K%2Bp1LaluNpUIhqGbeqyOZhb2sGonxUuNJCDZAsRfgfAQohwGBmDZegiU%2B4MIwEBXivs7KqHn36%2FxVjLMM47h7nBFq"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=10,cfOrigin;dur=0
Speculation-Rules: "/cdn-cgi/speculation"
Vary: accept-encoding
Server: cloudflare
CF-RAY: 9ba55699aa8fc13a-EWR
Missing file path
Open service 104.26.1.178:443 · cdn.zostream.in
2026-01-07 17:57
HTTP/1.1 400 Bad Request
Date: Wed, 07 Jan 2026 17:57:34 GMT
Content-Type: text/plain;charset=UTF-8
Content-Length: 17
Connection: close
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=fsBe1e0irbPo%2B0Yz0OGoAbQpQYYJUJ%2BaDtr3vtQCTi1bLUo4HYGzOyniG%2BCou4sZha37E0tOqDbyOZdwMiMg35F5W%2FENGzaV6jNJez8g"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=15,cfOrigin;dur=0
Speculation-Rules: "/cdn-cgi/speculation"
Vary: accept-encoding
Server: cloudflare
CF-RAY: 9ba556998bca93b6-EWR
Missing file path
Open service 2606:4700:20::681a:1b2:8443 · play.zostream.in
2026-01-03 01:40
HTTP/1.1 522 <none> Date: Sat, 03 Jan 2026 01:40:57 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin Server-Timing: cfEdge;dur=19716,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9b7eca064e32fda7-SIN alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 2606:4700:20::ac43:4885:80 · play.zostream.in
2026-01-03 01:40
HTTP/1.1 301 Moved Permanently
Date: Sat, 03 Jan 2026 01:40:36 GMT
Content-Length: 0
Connection: close
Location: https://play.zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=M4SmYQ%2BUveaaqZ5xjzMDO7sldBGH0C5Y%2BPrHIZwIoRZzbq5bGA0DaOqj9ngPluc7B9KP9WY6KPArTI5UjVKU9GWU0XbDNshILObqp0S1BZQLT0xvmwqTnKBdkA%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=10,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9b7ec9ffbf36a364-SJC
alt-svc: h3=":443"; ma=86400
Open service 104.26.0.178:8443 · play.zostream.in
2026-01-03 01:40
HTTP/1.1 522 <none> Date: Sat, 03 Jan 2026 01:40:56 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin Server-Timing: cfEdge;dur=19574,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9b7eca05be6a3739-YYZ alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 104.26.1.178:443 · play.zostream.in
2026-01-03 01:40
HTTP/1.1 200 OK
Date: Sat, 03 Jan 2026 01:40:36 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
Cache-Control: no-cache, private
link: <https://play.zostream.in/build/assets/app-Cf5YmJTu.css>; rel="preload"; as="style", <https://play.zostream.in/build/assets/app-u_lrMTq3.js>; rel="modulepreload"
vary: X-Inertia
vary: accept-encoding
Set-Cookie: XSRF-TOKEN=eyJpdiI6Im5mTGJSaEdGdnBDaG1adklsMmZ0cFE9PSIsInZhbHVlIjoiTzl4dklIZWdzNjlYdGg0akt0RU5VOC9wWVYrcnROS2J2QmlhK1pVMlluc0JoZzZyY29NZkFTT2tCNm1lTG5XdkJFWXZKRlZ0N1lKeEwrN2x4VURacVVQeXJJRGdEODB4SC9hREFmWkx5bnRQSVhQNmtLaDk5aDIvWkxGaTg4UUEiLCJtYWMiOiIyMjhiNmJkZmZhNGFhNTNmMWVlNzhmNDM4ZWY2MGVhNDQ2ZDA3NzYyMTQyMDgzNDA4M2QwOGUwMGZjZTdmZGNjIiwidGFnIjoiIn0%3D; expires=Sat, 03 Jan 2026 03:40:36 GMT; Max-Age=7200; path=/; secure; samesite=lax
Set-Cookie: zo_stream_play_session=eyJpdiI6ImRMQUVnZGtzTHQwV3FVbXBXbVk5Smc9PSIsInZhbHVlIjoiU0hHMGVLVXVqRlVlelhuaWZCWDBEL01LMUhTY29BbWJ0ak0wa3VaRDZTcVZpc0FwUFNYZlFjT3JQMzNGTGhXc2tXUFZTTnRONWxtMHc3bXM3QU9KU2dGN2lYa3VnNE1FdWZtMHhrelJtb2ZEWmtONm84Nk9aN1FiVllIbG9tNEkiLCJtYWMiOiIzOTczMjRiNWQ0ZjQ5N2RkNzc3NGViYzcwOTZhMDk2YzdlNDI0MzY4MWIxZGYyYjI1NTI1MGU5ZjE0YjU5Zjc1IiwidGFnIjoiIn0%3D; expires=Sat, 03 Jan 2026 03:40:36 GMT; Max-Age=7200; path=/; secure; httponly; samesite=lax
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=RJ7GHrH0bZsp%2FQcvwdU51H8LhtVdKapnZkx4NlEQ5dyPIA6LUFeCWADHDzDuirsIm6tFQ0DPVIAHC8dUnhwiPdSKIA6w2pTl%2BQLxEDe5Kw%3D%3D"}]}
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=7,cfOrigin;dur=133
CF-RAY: 9b7eca01ea3cf54f-YYZ
alt-svc: h3=":443"; ma=86400
Page title: Zo Steam Play
<!DOCTYPE html>
<html lang="en" class="">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script>
(function() {
const appearance = 'system';
if (appearance === 'system') {
const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
if (prefersDark) {
document.documentElement.classList.add('dark');
}
}
})();
</script>
<script
src="https://unpkg.com/@dotlottie/player-component@2.7.12/dist/dotlottie-player.mjs"
type="module"></script>
<style>
html {
background-color: oklch(1 0 0);
}
html.dark {
background-color: oklch(0.145 0 0);
}
</style>
<title inertia>Zo Steam Play</title>
<link rel="preconnect" href="https://fonts.bunny.net">
<link href="https://fonts.bunny.net/css?family=instrument-sans:400,500,600" rel="stylesheet" />
<script type="text/javascript">const Ziggy={"url":"https:\/\/play.zostream.in","port":null,"defaults":{},"routes":{"decrypt":{"uri":"decrypt","methods":["POST"]},"stream.proxy":{"uri":"stream-proxy\/{token}","methods":["GET","HEAD"],"parameters":["token"]},"proxy.post":{"uri":"proxy","methods":["POST"]},"proxy.get":{"uri":"proxy","methods":["GET","HEAD"]},"ProfileEdit":{"uri":"user","methods":["GET","HEAD"]},"register":{"uri":"register","methods":["GET","HEAD"]},"login":{"uri":"login","methods":["GET","HEAD"]},"password.request":{"uri":"forgot-password","methods":["GET","HEAD"]},"password.reset":{"uri":"forgot-password","methods":["POST"]},"contact":{"uri":"settings\/contact","methods":["GET","HEAD"]},"profile.edit":{"uri":"settings\/profile","methods":["GET","HEAD"]},"editPro":{"uri":"settings\/user","methods":["GET","HEAD"]},"home":{"uri":"\/","methods":["GET","HEAD"]},"search":{"uri":"search","methods":["GET","HEAD"]},"category":{"uri":"category","methods":["GET","HEAD"]},"subscription":{"uri":"subscription","methods":["GET","HEAD"]},"about":{"uri":"about","methods":["GET","HEAD"]},"help":{"uri":"help","methods":["GET","HEAD"]},"faq":{"uri":"faq","methods":["GET","HEAD"]},"wishlist":{"uri":"wishlist","methods":["GET","HEAD"]},"movie.detail":{"uri":"detail\/{id}","methods":["GET","HEAD"],"parameters":["id"]},"viewall":{"uri":"viewall\/{title}\/{category}","methods":["GET","HEAD"],"parameters":["title","category"]},"storage.local":{"uri":"storage\/{path}","methods":["GET","HEAD"],"wheres":{"path":".*"},"parameters":["path"]}}};!function(t,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define(r):(t||self).route=r()}(this,function(){function t(t,r){for(var n=0;n<r.length;n++){var e=r[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,u(e.key),e)}}function r(r,n,e){return n&&t(r.prototype,n),e&&t(r,e),Object.defineProperty(r,"prototype",{writable:!1}),r}function n(){return n=Object.assign?Object.assign.bind():function(t){for(var r=1;r<arguments.length;r++){var n=arguments[r];for(var e in n)({}).hasOwnProperty.call(n,e)&&(t[e]=n[e])}return t},n.apply(null,arguments)}function e(t){return e=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},e(t)}function o(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(o=function(){return!!t})()}function i(t,r){return i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t},i(t,r)}function u(t){var r=function(t){if("object"!=typeof t||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==typeof r?r:r+""}function f(t){var r="function"==ty
Open service 2606:4700:20::681a:b2:80 · play.zostream.in
2026-01-03 01:40
HTTP/1.1 301 Moved Permanently
Date: Sat, 03 Jan 2026 01:40:36 GMT
Content-Length: 0
Connection: close
Location: https://play.zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=QwRdWHiWWx%2BreE1PfhUHzzHQeOzxzxfQa%2ByU7DT87M4XyQlhjj0uN00W%2Bu15%2Fvd9aLBUydRa5p537qt510pElv%2BXBWZt7k9bxsLtlVMH7t7xrXnyUmRcKfo3bQ%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=9,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9b7ec9ff397c360b-FRA
alt-svc: h3=":443"; ma=86400
Open service 104.26.0.178:443 · play.zostream.in
2026-01-03 01:40
HTTP/1.1 200 OK
Date: Sat, 03 Jan 2026 01:40:36 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
Cache-Control: no-cache, private
link: <https://play.zostream.in/build/assets/app-Cf5YmJTu.css>; rel="preload"; as="style", <https://play.zostream.in/build/assets/app-u_lrMTq3.js>; rel="modulepreload"
vary: X-Inertia
vary: accept-encoding
Set-Cookie: XSRF-TOKEN=eyJpdiI6InRpUXloQjNZUE5yRzJhVGF3Q0c1Nmc9PSIsInZhbHVlIjoiOFYwT2lMQkdxUWpsTzZ5WjdGOGgySk01RDBMUG5YU2doWmJ1YVVMY0tqUTFodlpIUXNVRmNOb0RIZ1dobWVCY0tpYml5UkhrVHVwbWRKVEcrTlBsdE5lSzdRWllkMG4yaHdwRGJyTFQvL2I4a1hnOU4vVkNZM2crcW1nMUxXYkkiLCJtYWMiOiIzNDlmM2E5ZWVjNzFhN2M5MDY1NjlkNzNkMTJlODY5NzI0YWM1NzM1OTdiYWNmNmI4MzAwZmU4MmM2ZDdjYmYxIiwidGFnIjoiIn0%3D; expires=Sat, 03 Jan 2026 03:40:36 GMT; Max-Age=7200; path=/; secure; samesite=lax
Set-Cookie: zo_stream_play_session=eyJpdiI6IkQ1d3hRS3paTzRFczQ0cnBaS1NEOHc9PSIsInZhbHVlIjoiRE11Z1pGT01QdHA1cDRlczhUVFZZVzZza0ZGRWpwRlIzeklLODExeWJSRXdhK3pwUXN2TmdGWWs2ZE5zaWl0ZWNBanh0ZFRFRGxCRExORGttcm9iUGJqaUgyNzFNSytHakxGaGZkTE1pbEJuSm9NOEpMd3JvTlg3ZU0xdUhVQmkiLCJtYWMiOiI3ZGFjNDQ2NmVkZGU3NmRjYTMyZjY5YWEyNDdiNjQ2ZGU2MTA1MDQwYTFhNDVjNTZjODgxOTFiODE1MWNiMzMxIiwidGFnIjoiIn0%3D; expires=Sat, 03 Jan 2026 03:40:36 GMT; Max-Age=7200; path=/; secure; httponly; samesite=lax
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=by4%2FJNXqAxTelIYoXMGGRzYXsKxRiw7orv%2FAk81uDdO9BnsvXJ9EUEj51BGD6S9tMXgNOl21WxPaOgwP26zAOMFLxKxpivMplVi%2BFQ4qWA%3D%3D"}]}
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=4,cfOrigin;dur=55
CF-RAY: 9b7ec9ff3c67b084-FRA
alt-svc: h3=":443"; ma=86400
Page title: Zo Steam Play
<!DOCTYPE html>
<html lang="en" class="">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script>
(function() {
const appearance = 'system';
if (appearance === 'system') {
const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
if (prefersDark) {
document.documentElement.classList.add('dark');
}
}
})();
</script>
<script
src="https://unpkg.com/@dotlottie/player-component@2.7.12/dist/dotlottie-player.mjs"
type="module"></script>
<style>
html {
background-color: oklch(1 0 0);
}
html.dark {
background-color: oklch(0.145 0 0);
}
</style>
<title inertia>Zo Steam Play</title>
<link rel="preconnect" href="https://fonts.bunny.net">
<link href="https://fonts.bunny.net/css?family=instrument-sans:400,500,600" rel="stylesheet" />
<script type="text/javascript">const Ziggy={"url":"https:\/\/play.zostream.in","port":null,"defaults":{},"routes":{"decrypt":{"uri":"decrypt","methods":["POST"]},"stream.proxy":{"uri":"stream-proxy\/{token}","methods":["GET","HEAD"],"parameters":["token"]},"proxy.post":{"uri":"proxy","methods":["POST"]},"proxy.get":{"uri":"proxy","methods":["GET","HEAD"]},"ProfileEdit":{"uri":"user","methods":["GET","HEAD"]},"register":{"uri":"register","methods":["GET","HEAD"]},"login":{"uri":"login","methods":["GET","HEAD"]},"password.request":{"uri":"forgot-password","methods":["GET","HEAD"]},"password.reset":{"uri":"forgot-password","methods":["POST"]},"contact":{"uri":"settings\/contact","methods":["GET","HEAD"]},"profile.edit":{"uri":"settings\/profile","methods":["GET","HEAD"]},"editPro":{"uri":"settings\/user","methods":["GET","HEAD"]},"home":{"uri":"\/","methods":["GET","HEAD"]},"search":{"uri":"search","methods":["GET","HEAD"]},"category":{"uri":"category","methods":["GET","HEAD"]},"subscription":{"uri":"subscription","methods":["GET","HEAD"]},"about":{"uri":"about","methods":["GET","HEAD"]},"help":{"uri":"help","methods":["GET","HEAD"]},"faq":{"uri":"faq","methods":["GET","HEAD"]},"wishlist":{"uri":"wishlist","methods":["GET","HEAD"]},"movie.detail":{"uri":"detail\/{id}","methods":["GET","HEAD"],"parameters":["id"]},"viewall":{"uri":"viewall\/{title}\/{category}","methods":["GET","HEAD"],"parameters":["title","category"]},"storage.local":{"uri":"storage\/{path}","methods":["GET","HEAD"],"wheres":{"path":".*"},"parameters":["path"]}}};!function(t,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define(r):(t||self).route=r()}(this,function(){function t(t,r){for(var n=0;n<r.length;n++){var e=r[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,u(e.key),e)}}function r(r,n,e){return n&&t(r.prototype,n),e&&t(r,e),Object.defineProperty(r,"prototype",{writable:!1}),r}function n(){return n=Object.assign?Object.assign.bind():function(t){for(var r=1;r<arguments.length;r++){var n=arguments[r];for(var e in n)({}).hasOwnProperty.call(n,e)&&(t[e]=n[e])}return t},n.apply(null,arguments)}function e(t){return e=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},e(t)}function o(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(o=function(){return!!t})()}function i(t,r){return i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t},i(t,r)}function u(t){var r=function(t){if("object"!=typeof t||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==typeof r?r:r+""}function f(t){var r="function"==ty
Open service 104.26.1.178:8443 · play.zostream.in
2026-01-03 01:40
HTTP/1.1 522 <none> Date: Sat, 03 Jan 2026 01:40:56 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin Server-Timing: cfEdge;dur=19395,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9b7eca053973fea0-AMS alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 2606:4700:20::681a:1b2:443 · play.zostream.in
2026-01-03 01:40
HTTP/1.1 200 OK
Date: Sat, 03 Jan 2026 01:40:37 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
Cache-Control: no-cache, private
link: <https://play.zostream.in/build/assets/app-Cf5YmJTu.css>; rel="preload"; as="style", <https://play.zostream.in/build/assets/app-u_lrMTq3.js>; rel="modulepreload"
vary: X-Inertia
vary: accept-encoding
Set-Cookie: XSRF-TOKEN=eyJpdiI6IlQrejhhT0ZlOHY2V0tNaW13eXR1dVE9PSIsInZhbHVlIjoiMnp5aURmTjkyZVpyS29hbHVHa2E4RVNRVUdaZ3c3WGRLYVZZWWhDdzdKQW5GWWp0c25yV0ZVcHIrdkRlNWRIdXZCeUNNTUk3RFNnOVVycm5GMVFBRFc1a3kxQmNmaytCa2JlNHJzaWlNbEFCMVNadzRZR1lDN05McjlIZkRNa2UiLCJtYWMiOiI2ZDZlOWRmM2YwMDJjMDk3YzcxZjg1NWZlMGNjNTAzYjFmYzY0MGY3Yzk3MWI0ZGNmYzUyNDRhZGRlMjRjMzUzIiwidGFnIjoiIn0%3D; expires=Sat, 03 Jan 2026 03:40:37 GMT; Max-Age=7200; path=/; secure; samesite=lax
Set-Cookie: zo_stream_play_session=eyJpdiI6IlFIaTJwS2QvbkM4YWZzZEYzMlJyOFE9PSIsInZhbHVlIjoiMVZxU2NvTU1Bc29VYTBnM2pZRkxRYTNGcmxYOVVPNFozV1hQVnFOaTF2NzdhckNydnplemZnSFlCNy9FSWZjQnBkZUU4S1dkZ0NNOG5lUFg2UzByWlZNZHQyOFl1Q3d4OStiMm9Pa1RWbVZXYk1hN2RyemJMb3QvMFhPenRQbTkiLCJtYWMiOiI3NTNhYWZlYmRkNjMzNzI0ZWQ4YjRiNmY4OWIyMjNiZWRkNjM1MGQxN2MwNTMyNWQwNGU5ZGU0NDMwNWZlNTk5IiwidGFnIjoiIn0%3D; expires=Sat, 03 Jan 2026 03:40:37 GMT; Max-Age=7200; path=/; secure; httponly; samesite=lax
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=X6CK0RZAAG9DqRLN1Ib4seLRfJ%2FAeRLNsmdhLbTzVkeTgQLcIP2ZpyNZGT%2FmAnK6WXAuvIFWBb8%2BqXKV4wMXWwpkwoWcsV49F%2FMavKdQ4yOHh9KlDLVJeojt%2BA%3D%3D"}]}
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=10,cfOrigin;dur=317
CF-RAY: 9b7eca053ba8eeee-EWR
alt-svc: h3=":443"; ma=86400
Page title: Zo Steam Play
<!DOCTYPE html>
<html lang="en" class="">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script>
(function() {
const appearance = 'system';
if (appearance === 'system') {
const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
if (prefersDark) {
document.documentElement.classList.add('dark');
}
}
})();
</script>
<script
src="https://unpkg.com/@dotlottie/player-component@2.7.12/dist/dotlottie-player.mjs"
type="module"></script>
<style>
html {
background-color: oklch(1 0 0);
}
html.dark {
background-color: oklch(0.145 0 0);
}
</style>
<title inertia>Zo Steam Play</title>
<link rel="preconnect" href="https://fonts.bunny.net">
<link href="https://fonts.bunny.net/css?family=instrument-sans:400,500,600" rel="stylesheet" />
<script type="text/javascript">const Ziggy={"url":"https:\/\/play.zostream.in","port":null,"defaults":{},"routes":{"decrypt":{"uri":"decrypt","methods":["POST"]},"stream.proxy":{"uri":"stream-proxy\/{token}","methods":["GET","HEAD"],"parameters":["token"]},"proxy.post":{"uri":"proxy","methods":["POST"]},"proxy.get":{"uri":"proxy","methods":["GET","HEAD"]},"ProfileEdit":{"uri":"user","methods":["GET","HEAD"]},"register":{"uri":"register","methods":["GET","HEAD"]},"login":{"uri":"login","methods":["GET","HEAD"]},"password.request":{"uri":"forgot-password","methods":["GET","HEAD"]},"password.reset":{"uri":"forgot-password","methods":["POST"]},"contact":{"uri":"settings\/contact","methods":["GET","HEAD"]},"profile.edit":{"uri":"settings\/profile","methods":["GET","HEAD"]},"editPro":{"uri":"settings\/user","methods":["GET","HEAD"]},"home":{"uri":"\/","methods":["GET","HEAD"]},"search":{"uri":"search","methods":["GET","HEAD"]},"category":{"uri":"category","methods":["GET","HEAD"]},"subscription":{"uri":"subscription","methods":["GET","HEAD"]},"about":{"uri":"about","methods":["GET","HEAD"]},"help":{"uri":"help","methods":["GET","HEAD"]},"faq":{"uri":"faq","methods":["GET","HEAD"]},"wishlist":{"uri":"wishlist","methods":["GET","HEAD"]},"movie.detail":{"uri":"detail\/{id}","methods":["GET","HEAD"],"parameters":["id"]},"viewall":{"uri":"viewall\/{title}\/{category}","methods":["GET","HEAD"],"parameters":["title","category"]},"storage.local":{"uri":"storage\/{path}","methods":["GET","HEAD"],"wheres":{"path":".*"},"parameters":["path"]}}};!function(t,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define(r):(t||self).route=r()}(this,function(){function t(t,r){for(var n=0;n<r.length;n++){var e=r[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,u(e.key),e)}}function r(r,n,e){return n&&t(r.prototype,n),e&&t(r,e),Object.defineProperty(r,"prototype",{writable:!1}),r}function n(){return n=Object.assign?Object.assign.bind():function(t){for(var r=1;r<arguments.length;r++){var n=arguments[r];for(var e in n)({}).hasOwnProperty.call(n,e)&&(t[e]=n[e])}return t},n.apply(null,arguments)}function e(t){return e=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},e(t)}function o(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(o=function(){return!!t})()}function i(t,r){return i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t},i(t,r)}function u(t){var r=function(t){if("object"!=typeof t||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==typeof r?r:r+""}function f(t){var r="function"==ty
Open service 2606:4700:20::681a:1b2:80 · play.zostream.in
2026-01-03 01:40
HTTP/1.1 301 Moved Permanently
Date: Sat, 03 Jan 2026 01:40:36 GMT
Content-Length: 0
Connection: close
Location: https://play.zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=nEei%2BJ4cP%2FZVNFi6mwcTCERIfurU4MWFBENFeKPNXX4cCkA0q2mqCQ%2FfCg2Z%2BuM7OEMsE%2BPcg4Y2aTYx2YJjX8AUQfmagjGh7UHJHBcY%2FnHmJe5%2B3DLd1b0%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=14,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9b7ec9fee9d20c78-EWR
alt-svc: h3=":443"; ma=86400
Open service 172.67.72.133:8443 · play.zostream.in
2026-01-03 01:40
HTTP/1.1 522 <none> Date: Sat, 03 Jan 2026 01:40:56 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin Server-Timing: cfEdge;dur=19463,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9b7eca04f95c3eca-LHR alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 104.26.1.178:80 · play.zostream.in
2026-01-03 01:40
HTTP/1.1 301 Moved Permanently
Date: Sat, 03 Jan 2026 01:40:36 GMT
Content-Length: 0
Connection: close
Location: https://play.zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=INHh8WhuzN%2BbA0LVytWHucM1oQhCR5T0Y2MSnn8qED4YfZ8S4mrzPL65bBLVGViN5DZVzrghwyfEm8VCYtssPKKXVaOsykiXW%2FIyHaXLHw%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=13,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9b7ec9fe8fcb6721-AMS
alt-svc: h3=":443"; ma=86400
Open service 172.67.72.133:80 · play.zostream.in
2026-01-03 01:40
HTTP/1.1 301 Moved Permanently
Date: Sat, 03 Jan 2026 01:40:36 GMT
Content-Length: 0
Connection: close
Location: https://play.zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=bcdG%2FSRZtAyyLtqg5PidZAIhFSK1rZj1zsU6xJaRMcWyNSR5hyoQ%2FA%2BHOBoWoZ5aa7q6TwKmgD97yAPO1roC50Dt8zIWpmfCFkjHCJptcQ%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=13,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9b7ec9fe5a9a9425-LHR
alt-svc: h3=":443"; ma=86400
Open service 2606:4700:20::ac43:4885:443 · play.zostream.in
2026-01-03 01:40
HTTP/1.1 200 OK
Date: Sat, 03 Jan 2026 01:40:36 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
Cache-Control: no-cache, private
link: <https://play.zostream.in/build/assets/app-Cf5YmJTu.css>; rel="preload"; as="style", <https://play.zostream.in/build/assets/app-u_lrMTq3.js>; rel="modulepreload"
vary: X-Inertia
vary: accept-encoding
Set-Cookie: XSRF-TOKEN=eyJpdiI6IkdPeE5MKzFjQnRWUjlBUHFOVWp4NlE9PSIsInZhbHVlIjoiaVk5YVJSRjIxakU3T2ZpOEpwZ2RXQ00yT09YMTVSYTk5N0xvZ2JjblkxYnE2ZWxlbUlIR1BxbnBNdi9XdzF1VDVRc2c2cDJDNGMyblg1RTZkb1RKd2NVV3B1bUZOakJVTGNia1gwcTZEUDY2TCt0dW9IdTJIdFNtdXplbk5jNGoiLCJtYWMiOiIwZTRmZGJhNWNjMTA2NTg2YjhjYzE2NTYyYmViMWFmN2E1YjMxYWNmNGJkNWU4N2ZlNGFhMWM3N2ViZGQ0YjA4IiwidGFnIjoiIn0%3D; expires=Sat, 03 Jan 2026 03:40:36 GMT; Max-Age=7200; path=/; secure; samesite=lax
Set-Cookie: zo_stream_play_session=eyJpdiI6IjBUcStYVDRFUFUrWjRLT1lpVWVuMEE9PSIsInZhbHVlIjoia3VXUDFBZ1orSkFvRG9iTGpjVnNXR20wUTY3ODMrVXFZaHlVQkZTSXdNTDFHZGNrZDlQcGlDa3dSdGU1bVdtbVk3OWd6OEN5UEowUUIxR3I4d2x4ejM1R3ZtVlpHSENycHlFMWxNMFEyS0FUM3FCeUx3SGpwUlhJcEJnWFRqYzEiLCJtYWMiOiJjN2E3YmM1NmQyM2YyMWM5MTE1NTVhNWE3MWYyNjQxYWQxMzIxNWZlYTZlMWRhODY2OTVhYmQxNjc0NTIyOGIxIiwidGFnIjoiIn0%3D; expires=Sat, 03 Jan 2026 03:40:36 GMT; Max-Age=7200; path=/; secure; httponly; samesite=lax
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=1vfPt7IDIJuP%2F8iHWTXXNxiYOcNIepzh9o2opkCQ68thJlYhKq%2BiycZGuvrO9cKUzos9LeNgo5yUeLPIOkgRX3EMdkuP%2FeFtp0NogVGoB3OA9zt0sLHvmgIO7g%3D%3D"}]}
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=2,cfOrigin;dur=20
CF-RAY: 9b7ec9fe29e8db12-FRA
alt-svc: h3=":443"; ma=86400
Page title: Zo Steam Play
<!DOCTYPE html>
<html lang="en" class="">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script>
(function() {
const appearance = 'system';
if (appearance === 'system') {
const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
if (prefersDark) {
document.documentElement.classList.add('dark');
}
}
})();
</script>
<script
src="https://unpkg.com/@dotlottie/player-component@2.7.12/dist/dotlottie-player.mjs"
type="module"></script>
<style>
html {
background-color: oklch(1 0 0);
}
html.dark {
background-color: oklch(0.145 0 0);
}
</style>
<title inertia>Zo Steam Play</title>
<link rel="preconnect" href="https://fonts.bunny.net">
<link href="https://fonts.bunny.net/css?family=instrument-sans:400,500,600" rel="stylesheet" />
<script type="text/javascript">const Ziggy={"url":"https:\/\/play.zostream.in","port":null,"defaults":{},"routes":{"decrypt":{"uri":"decrypt","methods":["POST"]},"stream.proxy":{"uri":"stream-proxy\/{token}","methods":["GET","HEAD"],"parameters":["token"]},"proxy.post":{"uri":"proxy","methods":["POST"]},"proxy.get":{"uri":"proxy","methods":["GET","HEAD"]},"ProfileEdit":{"uri":"user","methods":["GET","HEAD"]},"register":{"uri":"register","methods":["GET","HEAD"]},"login":{"uri":"login","methods":["GET","HEAD"]},"password.request":{"uri":"forgot-password","methods":["GET","HEAD"]},"password.reset":{"uri":"forgot-password","methods":["POST"]},"contact":{"uri":"settings\/contact","methods":["GET","HEAD"]},"profile.edit":{"uri":"settings\/profile","methods":["GET","HEAD"]},"editPro":{"uri":"settings\/user","methods":["GET","HEAD"]},"home":{"uri":"\/","methods":["GET","HEAD"]},"search":{"uri":"search","methods":["GET","HEAD"]},"category":{"uri":"category","methods":["GET","HEAD"]},"subscription":{"uri":"subscription","methods":["GET","HEAD"]},"about":{"uri":"about","methods":["GET","HEAD"]},"help":{"uri":"help","methods":["GET","HEAD"]},"faq":{"uri":"faq","methods":["GET","HEAD"]},"wishlist":{"uri":"wishlist","methods":["GET","HEAD"]},"movie.detail":{"uri":"detail\/{id}","methods":["GET","HEAD"],"parameters":["id"]},"viewall":{"uri":"viewall\/{title}\/{category}","methods":["GET","HEAD"],"parameters":["title","category"]},"storage.local":{"uri":"storage\/{path}","methods":["GET","HEAD"],"wheres":{"path":".*"},"parameters":["path"]}}};!function(t,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define(r):(t||self).route=r()}(this,function(){function t(t,r){for(var n=0;n<r.length;n++){var e=r[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,u(e.key),e)}}function r(r,n,e){return n&&t(r.prototype,n),e&&t(r,e),Object.defineProperty(r,"prototype",{writable:!1}),r}function n(){return n=Object.assign?Object.assign.bind():function(t){for(var r=1;r<arguments.length;r++){var n=arguments[r];for(var e in n)({}).hasOwnProperty.call(n,e)&&(t[e]=n[e])}return t},n.apply(null,arguments)}function e(t){return e=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},e(t)}function o(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(o=function(){return!!t})()}function i(t,r){return i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t},i(t,r)}function u(t){var r=function(t){if("object"!=typeof t||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==typeof r?r:r+""}function f(t){var r="function"==ty
Open service 104.26.0.178:80 · play.zostream.in
2026-01-03 01:40
HTTP/1.1 301 Moved Permanently
Date: Sat, 03 Jan 2026 01:40:36 GMT
Content-Length: 0
Connection: close
Location: https://play.zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=lihv5RBRvKt7XeaEn8j8tIK9IC7YvuWXnYOqFlYk5AA0bvjek3REIO2rmSfVv67VFaq0EkaSrxKlRzGg4Vt1J3aZ3HGBX5Bxe2jTBjKDEg%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=12,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9b7ec9fdcb405c4c-AMS
alt-svc: h3=":443"; ma=86400
Open service 172.67.72.133:443 · play.zostream.in
2026-01-03 01:40
HTTP/1.1 200 OK
Date: Sat, 03 Jan 2026 01:40:36 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
Cache-Control: no-cache, private
link: <https://play.zostream.in/build/assets/app-Cf5YmJTu.css>; rel="preload"; as="style", <https://play.zostream.in/build/assets/app-u_lrMTq3.js>; rel="modulepreload"
vary: X-Inertia
vary: accept-encoding
Set-Cookie: XSRF-TOKEN=eyJpdiI6IkY1V2tKdUdxR3lXcFVNVkdFUFFjWlE9PSIsInZhbHVlIjoidHpBU3dVbHZuZE9zVUJ0Q042d00rcU4vV2pKUTRTblk5a25jWElMU0FjT1RzaVBwVUg5cldXK3lUWjA0blMzWmJXZXFuQTFZVUdEdlF1V3lVNWlTMGRsT1R4VkU3Wm1NclJsWlRiSVJsMFp0U01pZ1NJazR1M3ptWnljRHZqSmIiLCJtYWMiOiI2NDI2NDJkYTI5ZWYyODRkMzg1YjY2Nzc1ZWM3YWVmZWVjYzA1MGUyZmE5NzM4YTE0ODYzMTc4YzIzYjQxZDdjIiwidGFnIjoiIn0%3D; expires=Sat, 03 Jan 2026 03:40:36 GMT; Max-Age=7200; path=/; secure; samesite=lax
Set-Cookie: zo_stream_play_session=eyJpdiI6IlA3YjFRZjJicEx1OWd1a0pQUk1lNVE9PSIsInZhbHVlIjoib2ZOVm1OSHp5aDJEWU9paitGQU5mWU1UUk92ZFF2S3pXczVSNHdnWkZxNnowVHMwaGJOOVpzN1orNWNONWZocHJadnN1bVBYQzNJemd5VE00TTF2Qk9IVStVYjVBZFVuU1FHSWpySVNvRHRIMGxnRnRPUW9wcnR1ajJKTXN0UDUiLCJtYWMiOiJlYzc5ZDNiMTVlMDAwZmY3MTFkMjlkMjQ3ZmE2OWM5YTRmNjAwZTE4NjNiZWE0YzllYTlkOWMyOWUzMDY2YWI5IiwidGFnIjoiIn0%3D; expires=Sat, 03 Jan 2026 03:40:36 GMT; Max-Age=7200; path=/; secure; httponly; samesite=lax
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=Wu7pFsNwx87yJ9sFwoSGOxfHMlEL4MUkAcGj6beIM1JiEHO00sMNYdJS69deRQK2IJCN29CZ%2F2Vvah67Uvp8cK2fqzxB8O4XJYuU5HcSNA%3D%3D"}]}
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=14,cfOrigin;dur=55
CF-RAY: 9b7ec9fe1e511c0b-FRA
alt-svc: h3=":443"; ma=86400
Page title: Zo Steam Play
<!DOCTYPE html>
<html lang="en" class="">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script>
(function() {
const appearance = 'system';
if (appearance === 'system') {
const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
if (prefersDark) {
document.documentElement.classList.add('dark');
}
}
})();
</script>
<script
src="https://unpkg.com/@dotlottie/player-component@2.7.12/dist/dotlottie-player.mjs"
type="module"></script>
<style>
html {
background-color: oklch(1 0 0);
}
html.dark {
background-color: oklch(0.145 0 0);
}
</style>
<title inertia>Zo Steam Play</title>
<link rel="preconnect" href="https://fonts.bunny.net">
<link href="https://fonts.bunny.net/css?family=instrument-sans:400,500,600" rel="stylesheet" />
<script type="text/javascript">const Ziggy={"url":"https:\/\/play.zostream.in","port":null,"defaults":{},"routes":{"decrypt":{"uri":"decrypt","methods":["POST"]},"stream.proxy":{"uri":"stream-proxy\/{token}","methods":["GET","HEAD"],"parameters":["token"]},"proxy.post":{"uri":"proxy","methods":["POST"]},"proxy.get":{"uri":"proxy","methods":["GET","HEAD"]},"ProfileEdit":{"uri":"user","methods":["GET","HEAD"]},"register":{"uri":"register","methods":["GET","HEAD"]},"login":{"uri":"login","methods":["GET","HEAD"]},"password.request":{"uri":"forgot-password","methods":["GET","HEAD"]},"password.reset":{"uri":"forgot-password","methods":["POST"]},"contact":{"uri":"settings\/contact","methods":["GET","HEAD"]},"profile.edit":{"uri":"settings\/profile","methods":["GET","HEAD"]},"editPro":{"uri":"settings\/user","methods":["GET","HEAD"]},"home":{"uri":"\/","methods":["GET","HEAD"]},"search":{"uri":"search","methods":["GET","HEAD"]},"category":{"uri":"category","methods":["GET","HEAD"]},"subscription":{"uri":"subscription","methods":["GET","HEAD"]},"about":{"uri":"about","methods":["GET","HEAD"]},"help":{"uri":"help","methods":["GET","HEAD"]},"faq":{"uri":"faq","methods":["GET","HEAD"]},"wishlist":{"uri":"wishlist","methods":["GET","HEAD"]},"movie.detail":{"uri":"detail\/{id}","methods":["GET","HEAD"],"parameters":["id"]},"viewall":{"uri":"viewall\/{title}\/{category}","methods":["GET","HEAD"],"parameters":["title","category"]},"storage.local":{"uri":"storage\/{path}","methods":["GET","HEAD"],"wheres":{"path":".*"},"parameters":["path"]}}};!function(t,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define(r):(t||self).route=r()}(this,function(){function t(t,r){for(var n=0;n<r.length;n++){var e=r[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,u(e.key),e)}}function r(r,n,e){return n&&t(r.prototype,n),e&&t(r,e),Object.defineProperty(r,"prototype",{writable:!1}),r}function n(){return n=Object.assign?Object.assign.bind():function(t){for(var r=1;r<arguments.length;r++){var n=arguments[r];for(var e in n)({}).hasOwnProperty.call(n,e)&&(t[e]=n[e])}return t},n.apply(null,arguments)}function e(t){return e=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},e(t)}function o(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(o=function(){return!!t})()}function i(t,r){return i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t},i(t,r)}function u(t){var r=function(t){if("object"!=typeof t||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==typeof r?r:r+""}function f(t){var r="function"==ty
Open service 2606:4700:20::681a:b2:8443 · play.zostream.in
2026-01-03 01:40
HTTP/1.1 522 <none> Date: Sat, 03 Jan 2026 01:40:56 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin Server-Timing: cfEdge;dur=19558,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9b7eca047ec8d3b1-FRA alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 2606:4700:20::681a:b2:443 · play.zostream.in
2026-01-03 01:40
HTTP/1.1 200 OK
Date: Sat, 03 Jan 2026 01:40:36 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
Cache-Control: no-cache, private
link: <https://play.zostream.in/build/assets/app-Cf5YmJTu.css>; rel="preload"; as="style", <https://play.zostream.in/build/assets/app-u_lrMTq3.js>; rel="modulepreload"
vary: X-Inertia
vary: accept-encoding
Set-Cookie: XSRF-TOKEN=eyJpdiI6IlBtUllaaG5CK2JBZXY0U01HSXVJZnc9PSIsInZhbHVlIjoib2tXR0xuYkRGaWtSd0RYdmxaQU8yUWpkVDlPeVNVZXFkUGUwT1JpcktmNk5qeTg3TitWNWJvamZOZnIrSDA3OWxYejc3K2MyZ0pSUmloUlBHeGlJNG9RRjl4N1NPbG5SUUl0b2g3aWkxTkRRa3cxckNoOXRhalFxYUdtbFhKUVkiLCJtYWMiOiIzZWEyYjdhOWRiM2IwNGQwOGQxYmRjODFhMjVlMmE2NmU4ZTVlOGE4NGUzZjdhODcwMDY1OTNiMDc4Yzc5MTllIiwidGFnIjoiIn0%3D; expires=Sat, 03 Jan 2026 03:40:36 GMT; Max-Age=7200; path=/; secure; samesite=lax
Set-Cookie: zo_stream_play_session=eyJpdiI6Im0xOC9YTjgrZ3FTWFZ4dnBFMllMM2c9PSIsInZhbHVlIjoiRXgxSXMvUVorUnZQMUFJZEg1c3VBOWhZKzNybzJCaFVEb1ZjQlY1VFdJUkNON1liQWhKQkdoT28wWXhOTU9yZjJmV1JkMzUvNXNkRy9HSmwrT1BSL2c3Wk9QaEhHY1d4SEhVdG5FbEpJY254Y0d0UVBBaXVDK3JHSlYySHcrSFciLCJtYWMiOiIyODUwMzU4ZGIxOWZlNTEyMWQ1NTQ5ZTUwZDNkNjc4NzY1NWU2ZjA5MWM1ZDYxYjBmYTZjM2ExODNmZWZkYmQxIiwidGFnIjoiIn0%3D; expires=Sat, 03 Jan 2026 03:40:36 GMT; Max-Age=7200; path=/; secure; httponly; samesite=lax
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=9oFBrjERFg8%2BoCJaH%2F231ZwCkY58bWbIJqeYXvVRaWEc66KwLnTST559qqZbxGTGH1xPGg40GIbqwuSBETXCFAPqdYw0ou1We06u32Pd%2BVbbaa0GxT0WL3IsKQ%3D%3D"}]}
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=9,cfOrigin;dur=40
CF-RAY: 9b7ec9fe4ed09f29-FRA
alt-svc: h3=":443"; ma=86400
Page title: Zo Steam Play
<!DOCTYPE html>
<html lang="en" class="">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script>
(function() {
const appearance = 'system';
if (appearance === 'system') {
const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
if (prefersDark) {
document.documentElement.classList.add('dark');
}
}
})();
</script>
<script
src="https://unpkg.com/@dotlottie/player-component@2.7.12/dist/dotlottie-player.mjs"
type="module"></script>
<style>
html {
background-color: oklch(1 0 0);
}
html.dark {
background-color: oklch(0.145 0 0);
}
</style>
<title inertia>Zo Steam Play</title>
<link rel="preconnect" href="https://fonts.bunny.net">
<link href="https://fonts.bunny.net/css?family=instrument-sans:400,500,600" rel="stylesheet" />
<script type="text/javascript">const Ziggy={"url":"https:\/\/play.zostream.in","port":null,"defaults":{},"routes":{"decrypt":{"uri":"decrypt","methods":["POST"]},"stream.proxy":{"uri":"stream-proxy\/{token}","methods":["GET","HEAD"],"parameters":["token"]},"proxy.post":{"uri":"proxy","methods":["POST"]},"proxy.get":{"uri":"proxy","methods":["GET","HEAD"]},"ProfileEdit":{"uri":"user","methods":["GET","HEAD"]},"register":{"uri":"register","methods":["GET","HEAD"]},"login":{"uri":"login","methods":["GET","HEAD"]},"password.request":{"uri":"forgot-password","methods":["GET","HEAD"]},"password.reset":{"uri":"forgot-password","methods":["POST"]},"contact":{"uri":"settings\/contact","methods":["GET","HEAD"]},"profile.edit":{"uri":"settings\/profile","methods":["GET","HEAD"]},"editPro":{"uri":"settings\/user","methods":["GET","HEAD"]},"home":{"uri":"\/","methods":["GET","HEAD"]},"search":{"uri":"search","methods":["GET","HEAD"]},"category":{"uri":"category","methods":["GET","HEAD"]},"subscription":{"uri":"subscription","methods":["GET","HEAD"]},"about":{"uri":"about","methods":["GET","HEAD"]},"help":{"uri":"help","methods":["GET","HEAD"]},"faq":{"uri":"faq","methods":["GET","HEAD"]},"wishlist":{"uri":"wishlist","methods":["GET","HEAD"]},"movie.detail":{"uri":"detail\/{id}","methods":["GET","HEAD"],"parameters":["id"]},"viewall":{"uri":"viewall\/{title}\/{category}","methods":["GET","HEAD"],"parameters":["title","category"]},"storage.local":{"uri":"storage\/{path}","methods":["GET","HEAD"],"wheres":{"path":".*"},"parameters":["path"]}}};!function(t,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define(r):(t||self).route=r()}(this,function(){function t(t,r){for(var n=0;n<r.length;n++){var e=r[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,u(e.key),e)}}function r(r,n,e){return n&&t(r.prototype,n),e&&t(r,e),Object.defineProperty(r,"prototype",{writable:!1}),r}function n(){return n=Object.assign?Object.assign.bind():function(t){for(var r=1;r<arguments.length;r++){var n=arguments[r];for(var e in n)({}).hasOwnProperty.call(n,e)&&(t[e]=n[e])}return t},n.apply(null,arguments)}function e(t){return e=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},e(t)}function o(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(o=function(){return!!t})()}function i(t,r){return i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t},i(t,r)}function u(t){var r=function(t){if("object"!=typeof t||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==typeof r?r:r+""}function f(t){var r="function"==ty
Open service 104.26.1.178:443 · web.zostream.in
2026-01-02 21:52
HTTP/1.1 200 OK
Date: Fri, 02 Jan 2026 21:52:36 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
last-modified: Wed, 08 Oct 2025 10:19:21 GMT
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=13,cfOrigin;dur=14
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=Ar5Wry0BdDd1q36wMuF4njOLxbIo3YIpYKD%2B8wsYs%2BVGhJriF%2FsgThFBu8mDLsuNCw3ryjHk58nNY9Ns03dtpUvG6uB22nAwygiUQJxX"}]}
cf-cache-status: DYNAMIC
vary: accept-encoding
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
CF-RAY: 9b7d7c0528bc0bad-AMS
alt-svc: h3=":443"; ma=86400
Page title: ZoStreamTV - Home
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>ZoStreamTV - Home</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="css/pages/home.css">
<link rel="stylesheet" href="css/pages/nav.css">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
</head>
<body>
<!-- Sidebar Navigation (unchanged) -->
<aside class="sidebar">
<div class="logo">
<img class="logo_img" src="logo.jpg" alt="ZoStreamTV Logo" />
<h2>ZoStreamTV</h2>
</div>
<ul class="nav-menu">
<li class="nav-item"><a href="home.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">home</i><span>Home</span></a></li>
<li class="nav-item"><a href="search.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">search</i><span>Search</span></a></li>
<li class="nav-item"><a href="category.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">movie</i><span>Category</span></a></li>
<li class="nav-item"><a href="profile.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">person</i><span>Profile</span></a></li>
</ul>
</aside>
<!-- Main Content -->
<main class="main-content">
<div id="hero-slider-container"></div>
<div id="movies-container">
<div class="loading">Loading content...</div>
</div>
</main>
<script type="module">
import { initializeRemoteControl } from './js/utils/uniRemote.js';
import { apiClient } from './js/service/apiClient.js';
import { protectPage } from './js/service/authGuard.js';
import { toast } from './js/utils/toastify.js';
import useAgeRestriction from './js/utils/useAgeRestriction.js';
let heroTrack, heroSlides, heroDots, currentHeroIndex = 1; // Start at 1 (the first REAL slide)
let isTransitioning = false;
const ageRestricted = useAgeRestriction.value;
document.addEventListener('DOMContentLoaded', async () => {
document.querySelectorAll('.nav-link').forEach(link => {
if (link.href === window.location.href) link.classList.add('active');
});
try {
await protectPage();
await loadContent();
setupNavigation();
} catch (error) {
showError('Authentication required. Redirecting...');
setTimeout(() => window.location.href = './login.html', 2000);
}
});
async function loadContent() {
// ... (This function is unchanged) ...
const moviesContainer = document.getElementById('movies-container');
try {
moviesContainer.innerHTML = '<div class="loading">Loading content...</div>';
const response = await apiClient.get(`/movies?age_restriction=${ageRestricted}`);
if (!response || Object.keys(response).length === 0) {
moviesContainer.innerHTML = '<div class="loading">No content available</div>';
return;
}
moviesContainer.innerHTML = '';
let regularCatIndex = 0;
Object.entries(response).forEach(([category, items]) => {
if (!items || items.length === 0) return;
if (category === 'Latest Update') {
createHeroSlider(items);
} else {
const section = document.createElement('div');
section.className = 'category-section';
section.innerHTML = `<h2 class="category-title">${category}</h2><div class="movies-scroller"><div class="movies-row" id="category-${regularCatIndex}"></div></div>`;
const row = section.querySelector('.movies-row');
items.forEach(item => row.appendChild(createMediaCard(item)));
moviesContainer.appendChild(section);
regularCatIndex++;
}
});
} catch (error) {
showError('Failed to load content. Please try again.');
}
}
function createHeroSlider(items) {
const sliderContainer = document.getElementById('hero-slider-container');
if (!sliderContainer || items.length === 0) return;
co
Open service 104.26.0.178:443 · tv.zostream.in
2026-01-02 01:10
HTTP/1.1 200 OK
Date: Fri, 02 Jan 2026 01:10:20 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
last-modified: Wed, 08 Oct 2025 10:41:59 GMT
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=10,cfOrigin;dur=605
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=s1mZcsDZu0igmGqYGfcK%2BSQF%2FX4TeRIXXQWruOyE7TVF%2B8kzGi2Ikxg1BTcaEnhdf2XHcgxql93N9i32ZdLQiyrJ3uYcUMoApp7n"}]}
cf-cache-status: DYNAMIC
vary: accept-encoding
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
CF-RAY: 9b7660446eb7f534-EWR
alt-svc: h3=":443"; ma=86400
Page title: ZoStreamTV - Home
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>ZoStreamTV - Home</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="css/pages/home.css">
<link rel="stylesheet" href="css/pages/nav.css">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
</head>
<body>
<!-- Sidebar Navigation (unchanged) -->
<aside class="sidebar">
<div class="logo">
<img class="logo_img" src="logo.jpg" alt="ZoStreamTV Logo" />
<h2>ZoStreamTV</h2>
</div>
<ul class="nav-menu">
<li class="nav-item"><a href="home.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">home</i><span>Home</span></a></li>
<li class="nav-item"><a href="search.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">search</i><span>Search</span></a></li>
<li class="nav-item"><a href="category.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">movie</i><span>Category</span></a></li>
<li class="nav-item"><a href="profile.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">person</i><span>Profile</span></a></li>
</ul>
</aside>
<!-- Main Content -->
<main class="main-content">
<div id="hero-slider-container"></div>
<div id="movies-container">
<div class="loading">Loading content...</div>
</div>
</main>
<script type="module">
import { initializeRemoteControl } from './js/utils/uniRemote.js';
import { apiClient } from './js/service/apiClient.js';
import { protectPage } from './js/service/authGuard.js';
import { toast } from './js/utils/toastify.js';
import useAgeRestriction from './js/utils/useAgeRestriction.js';
let heroTrack, heroSlides, heroDots, currentHeroIndex = 1; // Start at 1 (the first REAL slide)
let isTransitioning = false;
const ageRestricted = useAgeRestriction.value;
document.addEventListener('DOMContentLoaded', async () => {
document.querySelectorAll('.nav-link').forEach(link => {
if (link.href === window.location.href) link.classList.add('active');
});
try {
await protectPage();
await loadContent();
setupNavigation();
} catch (error) {
showError('Authentication required. Redirecting...');
setTimeout(() => window.location.href = './login.html', 2000);
}
});
async function loadContent() {
// ... (This function is unchanged) ...
const moviesContainer = document.getElementById('movies-container');
try {
moviesContainer.innerHTML = '<div class="loading">Loading content...</div>';
const response = await apiClient.get(`/movies?age_restriction=${ageRestricted}`);
if (!response || Object.keys(response).length === 0) {
moviesContainer.innerHTML = '<div class="loading">No content available</div>';
return;
}
moviesContainer.innerHTML = '';
let regularCatIndex = 0;
Object.entries(response).forEach(([category, items]) => {
if (!items || items.length === 0) return;
if (category === 'Latest Update') {
createHeroSlider(items);
} else {
const section = document.createElement('div');
section.className = 'category-section';
section.innerHTML = `<h2 class="category-title">${category}</h2><div class="movies-scroller"><div class="movies-row" id="category-${regularCatIndex}"></div></div>`;
const row = section.querySelector('.movies-row');
items.forEach(item => row.appendChild(createMediaCard(item)));
moviesContainer.appendChild(section);
regularCatIndex++;
}
});
} catch (error) {
showError('Failed to load content. Please try again.');
}
}
function createHeroSlider(items) {
const sliderContainer = document.getElementById('hero-slider-container');
if (!sliderContainer || items.length === 0) return;
co
Open service 172.67.72.133:8443 · zostream.in
2025-12-31 17:04
HTTP/1.1 522 <none> Date: Wed, 31 Dec 2025 17:04:23 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin Server-Timing: cfEdge;dur=19528,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9b6b5a979db4dc64-FRA alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 2606:4700:20::681a:b2:8443 · zostream.in
2025-12-31 17:04
HTTP/1.1 522 <none> Date: Wed, 31 Dec 2025 17:04:22 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin Server-Timing: cfEdge;dur=19442,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9b6b5a9179ffa446-EWR alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 172.67.72.133:443 · zostream.in
2025-12-31 17:04
HTTP/1.1 200 OK
Date: Wed, 31 Dec 2025 17:04:10 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=AyGleWU%2F0B0ZdfhvJCX6iBL64VOGUMawSrULIIyMEv337wrR3XmEE%2FiNRyeWu%2Fr%2Ft2h7baHHuM251cG0fM1C%2FgplyEH2%2B%2Be7OkU%3D"}]}
vary: Accept-Encoding
Server: cloudflare
Cache-Control: no-cache,no-store
x-frame-options: SAMEORIGIN
alt-svc: h3=":443"; ma=86400
x-turbo-charged-by: LiteSpeed
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=5,cfOrigin;dur=7863
CF-RAY: 9b6b5a8f5cbfae70-EWR
Page title: Bot Verification
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Bot Verification</title>
<script>
function onSubmit() {
document.getElementById('lsrecaptcha-form').submit();
}
var onloadCallback = function() {
var cont = grecaptcha.render('recaptchadiv', {
'sitekey': '6LewU34UAAAAAHvXqFOcQlm8z1MP1xpGAZCYEeZY',
'callback': onSubmit,
});
grecaptcha.execute(cont);
};
</script>
<style>
body {
height: 100%;
}
.panel {
padding: 30px;
max-width: 425px;
margin: 10% auto;
box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.2);
}
.title {
font-size: 1.5em;
font-weight: 100;
margin-top: 10px;
text-align: center;
}
.recaptcha-center {
margin-top: 35px;
margin-bottom: 20px;
margin-left: 13%;
margin-right: 13%;
display: block;
}
</style>
</head>
<body>
<div class="panel">
<h3 class="title">Verifying that you are not a robot...</h3>
<form id="lsrecaptcha-form" method="POST" action="/.lsrecap/recaptcha?">
<div id="recaptchadiv" class="recaptcha-center"></div>
</form>
</div>
<script src="https://www.recaptcha.net/recaptcha/api.js?onload=onloadCallback&render=explicit"
async defer>
</script>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"90f232155d114443b5c375b5e6c03ad9","server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
Open service 172.67.72.133:80 · zostream.in
2025-12-31 17:04
HTTP/1.1 301 Moved Permanently
Date: Wed, 31 Dec 2025 17:04:01 GMT
Content-Length: 0
Connection: close
Location: https://zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=8Z%2BpDn0yr5Ljf%2BS3Yn4%2BZVikqmvXuh%2FlgPRfgeyvV0aKVsP6UgYb5iCYDo2uPS7SPpuCmLZmNQefDV3mNR93DcsyzeOmp%2BYxMSg%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=10,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9b6b5a8afb6eebe9-SJC
alt-svc: h3=":443"; ma=86400
Open service 104.26.0.178:8443 · zostream.in
2025-12-31 17:04
HTTP/1.1 522 <none> Date: Wed, 31 Dec 2025 17:04:22 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin Server-Timing: cfEdge;dur=19655,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9b6b5a90d8fcd348-FRA alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 2606:4700:20::681a:1b2:80 · zostream.in
2025-12-31 17:04
HTTP/1.1 301 Moved Permanently
Date: Wed, 31 Dec 2025 17:04:01 GMT
Content-Length: 0
Connection: close
Location: https://zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=czjm%2FSfL6c%2B1ny2LCTbDO88DeCOIc8iFeBeYHwITbZqFCY2Fo4iPHt3yTW%2BT05quKLG%2FBzhWR5pF7mT3EBOphA0A9we%2Fyx3LddRl8quj3AQ%2FBjQLNFo%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=10,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9b6b5a8a6db7c623-EWR
alt-svc: h3=":443"; ma=86400
Open service 2606:4700:20::ac43:4885:443 · zostream.in
2025-12-31 17:04
HTTP/1.1 200 OK
Date: Wed, 31 Dec 2025 17:04:03 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
last-modified: Thu, 09 Oct 2025 03:50:30 GMT
Speculation-Rules: "/cdn-cgi/speculation"
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=6,cfOrigin;dur=829
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=KCIiF0LQlHB%2BuufBGUJ9FfU%2BtiuYGzH0VtfF0tpd3akZ4xF6yE8ESKnxpokxIVlD2RMU7EYa79z1%2B2tTjyltZjPIQvvsl8R0nLL1wY1GcADfGKnO3Mg%3D"}]}
vary: Accept-Encoding
Server: cloudflare
platform: hostinger
panel: hpanel
content-security-policy: upgrade-insecure-requests
alt-svc: h3=":443"; ma=86400
x-turbo-charged-by: LiteSpeed
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
CF-RAY: 9b6b5a8f1a9cda80-EWR
Page title: Zo Stream — Watch. Listen. Anywhere.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Zo Stream — Watch. Listen. Anywhere.</title>
<link rel="stylesheet" href="style.css" />
<meta name="description"
content="Zo Stream: Movies, series, music, podcasts, and live TV — all in one fast, modern app." />
</head>
<body>
<!-- ================= Header ================= -->
<header class="header">
<div class="wrap nav" role="navigation" aria-label="Primary">
<div class="brand">
<div class="logo" aria-hidden="true"></div>
<span>Zo Stream</span>
</div>
<nav class="links" aria-label="Sections">
<a href="/">Home</a>
<a href="/about-us">About Us</a>
<a href="/contact-us">Contact Us</a>
<a href="#faq">FAQ</a>
<a href="/tv">TV</a>
<!-- NEW: Pages dropdown (desktop) -->
<div class="dropdown">
<button class="drop-toggle" aria-haspopup="true" aria-expanded="false" aria-controls="pagesMenu">
Pages
<svg class="caret" width="16" height="16" viewBox="0 0 24 24" fill="none" aria-hidden="true">
<path d="M6 9l6 6 6-6" stroke="currentColor" stroke-width="2" stroke-linecap="round" />
</svg>
</button>
<div id="pagesMenu" class="drop-menu" role="menu">
<a role="menuitem" href="/privacy-policy">Privacy Policy</a>
<a role="menuitem" href="/refund-and-cancellation">Refund & Cancellation</a>
<a role="menuitem" href="/return-policy">Return Policy</a>
<a role="menuitem" href="/shipping-policy">Shipping Policy</a>
<a role="menuitem" href="/terms-condition">Terms & Condition</a>
</div>
</div>
</nav>
</div>
</header>
<!-- ================= Hero ================= -->
<section class="hero">
<div class="wrap grid">
<div>
<span class="chip">New • Live streams & Podcasts</span>
<h1>Watch. Listen. <span
style="background:linear-gradient(90deg,var(--brand1),var(--brand2));-webkit-background-clip:text;background-clip:text;color:transparent">Anywhere</span>.
</h1>
<p class="lead">Movies, series, music, podcasts, and live TV—beautifully fast. No buffering, no fuss.
Just press play.</p>
<p class="tiny" style="margin-top:10px">
<span>🔒 Secure by design</span> ·
<span>⚡ Fast CDN delivery</span> ·
<span>🌟 HD ready</span>
</p>
</div>
<div class="screen" aria-label="Preview">
<img src="assets/preview-platform.jpg" alt="Zo Stream preview" style="width:100%;height:100%;object-fit:cover;">
</div>
</div>
</section>
<!-- Logos -->
<div class="wrap logos" aria-label="Tech badges">
<div class="logo-item">Dolby</div>
<div class="logo-item">HDR10+</div>
<div class="logo-item">Cloudflare</div>
<div class="logo-item">Firebase</div>
<div class="logo-item">Laravel</div>
<div class="logo-item">Android</div>
</div>
<!-- ================= Features ================= -->
<section id="features">
<div class="wrap">
<div class="center">
<span class="chip">Why Zo Stream</span>
<h2>Built for binge-worthy days</h2>
<p class="sub">Everything you love about streaming, polished to perfection.</p>
</div>
<div class="grid-3" style="margin-top:18px">
<article class="card">
<div class="i
Open service 104.26.1.178:443 · zostream.in
2025-12-31 17:04
HTTP/1.1 200 OK
Date: Wed, 31 Dec 2025 17:04:10 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=gudmh2FyGAE5v49uVG36m1NcgpNe5Q0dW3mLro4K0h4zdoHL8rEMprfNPEFCEGJo83kzTzXdVTji%2BlKIa%2FwO4hzTLr8VD03mSUs%3D"}]}
vary: Accept-Encoding
Server: cloudflare
Cache-Control: no-cache,no-store
x-frame-options: SAMEORIGIN
alt-svc: h3=":443"; ma=86400
x-turbo-charged-by: LiteSpeed
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=5,cfOrigin;dur=7674
CF-RAY: 9b6b5a8fd875b1b4-SJC
Page title: Bot Verification
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Bot Verification</title>
<script>
function onSubmit() {
document.getElementById('lsrecaptcha-form').submit();
}
var onloadCallback = function() {
var cont = grecaptcha.render('recaptchadiv', {
'sitekey': '6LewU34UAAAAAHvXqFOcQlm8z1MP1xpGAZCYEeZY',
'callback': onSubmit,
});
grecaptcha.execute(cont);
};
</script>
<style>
body {
height: 100%;
}
.panel {
padding: 30px;
max-width: 425px;
margin: 10% auto;
box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.2);
}
.title {
font-size: 1.5em;
font-weight: 100;
margin-top: 10px;
text-align: center;
}
.recaptcha-center {
margin-top: 35px;
margin-bottom: 20px;
margin-left: 13%;
margin-right: 13%;
display: block;
}
</style>
</head>
<body>
<div class="panel">
<h3 class="title">Verifying that you are not a robot...</h3>
<form id="lsrecaptcha-form" method="POST" action="/.lsrecap/recaptcha?">
<div id="recaptchadiv" class="recaptcha-center"></div>
</form>
</div>
<script src="https://www.recaptcha.net/recaptcha/api.js?onload=onloadCallback&render=explicit"
async defer>
</script>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"90f232155d114443b5c375b5e6c03ad9","server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
Open service 2606:4700:20::681a:b2:443 · zostream.in
2025-12-31 17:04
HTTP/1.1 200 OK
Date: Wed, 31 Dec 2025 17:04:02 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
last-modified: Thu, 09 Oct 2025 03:50:30 GMT
Speculation-Rules: "/cdn-cgi/speculation"
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=7,cfOrigin;dur=301
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=cxSZSRTE0Tj7bD%2BAZjS9NDxjjcZLUf9Xr9Jt1S8NOHjxJH%2F7n%2FNBJCv1G4tZawzRJidG%2BXjlashb%2B6geE%2Bd7S00MRoKb0ypcGM2IAJ%2BKTBNanOtSLu4%3D"}]}
vary: Accept-Encoding
Server: cloudflare
platform: hostinger
panel: hpanel
content-security-policy: upgrade-insecure-requests
alt-svc: h3=":443"; ma=86400
x-turbo-charged-by: LiteSpeed
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
CF-RAY: 9b6b5a8fac8cab8e-YYZ
Page title: Zo Stream — Watch. Listen. Anywhere.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Zo Stream — Watch. Listen. Anywhere.</title>
<link rel="stylesheet" href="style.css" />
<meta name="description"
content="Zo Stream: Movies, series, music, podcasts, and live TV — all in one fast, modern app." />
</head>
<body>
<!-- ================= Header ================= -->
<header class="header">
<div class="wrap nav" role="navigation" aria-label="Primary">
<div class="brand">
<div class="logo" aria-hidden="true"></div>
<span>Zo Stream</span>
</div>
<nav class="links" aria-label="Sections">
<a href="/">Home</a>
<a href="/about-us">About Us</a>
<a href="/contact-us">Contact Us</a>
<a href="#faq">FAQ</a>
<a href="/tv">TV</a>
<!-- NEW: Pages dropdown (desktop) -->
<div class="dropdown">
<button class="drop-toggle" aria-haspopup="true" aria-expanded="false" aria-controls="pagesMenu">
Pages
<svg class="caret" width="16" height="16" viewBox="0 0 24 24" fill="none" aria-hidden="true">
<path d="M6 9l6 6 6-6" stroke="currentColor" stroke-width="2" stroke-linecap="round" />
</svg>
</button>
<div id="pagesMenu" class="drop-menu" role="menu">
<a role="menuitem" href="/privacy-policy">Privacy Policy</a>
<a role="menuitem" href="/refund-and-cancellation">Refund & Cancellation</a>
<a role="menuitem" href="/return-policy">Return Policy</a>
<a role="menuitem" href="/shipping-policy">Shipping Policy</a>
<a role="menuitem" href="/terms-condition">Terms & Condition</a>
</div>
</div>
</nav>
</div>
</header>
<!-- ================= Hero ================= -->
<section class="hero">
<div class="wrap grid">
<div>
<span class="chip">New • Live streams & Podcasts</span>
<h1>Watch. Listen. <span
style="background:linear-gradient(90deg,var(--brand1),var(--brand2));-webkit-background-clip:text;background-clip:text;color:transparent">Anywhere</span>.
</h1>
<p class="lead">Movies, series, music, podcasts, and live TV—beautifully fast. No buffering, no fuss.
Just press play.</p>
<p class="tiny" style="margin-top:10px">
<span>🔒 Secure by design</span> ·
<span>⚡ Fast CDN delivery</span> ·
<span>🌟 HD ready</span>
</p>
</div>
<div class="screen" aria-label="Preview">
<img src="assets/preview-platform.jpg" alt="Zo Stream preview" style="width:100%;height:100%;object-fit:cover;">
</div>
</div>
</section>
<!-- Logos -->
<div class="wrap logos" aria-label="Tech badges">
<div class="logo-item">Dolby</div>
<div class="logo-item">HDR10+</div>
<div class="logo-item">Cloudflare</div>
<div class="logo-item">Firebase</div>
<div class="logo-item">Laravel</div>
<div class="logo-item">Android</div>
</div>
<!-- ================= Features ================= -->
<section id="features">
<div class="wrap">
<div class="center">
<span class="chip">Why Zo Stream</span>
<h2>Built for binge-worthy days</h2>
<p class="sub">Everything you love about streaming, polished to perfection.</p>
</div>
<div class="grid-3" style="margin-top:18px">
<article class="card">
<div class="i
Open service 104.26.0.178:80 · zostream.in
2025-12-31 17:04
HTTP/1.1 301 Moved Permanently
Date: Wed, 31 Dec 2025 17:04:01 GMT
Content-Length: 0
Connection: close
Location: https://zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=PvYOLN2LM2dAJZseMTpiCMBv%2FReklZuse71oNuBBlhbMO7SOrG3GgKamSAYt9jSRYz0FHflkou2%2F1prvgf2L2ygpwBrA2HhpXN0%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=3,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9b6b5a8a4bb3dc8e-FRA
alt-svc: h3=":443"; ma=86400
Open service 2606:4700:20::681a:1b2:8443 · zostream.in
2025-12-31 17:04
HTTP/1.1 522 <none> Date: Wed, 31 Dec 2025 17:04:22 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin Server-Timing: cfEdge;dur=19368,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9b6b5a9089ee711c-YYZ alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 2606:4700:20::ac43:4885:80 · zostream.in
2025-12-31 17:04
HTTP/1.1 301 Moved Permanently
Date: Wed, 31 Dec 2025 17:04:01 GMT
Content-Length: 0
Connection: close
Location: https://zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=BbAcYhRCJWjtBS8IaeJU%2FIYwW%2Bm8jVT3wJ08xS%2Bk7yVZA%2FjG83pgvcG3cWPAvK6VkhTZq0NDT%2BwyGPe5tbliP5ZCYfY4l3%2B6YYuqruEqIAg6MOPEtYA%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=12,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9b6b5a8a3c8e4795-LHR
alt-svc: h3=":443"; ma=86400
Open service 104.26.1.178:80 · zostream.in
2025-12-31 17:04
HTTP/1.1 301 Moved Permanently
Date: Wed, 31 Dec 2025 17:04:01 GMT
Content-Length: 0
Connection: close
Location: https://zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=5zYLfM%2B9rx8uY9toy9xzeFdk3AiA2%2FNanteQ7Jx2UudNwjlK%2BnC%2FBF560S7d8LnABQOSy8nODHIkqKRZmN9gj6Azylj%2BYFTbqbc%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=4,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9b6b5a8a4e8fc4e4-LHR
alt-svc: h3=":443"; ma=86400
Open service 2606:4700:20::ac43:4885:8443 · zostream.in
2025-12-31 17:04
HTTP/1.1 522 <none> Date: Wed, 31 Dec 2025 17:04:22 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin Server-Timing: cfEdge;dur=19472,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9b6b5a9069f61d7b-YYZ alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 104.26.0.178:443 · zostream.in
2025-12-31 17:04
HTTP/1.1 200 OK
Date: Wed, 31 Dec 2025 17:04:10 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=8Z0svlfYAIPxq1SPxPT%2FfyKc4F1rNsjVQ2Ard8ovUZUNgMpX3F%2FZHHz1KPwFJEYLmPOi2ucbH8U%2BCtRSBQyyGaaeDgt7lGEhT2Y%3D"}]}
vary: Accept-Encoding
Server: cloudflare
Cache-Control: no-cache,no-store
x-frame-options: SAMEORIGIN
alt-svc: h3=":443"; ma=86400
x-turbo-charged-by: LiteSpeed
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=9,cfOrigin;dur=7669
CF-RAY: 9b6b5a8fb896ebc0-YYZ
Page title: Bot Verification
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Bot Verification</title>
<script>
function onSubmit() {
document.getElementById('lsrecaptcha-form').submit();
}
var onloadCallback = function() {
var cont = grecaptcha.render('recaptchadiv', {
'sitekey': '6LewU34UAAAAAHvXqFOcQlm8z1MP1xpGAZCYEeZY',
'callback': onSubmit,
});
grecaptcha.execute(cont);
};
</script>
<style>
body {
height: 100%;
}
.panel {
padding: 30px;
max-width: 425px;
margin: 10% auto;
box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.2);
}
.title {
font-size: 1.5em;
font-weight: 100;
margin-top: 10px;
text-align: center;
}
.recaptcha-center {
margin-top: 35px;
margin-bottom: 20px;
margin-left: 13%;
margin-right: 13%;
display: block;
}
</style>
</head>
<body>
<div class="panel">
<h3 class="title">Verifying that you are not a robot...</h3>
<form id="lsrecaptcha-form" method="POST" action="/.lsrecap/recaptcha?">
<div id="recaptchadiv" class="recaptcha-center"></div>
</form>
</div>
<script src="https://www.recaptcha.net/recaptcha/api.js?onload=onloadCallback&render=explicit"
async defer>
</script>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"90f232155d114443b5c375b5e6c03ad9","server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
Open service 2606:4700:20::681a:b2:80 · zostream.in
2025-12-31 17:04
HTTP/1.1 301 Moved Permanently
Date: Wed, 31 Dec 2025 17:04:01 GMT
Content-Length: 0
Connection: close
Location: https://zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=10aEeuEeMlNQUZopMs8MZ5J8mD7%2FJ45MhOhH3%2FfDil02zBLB0UmUlUEwYIgFPOZ5E1ExwiYdqYyo4wiSs2meJJ1wOadxNgvzwILNni6eUpVA3NVzvAw%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=4,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9b6b5a89ea76366d-FRA
alt-svc: h3=":443"; ma=86400
Open service 104.26.1.178:8443 · zostream.in
2025-12-31 17:04
HTTP/1.1 522 <none> Date: Wed, 31 Dec 2025 17:04:22 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin Server-Timing: cfEdge;dur=19599,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9b6b5a902a0380ce-EWR alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 2606:4700:20::681a:1b2:443 · zostream.in
2025-12-31 17:04
HTTP/1.1 200 OK
Date: Wed, 31 Dec 2025 17:04:03 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
last-modified: Thu, 09 Oct 2025 03:50:30 GMT
Speculation-Rules: "/cdn-cgi/speculation"
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=10,cfOrigin;dur=863
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=VJZSJ7clNUbPMfrZRq6M92Y0ieSaIEQbQLU%2BcIrSUYN6R5jLk9J7XVO%2F9xbp%2F1Iw9rxYoCJbNxRDO8bj8Ag%2Ba1ff5aH%2FfIoKUvCqveEs6opM8uDg9ko%3D"}]}
vary: Accept-Encoding
Server: cloudflare
platform: hostinger
panel: hpanel
content-security-policy: upgrade-insecure-requests
alt-svc: h3=":443"; ma=86400
x-turbo-charged-by: LiteSpeed
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
CF-RAY: 9b6b5a8e8f0a4815-EWR
Page title: Zo Stream — Watch. Listen. Anywhere.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Zo Stream — Watch. Listen. Anywhere.</title>
<link rel="stylesheet" href="style.css" />
<meta name="description"
content="Zo Stream: Movies, series, music, podcasts, and live TV — all in one fast, modern app." />
</head>
<body>
<!-- ================= Header ================= -->
<header class="header">
<div class="wrap nav" role="navigation" aria-label="Primary">
<div class="brand">
<div class="logo" aria-hidden="true"></div>
<span>Zo Stream</span>
</div>
<nav class="links" aria-label="Sections">
<a href="/">Home</a>
<a href="/about-us">About Us</a>
<a href="/contact-us">Contact Us</a>
<a href="#faq">FAQ</a>
<a href="/tv">TV</a>
<!-- NEW: Pages dropdown (desktop) -->
<div class="dropdown">
<button class="drop-toggle" aria-haspopup="true" aria-expanded="false" aria-controls="pagesMenu">
Pages
<svg class="caret" width="16" height="16" viewBox="0 0 24 24" fill="none" aria-hidden="true">
<path d="M6 9l6 6 6-6" stroke="currentColor" stroke-width="2" stroke-linecap="round" />
</svg>
</button>
<div id="pagesMenu" class="drop-menu" role="menu">
<a role="menuitem" href="/privacy-policy">Privacy Policy</a>
<a role="menuitem" href="/refund-and-cancellation">Refund & Cancellation</a>
<a role="menuitem" href="/return-policy">Return Policy</a>
<a role="menuitem" href="/shipping-policy">Shipping Policy</a>
<a role="menuitem" href="/terms-condition">Terms & Condition</a>
</div>
</div>
</nav>
</div>
</header>
<!-- ================= Hero ================= -->
<section class="hero">
<div class="wrap grid">
<div>
<span class="chip">New • Live streams & Podcasts</span>
<h1>Watch. Listen. <span
style="background:linear-gradient(90deg,var(--brand1),var(--brand2));-webkit-background-clip:text;background-clip:text;color:transparent">Anywhere</span>.
</h1>
<p class="lead">Movies, series, music, podcasts, and live TV—beautifully fast. No buffering, no fuss.
Just press play.</p>
<p class="tiny" style="margin-top:10px">
<span>🔒 Secure by design</span> ·
<span>⚡ Fast CDN delivery</span> ·
<span>🌟 HD ready</span>
</p>
</div>
<div class="screen" aria-label="Preview">
<img src="assets/preview-platform.jpg" alt="Zo Stream preview" style="width:100%;height:100%;object-fit:cover;">
</div>
</div>
</section>
<!-- Logos -->
<div class="wrap logos" aria-label="Tech badges">
<div class="logo-item">Dolby</div>
<div class="logo-item">HDR10+</div>
<div class="logo-item">Cloudflare</div>
<div class="logo-item">Firebase</div>
<div class="logo-item">Laravel</div>
<div class="logo-item">Android</div>
</div>
<!-- ================= Features ================= -->
<section id="features">
<div class="wrap">
<div class="center">
<span class="chip">Why Zo Stream</span>
<h2>Built for binge-worthy days</h2>
<p class="sub">Everything you love about streaming, polished to perfection.</p>
</div>
<div class="grid-3" style="margin-top:18px">
<article class="card">
<div class="i
Open service 2606:4700:20::ac43:4885:8443 · api.zostream.in
2025-12-23 22:08
Open service 2606:4700:20::681a:1b2:8443 · api.zostream.in
2025-12-23 22:08
Open service 2606:4700:20::681a:b2:443 · api.zostream.in
2025-12-23 22:08
HTTP/1.1 200 OK
Date: Tue, 23 Dec 2025 22:08:48 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
x-powered-by: PHP/8.2.28
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=nxRafufISNV4LyMGCICFtfjqZu60Va%2FXqrnSgmhXOShz%2Fz%2BQjmssqvsvkXzaUS%2BtvOUafg%2B959Wz%2Ftw1b025%2Fsp7v3eUWMaJEoT34is33RQZ5DJGohREqG8h"}]}
vary: Accept-Encoding
Server: cloudflare
platform: hostinger
panel: hpanel
content-security-policy: upgrade-insecure-requests
alt-svc: h3=":443"; ma=86400
x-turbo-charged-by: LiteSpeed
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=12,cfOrigin;dur=834
CF-RAY: 9b2b2dfaafddab46-YYZ
Page title: Restricted page
<!DOCTYPE html>
<html lang="en">
<head>
<title>Restricted page</title>
<link rel="icon" type="image/x-icon" href="https://hpanel.hostinger.com/favicons/hostinger.png">
<meta charset="utf-8">
<meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
<meta content="Default page" name="description">
<meta content="width=device-width, initial-scale=1" name="viewport">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link href="https://fonts.googleapis.com/css2?family=DM+Sans&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;700&display=swap" rel="stylesheet">
<style>
body {
margin: 0px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
width: 100vw;
height: 100vh;
min-height: 675px;
background-color: #F4F5FF;
}
p {
width: 100%;
left: 0px;
font-size: 16px;
font-family: 'DM Sans', sans-serif;
font-weight: 400;
letter-spacing: 0px;
text-align: center;
vertical-align: top;
max-width: 550px;
color: #727586;
margin: 0px;
}
a:hover {
cursor: pointer;
color: #673DE6;
text-decoration: underline;
}
h1 {
font-family: 'DM Sans', sans-serif;
font-size: 24px;
font-weight: 700;
letter-spacing: 0px;
text-align: center;
margin: 8px;
}
.content {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
}
.ic-launch {
margin-left: 10.5px;
width: 21px !important;
height: 20px !important;
}
.link-container {
margin-top: 32px;
margin-bottom: 32px;
}
.link {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
font-family: 'DM Sans', sans-serif;
font-style: normal;
font-weight: 700;
font-size: 14px;
color: #673DE6;
margin-top: 8px;
text-decoration: none;
}
.main-image {
width: 100%;
max-width: 650px;
max-height: 406px;
height: auto;
}
.navigation {
width: 100%;
height: 72px;
display: flex;
margin: 0;
padding: 0;
flex-direction: row;
align-items: center;
justify-content: center;
background-color: #36344D;
}
@media screen and (max-width: 580px) and (min-width: 0px) {
h1, p, .link-container {
width: 80%;
}
}
@media screen and (min-width: 650px) and (min-height: 0px) and (max-height: 750px) {
.link-container {
margin-top: 12px;
}
h1 {
margin-top: 0px;
margin-bottom: 0px;
}
}
</style>
</head>
<body>
<div class="content">
<img src="https://blr1.vultrobjects.com/zostream/AAPK/ssddff.jpg" alt="Girl in a jacket" width="650" >
<h1>This Page is restricted!</h1>
<p>Phalna n
Open service 2606:4700:20::ac43:4885:80 · api.zostream.in
2025-12-23 22:08
HTTP/1.1 301 Moved Permanently
Date: Tue, 23 Dec 2025 22:08:47 GMT
Content-Length: 0
Connection: close
Location: https://api.zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=%2FEKfqo3OTobH9GhgZ%2BcrsbBY8n1cVU05giXk4pkejcvfTdk7iaR9sEDis2Uiw7%2BRoeetuWKC7Ys07hhzo2MfwSQyUdQqDYmirhNBU7KR4QbMAY%2FElivOo2Bc"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=17,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9b2b2df5eb9c42cb-EWR
alt-svc: h3=":443"; ma=86400
Open service 2606:4700:20::681a:1b2:443 · api.zostream.in
2025-12-23 22:08
HTTP/1.1 200 OK
Date: Tue, 23 Dec 2025 22:08:48 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
x-powered-by: PHP/8.2.28
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=6k9OmMNqZd57IowlVaK3jsorDVED2%2FWJ%2Bw55gu07ZON8ZfX23tYRpchU47n%2BjG86ey08geIwyDd3lIvSKA8pVxG%2B8bgWKulsrrbYzetMRqF%2FYHNup9XRId7M"}]}
vary: Accept-Encoding
Server: cloudflare
platform: hostinger
panel: hpanel
content-security-policy: upgrade-insecure-requests
alt-svc: h3=":443"; ma=86400
x-turbo-charged-by: LiteSpeed
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=11,cfOrigin;dur=779
CF-RAY: 9b2b2dfb1fcdab4b-YYZ
Page title: Restricted page
<!DOCTYPE html>
<html lang="en">
<head>
<title>Restricted page</title>
<link rel="icon" type="image/x-icon" href="https://hpanel.hostinger.com/favicons/hostinger.png">
<meta charset="utf-8">
<meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
<meta content="Default page" name="description">
<meta content="width=device-width, initial-scale=1" name="viewport">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link href="https://fonts.googleapis.com/css2?family=DM+Sans&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;700&display=swap" rel="stylesheet">
<style>
body {
margin: 0px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
width: 100vw;
height: 100vh;
min-height: 675px;
background-color: #F4F5FF;
}
p {
width: 100%;
left: 0px;
font-size: 16px;
font-family: 'DM Sans', sans-serif;
font-weight: 400;
letter-spacing: 0px;
text-align: center;
vertical-align: top;
max-width: 550px;
color: #727586;
margin: 0px;
}
a:hover {
cursor: pointer;
color: #673DE6;
text-decoration: underline;
}
h1 {
font-family: 'DM Sans', sans-serif;
font-size: 24px;
font-weight: 700;
letter-spacing: 0px;
text-align: center;
margin: 8px;
}
.content {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
}
.ic-launch {
margin-left: 10.5px;
width: 21px !important;
height: 20px !important;
}
.link-container {
margin-top: 32px;
margin-bottom: 32px;
}
.link {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
font-family: 'DM Sans', sans-serif;
font-style: normal;
font-weight: 700;
font-size: 14px;
color: #673DE6;
margin-top: 8px;
text-decoration: none;
}
.main-image {
width: 100%;
max-width: 650px;
max-height: 406px;
height: auto;
}
.navigation {
width: 100%;
height: 72px;
display: flex;
margin: 0;
padding: 0;
flex-direction: row;
align-items: center;
justify-content: center;
background-color: #36344D;
}
@media screen and (max-width: 580px) and (min-width: 0px) {
h1, p, .link-container {
width: 80%;
}
}
@media screen and (min-width: 650px) and (min-height: 0px) and (max-height: 750px) {
.link-container {
margin-top: 12px;
}
h1 {
margin-top: 0px;
margin-bottom: 0px;
}
}
</style>
</head>
<body>
<div class="content">
<img src="https://blr1.vultrobjects.com/zostream/AAPK/ssddff.jpg" alt="Girl in a jacket" width="650" >
<h1>This Page is restricted!</h1>
<p>Phalna n
Open service 104.26.0.178:8443 · api.zostream.in
2025-12-23 22:08
Open service 2606:4700:20::681a:b2:8443 · api.zostream.in
2025-12-23 22:08
Open service 2606:4700:20::681a:1b2:80 · api.zostream.in
2025-12-23 22:08
HTTP/1.1 301 Moved Permanently
Date: Tue, 23 Dec 2025 22:08:47 GMT
Content-Length: 0
Connection: close
Location: https://api.zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=4DqENSsCbA0tHCJl1CWHvvgjBWKLTytpNGBMsqtt%2BU0n%2B1gV8ElEHQoUKCVndORohBAmSYkN9or4Xx8A%2BNjvx7UBcdkU0wv3yLzX9ytWNmTnBWZ9zt2huDSU"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=14,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9b2b2df5bb2571d7-FRA
alt-svc: h3=":443"; ma=86400
Open service 172.67.72.133:80 · api.zostream.in
2025-12-23 22:08
HTTP/1.1 301 Moved Permanently
Date: Tue, 23 Dec 2025 22:08:46 GMT
Content-Length: 0
Connection: close
Location: https://api.zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=7m1mjSx8Kl7AGCLOWURaXboTkJ%2BDHGyx2fV54Pxy1bBNP%2FTzSrktfB0mqH5PNdBrwgM7XAoO3AVJreg50FgI%2F4AKpJzF1XU0f3L6HuAA"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=20,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9b2b2df57c815d90-FRA
alt-svc: h3=":443"; ma=86400
Open service 2606:4700:20::681a:b2:80 · api.zostream.in
2025-12-23 22:08
HTTP/1.1 301 Moved Permanently
Date: Tue, 23 Dec 2025 22:08:46 GMT
Content-Length: 0
Connection: close
Location: https://api.zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=hXDlAuQ4hotpwNaDxrBwkRrcmXzcb%2BWVkS1ZSrPACE%2FaqlcFxYOwtcNA%2F1JOck891l99U14jg9G0CD%2FslZ3BB0u3V8Dv8Zq97MXRNgIvN0Y10BtZVlhefQ%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=13,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9b2b2df57c960fa8-EWR
alt-svc: h3=":443"; ma=86400
Open service 2606:4700:20::ac43:4885:443 · api.zostream.in
2025-12-23 22:08
HTTP/1.1 200 OK
Date: Tue, 23 Dec 2025 22:08:47 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
x-powered-by: PHP/8.2.28
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=0r29BPEs73v7IYKFQbmeerv%2BZN9E6tB1N3EsOVsaQEsALN%2FB924CXGJbUWKfW7BUp14KiwqAQnkjECYHIaKBCo5RThw%2F9WrIkQQ276LMU%2FmHbY%2B53To6ykq6"}]}
vary: Accept-Encoding
Server: cloudflare
platform: hostinger
panel: hpanel
content-security-policy: upgrade-insecure-requests
alt-svc: h3=":443"; ma=86400
x-turbo-charged-by: LiteSpeed
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=15,cfOrigin;dur=398
CF-RAY: 9b2b2df829cf0eb0-AMS
Page title: Restricted page
<!DOCTYPE html>
<html lang="en">
<head>
<title>Restricted page</title>
<link rel="icon" type="image/x-icon" href="https://hpanel.hostinger.com/favicons/hostinger.png">
<meta charset="utf-8">
<meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
<meta content="Default page" name="description">
<meta content="width=device-width, initial-scale=1" name="viewport">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link href="https://fonts.googleapis.com/css2?family=DM+Sans&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;700&display=swap" rel="stylesheet">
<style>
body {
margin: 0px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
width: 100vw;
height: 100vh;
min-height: 675px;
background-color: #F4F5FF;
}
p {
width: 100%;
left: 0px;
font-size: 16px;
font-family: 'DM Sans', sans-serif;
font-weight: 400;
letter-spacing: 0px;
text-align: center;
vertical-align: top;
max-width: 550px;
color: #727586;
margin: 0px;
}
a:hover {
cursor: pointer;
color: #673DE6;
text-decoration: underline;
}
h1 {
font-family: 'DM Sans', sans-serif;
font-size: 24px;
font-weight: 700;
letter-spacing: 0px;
text-align: center;
margin: 8px;
}
.content {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
}
.ic-launch {
margin-left: 10.5px;
width: 21px !important;
height: 20px !important;
}
.link-container {
margin-top: 32px;
margin-bottom: 32px;
}
.link {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
font-family: 'DM Sans', sans-serif;
font-style: normal;
font-weight: 700;
font-size: 14px;
color: #673DE6;
margin-top: 8px;
text-decoration: none;
}
.main-image {
width: 100%;
max-width: 650px;
max-height: 406px;
height: auto;
}
.navigation {
width: 100%;
height: 72px;
display: flex;
margin: 0;
padding: 0;
flex-direction: row;
align-items: center;
justify-content: center;
background-color: #36344D;
}
@media screen and (max-width: 580px) and (min-width: 0px) {
h1, p, .link-container {
width: 80%;
}
}
@media screen and (min-width: 650px) and (min-height: 0px) and (max-height: 750px) {
.link-container {
margin-top: 12px;
}
h1 {
margin-top: 0px;
margin-bottom: 0px;
}
}
</style>
</head>
<body>
<div class="content">
<img src="https://blr1.vultrobjects.com/zostream/AAPK/ssddff.jpg" alt="Girl in a jacket" width="650" >
<h1>This Page is restricted!</h1>
<p>Phalna n
Open service 104.26.1.178:8443 · api.zostream.in
2025-12-23 22:08
Open service 104.26.1.178:80 · api.zostream.in
2025-12-23 22:08
HTTP/1.1 301 Moved Permanently
Date: Tue, 23 Dec 2025 22:08:46 GMT
Content-Length: 0
Connection: close
Location: https://api.zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=dEIng%2Fu5wZA2TMLZsg8x%2BMctMATzlhC8eecdI4PUOYvioDqRzPVgrhI3rUQdhia54cv%2F2qch4h%2Bpeh4vLGQEzscMEcTebnXBl%2BaLkQ%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=13,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9b2b2df54d660f43-EWR
alt-svc: h3=":443"; ma=86400
Open service 172.67.72.133:443 · api.zostream.in
2025-12-23 22:08
HTTP/1.1 200 OK
Date: Tue, 23 Dec 2025 22:08:50 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=cuTGFo9v5D8OuEYJQa8rwbXvJIZy5ljKXZ5y93VCNjLPyVm%2B9umURMKCES0CYUTjjN8QIn76grRMNNkDL2%2BElqUQiQJUO5Ku%2B4R6WA7j"}]}
vary: Accept-Encoding
Server: cloudflare
Cache-Control: no-cache,no-store
x-frame-options: SAMEORIGIN
alt-svc: h3=":443"; ma=86400
x-turbo-charged-by: LiteSpeed
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=8,cfOrigin;dur=2466
CF-RAY: 9b2b2dfa4a8cc109-YYZ
Page title: Bot Verification
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Bot Verification</title>
<script>
function onSubmit() {
document.getElementById('lsrecaptcha-form').submit();
}
var onloadCallback = function() {
var cont = grecaptcha.render('recaptchadiv', {
'sitekey': '6LewU34UAAAAAHvXqFOcQlm8z1MP1xpGAZCYEeZY',
'callback': onSubmit,
});
grecaptcha.execute(cont);
};
</script>
<style>
body {
height: 100%;
}
.panel {
padding: 30px;
max-width: 425px;
margin: 10% auto;
box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.2);
}
.title {
font-size: 1.5em;
font-weight: 100;
margin-top: 10px;
text-align: center;
}
.recaptcha-center {
margin-top: 35px;
margin-bottom: 20px;
margin-left: 13%;
margin-right: 13%;
display: block;
}
</style>
</head>
<body>
<div class="panel">
<h3 class="title">Verifying that you are not a robot...</h3>
<form id="lsrecaptcha-form" method="POST" action="/.lsrecap/recaptcha?">
<div id="recaptchadiv" class="recaptcha-center"></div>
</form>
</div>
<script src="https://www.recaptcha.net/recaptcha/api.js?onload=onloadCallback&render=explicit"
async defer>
</script>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"90f232155d114443b5c375b5e6c03ad9","server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
Open service 104.26.1.178:443 · api.zostream.in
2025-12-23 22:08
HTTP/1.1 200 OK
Date: Tue, 23 Dec 2025 22:08:50 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=Tk5JeMu3sahEGaokMonw5t7JJ6PTu3YsTCdCng2wMCJciXJIHgrZtSer9HKGQmx7Z4rU2vQdqDUA4tg7sq2z5AhkHfLrmpOIqY79rySJ"}]}
vary: Accept-Encoding
Server: cloudflare
Cache-Control: no-cache,no-store
x-frame-options: SAMEORIGIN
alt-svc: h3=":443"; ma=86400
x-turbo-charged-by: LiteSpeed
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=2,cfOrigin;dur=3895
CF-RAY: 9b2b2df5ac31d817-BLR
Page title: Bot Verification
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Bot Verification</title>
<script>
function onSubmit() {
document.getElementById('lsrecaptcha-form').submit();
}
var onloadCallback = function() {
var cont = grecaptcha.render('recaptchadiv', {
'sitekey': '6LewU34UAAAAAHvXqFOcQlm8z1MP1xpGAZCYEeZY',
'callback': onSubmit,
});
grecaptcha.execute(cont);
};
</script>
<style>
body {
height: 100%;
}
.panel {
padding: 30px;
max-width: 425px;
margin: 10% auto;
box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.2);
}
.title {
font-size: 1.5em;
font-weight: 100;
margin-top: 10px;
text-align: center;
}
.recaptcha-center {
margin-top: 35px;
margin-bottom: 20px;
margin-left: 13%;
margin-right: 13%;
display: block;
}
</style>
</head>
<body>
<div class="panel">
<h3 class="title">Verifying that you are not a robot...</h3>
<form id="lsrecaptcha-form" method="POST" action="/.lsrecap/recaptcha?">
<div id="recaptchadiv" class="recaptcha-center"></div>
</form>
</div>
<script src="https://www.recaptcha.net/recaptcha/api.js?onload=onloadCallback&render=explicit"
async defer>
</script>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"90f232155d114443b5c375b5e6c03ad9","server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
Open service 104.26.0.178:443 · api.zostream.in
2025-12-23 22:08
HTTP/1.1 200 OK
Date: Tue, 23 Dec 2025 22:08:50 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=LKYIM1ANwt9T7vcgkqNNhGuLwAlnYCzpEJE9R0DjAA3%2B5wugjHtYdvIIGALjAIOeLydJByn1gyyYmVTCkl8yUjUaajC%2FtW9juP5fnQ%3D%3D"}]}
vary: Accept-Encoding
Server: cloudflare
Cache-Control: no-cache,no-store
x-frame-options: SAMEORIGIN
alt-svc: h3=":443"; ma=86400
x-turbo-charged-by: LiteSpeed
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=13,cfOrigin;dur=2457
CF-RAY: 9b2b2dfa7de767b2-SJC
Page title: Bot Verification
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Bot Verification</title>
<script>
function onSubmit() {
document.getElementById('lsrecaptcha-form').submit();
}
var onloadCallback = function() {
var cont = grecaptcha.render('recaptchadiv', {
'sitekey': '6LewU34UAAAAAHvXqFOcQlm8z1MP1xpGAZCYEeZY',
'callback': onSubmit,
});
grecaptcha.execute(cont);
};
</script>
<style>
body {
height: 100%;
}
.panel {
padding: 30px;
max-width: 425px;
margin: 10% auto;
box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.2);
}
.title {
font-size: 1.5em;
font-weight: 100;
margin-top: 10px;
text-align: center;
}
.recaptcha-center {
margin-top: 35px;
margin-bottom: 20px;
margin-left: 13%;
margin-right: 13%;
display: block;
}
</style>
</head>
<body>
<div class="panel">
<h3 class="title">Verifying that you are not a robot...</h3>
<form id="lsrecaptcha-form" method="POST" action="/.lsrecap/recaptcha?">
<div id="recaptchadiv" class="recaptcha-center"></div>
</form>
</div>
<script src="https://www.recaptcha.net/recaptcha/api.js?onload=onloadCallback&render=explicit"
async defer>
</script>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"90f232155d114443b5c375b5e6c03ad9","server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
Open service 172.67.72.133:8443 · api.zostream.in
2025-12-23 22:08
Open service 104.26.0.178:80 · api.zostream.in
2025-12-23 22:08
HTTP/1.1 301 Moved Permanently
Date: Tue, 23 Dec 2025 22:08:46 GMT
Content-Length: 0
Connection: close
Location: https://api.zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=4HDeicvExXkcQ2QJrkORFLEUvN7xM%2B0ybvQf5piHsZzvVoGAA10tG2WM1H0nao79IlSK6fVYsGQ25FU4EhR5pCi4MfSXT5wYHrCqETCG"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=9,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9b2b2df4fcb95476-SJC
alt-svc: h3=":443"; ma=86400
Open service 104.26.1.178:80 · zostream.in
2025-12-23 15:13
HTTP/1.1 301 Moved Permanently
Date: Tue, 23 Dec 2025 15:13:08 GMT
Content-Length: 0
Connection: close
Location: https://zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=UTHOh%2B1FBgiWcYed7j9z265xfTkrbAGlVjCKkjbwt%2BLbC3gjo5rAFTckCJNxV9F95Uq%2BLz%2Fo3kUAZ0oDtO1B2Tbn21l%2BZygbsJ4%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=26,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9b28cd194ce56594-SIN
alt-svc: h3=":443"; ma=86400
Open service 104.26.1.178:8443 · zostream.in
2025-12-23 15:13
HTTP/1.1 522 <none> Date: Tue, 23 Dec 2025 15:13:27 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin Server-Timing: cfEdge;dur=19276,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9b28cd1c8aba067e-EWR alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 2606:4700:20::681a:1b2:8443 · zostream.in
2025-12-23 15:13
HTTP/1.1 522 <none> Date: Tue, 23 Dec 2025 15:13:27 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin Server-Timing: cfEdge;dur=19444,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9b28cd1c3810f5f4-EWR alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 172.67.72.133:8443 · zostream.in
2025-12-23 15:13
HTTP/1.1 522 <none> Date: Tue, 23 Dec 2025 15:13:28 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin Server-Timing: cfEdge;dur=19567,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9b28cd1c4f6a6700-AMS alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 2606:4700:20::ac43:4885:443 · zostream.in
2025-12-23 15:13
HTTP/1.1 200 OK
Date: Tue, 23 Dec 2025 15:13:09 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
last-modified: Thu, 09 Oct 2025 03:50:30 GMT
Speculation-Rules: "/cdn-cgi/speculation"
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=15,cfOrigin;dur=1402
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=F2YlfC9qoyprjm3gsMsyMGkFQEg59CWf7GmrjEX3Ekon02zLtU10JAUFHivgPeclx81nVYLLxQoOYsz%2Fv8KrW0al3NF1Si5WfWmb8NBywKgHpaclDck%3D"}]}
vary: Accept-Encoding
Server: cloudflare
platform: hostinger
panel: hpanel
content-security-policy: upgrade-insecure-requests
alt-svc: h3=":443"; ma=86400
x-turbo-charged-by: LiteSpeed
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
CF-RAY: 9b28cd1c2e3ec436-EWR
Page title: Zo Stream — Watch. Listen. Anywhere.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Zo Stream — Watch. Listen. Anywhere.</title>
<link rel="stylesheet" href="style.css" />
<meta name="description"
content="Zo Stream: Movies, series, music, podcasts, and live TV — all in one fast, modern app." />
</head>
<body>
<!-- ================= Header ================= -->
<header class="header">
<div class="wrap nav" role="navigation" aria-label="Primary">
<div class="brand">
<div class="logo" aria-hidden="true"></div>
<span>Zo Stream</span>
</div>
<nav class="links" aria-label="Sections">
<a href="/">Home</a>
<a href="/about-us">About Us</a>
<a href="/contact-us">Contact Us</a>
<a href="#faq">FAQ</a>
<a href="/tv">TV</a>
<!-- NEW: Pages dropdown (desktop) -->
<div class="dropdown">
<button class="drop-toggle" aria-haspopup="true" aria-expanded="false" aria-controls="pagesMenu">
Pages
<svg class="caret" width="16" height="16" viewBox="0 0 24 24" fill="none" aria-hidden="true">
<path d="M6 9l6 6 6-6" stroke="currentColor" stroke-width="2" stroke-linecap="round" />
</svg>
</button>
<div id="pagesMenu" class="drop-menu" role="menu">
<a role="menuitem" href="/privacy-policy">Privacy Policy</a>
<a role="menuitem" href="/refund-and-cancellation">Refund & Cancellation</a>
<a role="menuitem" href="/return-policy">Return Policy</a>
<a role="menuitem" href="/shipping-policy">Shipping Policy</a>
<a role="menuitem" href="/terms-condition">Terms & Condition</a>
</div>
</div>
</nav>
</div>
</header>
<!-- ================= Hero ================= -->
<section class="hero">
<div class="wrap grid">
<div>
<span class="chip">New • Live streams & Podcasts</span>
<h1>Watch. Listen. <span
style="background:linear-gradient(90deg,var(--brand1),var(--brand2));-webkit-background-clip:text;background-clip:text;color:transparent">Anywhere</span>.
</h1>
<p class="lead">Movies, series, music, podcasts, and live TV—beautifully fast. No buffering, no fuss.
Just press play.</p>
<p class="tiny" style="margin-top:10px">
<span>🔒 Secure by design</span> ·
<span>⚡ Fast CDN delivery</span> ·
<span>🌟 HD ready</span>
</p>
</div>
<div class="screen" aria-label="Preview">
<img src="assets/preview-platform.jpg" alt="Zo Stream preview" style="width:100%;height:100%;object-fit:cover;">
</div>
</div>
</section>
<!-- Logos -->
<div class="wrap logos" aria-label="Tech badges">
<div class="logo-item">Dolby</div>
<div class="logo-item">HDR10+</div>
<div class="logo-item">Cloudflare</div>
<div class="logo-item">Firebase</div>
<div class="logo-item">Laravel</div>
<div class="logo-item">Android</div>
</div>
<!-- ================= Features ================= -->
<section id="features">
<div class="wrap">
<div class="center">
<span class="chip">Why Zo Stream</span>
<h2>Built for binge-worthy days</h2>
<p class="sub">Everything you love about streaming, polished to perfection.</p>
</div>
<div class="grid-3" style="margin-top:18px">
<article class="card">
<div class="i
Open service 2606:4700:20::681a:b2:443 · zostream.in
2025-12-23 15:13
HTTP/1.1 200 OK
Date: Tue, 23 Dec 2025 15:13:09 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
last-modified: Thu, 09 Oct 2025 03:50:30 GMT
Speculation-Rules: "/cdn-cgi/speculation"
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=16,cfOrigin;dur=1041
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=NRM2EKd%2Ff8iI63HvSr%2B6YHKceHoWdEchRn08pqDLNaZU199i%2B7GvFjAjCKWgLhCa4KaF3otOf%2FkXN6XsOaHV107hwh0Dl3RAURSeJOUdhiM1eOx2Sag%3D"}]}
vary: Accept-Encoding
Server: cloudflare
platform: hostinger
panel: hpanel
content-security-policy: upgrade-insecure-requests
alt-svc: h3=":443"; ma=86400
x-turbo-charged-by: LiteSpeed
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
CF-RAY: 9b28cd193f0423d4-FRA
Page title: Zo Stream — Watch. Listen. Anywhere.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Zo Stream — Watch. Listen. Anywhere.</title>
<link rel="stylesheet" href="style.css" />
<meta name="description"
content="Zo Stream: Movies, series, music, podcasts, and live TV — all in one fast, modern app." />
</head>
<body>
<!-- ================= Header ================= -->
<header class="header">
<div class="wrap nav" role="navigation" aria-label="Primary">
<div class="brand">
<div class="logo" aria-hidden="true"></div>
<span>Zo Stream</span>
</div>
<nav class="links" aria-label="Sections">
<a href="/">Home</a>
<a href="/about-us">About Us</a>
<a href="/contact-us">Contact Us</a>
<a href="#faq">FAQ</a>
<a href="/tv">TV</a>
<!-- NEW: Pages dropdown (desktop) -->
<div class="dropdown">
<button class="drop-toggle" aria-haspopup="true" aria-expanded="false" aria-controls="pagesMenu">
Pages
<svg class="caret" width="16" height="16" viewBox="0 0 24 24" fill="none" aria-hidden="true">
<path d="M6 9l6 6 6-6" stroke="currentColor" stroke-width="2" stroke-linecap="round" />
</svg>
</button>
<div id="pagesMenu" class="drop-menu" role="menu">
<a role="menuitem" href="/privacy-policy">Privacy Policy</a>
<a role="menuitem" href="/refund-and-cancellation">Refund & Cancellation</a>
<a role="menuitem" href="/return-policy">Return Policy</a>
<a role="menuitem" href="/shipping-policy">Shipping Policy</a>
<a role="menuitem" href="/terms-condition">Terms & Condition</a>
</div>
</div>
</nav>
</div>
</header>
<!-- ================= Hero ================= -->
<section class="hero">
<div class="wrap grid">
<div>
<span class="chip">New • Live streams & Podcasts</span>
<h1>Watch. Listen. <span
style="background:linear-gradient(90deg,var(--brand1),var(--brand2));-webkit-background-clip:text;background-clip:text;color:transparent">Anywhere</span>.
</h1>
<p class="lead">Movies, series, music, podcasts, and live TV—beautifully fast. No buffering, no fuss.
Just press play.</p>
<p class="tiny" style="margin-top:10px">
<span>🔒 Secure by design</span> ·
<span>⚡ Fast CDN delivery</span> ·
<span>🌟 HD ready</span>
</p>
</div>
<div class="screen" aria-label="Preview">
<img src="assets/preview-platform.jpg" alt="Zo Stream preview" style="width:100%;height:100%;object-fit:cover;">
</div>
</div>
</section>
<!-- Logos -->
<div class="wrap logos" aria-label="Tech badges">
<div class="logo-item">Dolby</div>
<div class="logo-item">HDR10+</div>
<div class="logo-item">Cloudflare</div>
<div class="logo-item">Firebase</div>
<div class="logo-item">Laravel</div>
<div class="logo-item">Android</div>
</div>
<!-- ================= Features ================= -->
<section id="features">
<div class="wrap">
<div class="center">
<span class="chip">Why Zo Stream</span>
<h2>Built for binge-worthy days</h2>
<p class="sub">Everything you love about streaming, polished to perfection.</p>
</div>
<div class="grid-3" style="margin-top:18px">
<article class="card">
<div class="i
Open service 104.26.0.178:80 · zostream.in
2025-12-23 15:13
HTTP/1.1 301 Moved Permanently
Date: Tue, 23 Dec 2025 15:13:07 GMT
Content-Length: 0
Connection: close
Location: https://zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=bLArHdj58k2RsQ5lGQRHwGwX31tHhBRPxhVYOhmbgwdQMsK5wMAWhf%2BILaVJ4TB7SM644VGrdMzhX7tsXsBkmS1IKB91CCJFWr8%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=12,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9b28cd15acc8a506-EWR
alt-svc: h3=":443"; ma=86400
Open service 2606:4700:20::681a:1b2:80 · zostream.in
2025-12-23 15:13
HTTP/1.1 301 Moved Permanently
Date: Tue, 23 Dec 2025 15:13:07 GMT
Content-Length: 0
Connection: close
Location: https://zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=GNmNTStlLCznoYcMLjR5aLjeuEhz5upldJVYAGXRf9DyC1WVaZsL0jEDqHscMwuGp4LT34BkulJIrXU69kG%2BE%2BSi8UAUdn32tNn1gg4iKNgQNregqKY%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=8,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9b28cd159e9437f6-FRA
alt-svc: h3=":443"; ma=86400
Open service 2606:4700:20::ac43:4885:8443 · zostream.in
2025-12-23 15:13
HTTP/1.1 522 <none> Date: Tue, 23 Dec 2025 15:13:28 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin Server-Timing: cfEdge;dur=19646,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9b28cd1bce651cc2-AMS alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 172.67.72.133:80 · zostream.in
2025-12-23 15:13
HTTP/1.1 301 Moved Permanently
Date: Tue, 23 Dec 2025 15:13:07 GMT
Content-Length: 0
Connection: close
Location: https://zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=EJHPYJn39eF%2FsgPVl0l11LksbWfqN9hUFYmyEDW0brM4fGv3PSlbe3unxMBVzJigiuErCXz3gS2tWT49Kj%2BesCzoKzs5jhuHbr8%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=15,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9b28cd15887f5c43-AMS
alt-svc: h3=":443"; ma=86400
Open service 2606:4700:20::681a:b2:80 · zostream.in
2025-12-23 15:13
HTTP/1.1 301 Moved Permanently
Date: Tue, 23 Dec 2025 15:13:07 GMT
Content-Length: 0
Connection: close
Location: https://zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=50t2j6vmh4PPkcvX%2BK4fT21%2FbtdcsXCDF97P5hesvVjS3UBiBlUvq8jEt5kF4q0s3MNVfYorKwwcTVzOsD%2F5%2BLySL9EhvkyZ1z1vmCBA3Ktbm2kzD70%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=20,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9b28cd158d2a719e-LHR
alt-svc: h3=":443"; ma=86400
Open service 2606:4700:20::ac43:4885:80 · zostream.in
2025-12-23 15:13
HTTP/1.1 301 Moved Permanently
Date: Tue, 23 Dec 2025 15:13:07 GMT
Content-Length: 0
Connection: close
Location: https://zostream.in/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=xLfOfdWoteAleuC9ArPVrKLP6%2FWAqux6dksGe94Wt7ZutxzFnhbI78C8hCGvy1shM2%2FPKfdISSht31LPmeDNrfVEnoLiDPGMGmS26%2FlZeegvRT1D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=13,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9b28cd1539b9f5ba-AMS
alt-svc: h3=":443"; ma=86400
Open service 104.26.0.178:443 · zostream.in
2025-12-23 15:13
HTTP/1.1 200 OK
Date: Tue, 23 Dec 2025 15:13:10 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=WMegwCds6fWsibxRUw3DLAosPkcITg4M6h%2FCIyD4yDMJI3oOBSXfF%2Bf5tq6XBJKsJP1TprzThkSu5JCArnIB2ac6YnzXbuGFI4Y%3D"}]}
vary: Accept-Encoding
Server: cloudflare
Cache-Control: no-cache,no-store
x-frame-options: SAMEORIGIN
alt-svc: h3=":443"; ma=86400
x-turbo-charged-by: LiteSpeed
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=15,cfOrigin;dur=2480
CF-RAY: 9b28cd18aefdd170-LHR
Page title: Bot Verification
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Bot Verification</title>
<script>
function onSubmit() {
document.getElementById('lsrecaptcha-form').submit();
}
var onloadCallback = function() {
var cont = grecaptcha.render('recaptchadiv', {
'sitekey': '6LewU34UAAAAAHvXqFOcQlm8z1MP1xpGAZCYEeZY',
'callback': onSubmit,
});
grecaptcha.execute(cont);
};
</script>
<style>
body {
height: 100%;
}
.panel {
padding: 30px;
max-width: 425px;
margin: 10% auto;
box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.2);
}
.title {
font-size: 1.5em;
font-weight: 100;
margin-top: 10px;
text-align: center;
}
.recaptcha-center {
margin-top: 35px;
margin-bottom: 20px;
margin-left: 13%;
margin-right: 13%;
display: block;
}
</style>
</head>
<body>
<div class="panel">
<h3 class="title">Verifying that you are not a robot...</h3>
<form id="lsrecaptcha-form" method="POST" action="/.lsrecap/recaptcha?">
<div id="recaptchadiv" class="recaptcha-center"></div>
</form>
</div>
<script src="https://www.recaptcha.net/recaptcha/api.js?onload=onloadCallback&render=explicit"
async defer>
</script>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"90f232155d114443b5c375b5e6c03ad9","server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
Open service 2606:4700:20::681a:1b2:443 · zostream.in
2025-12-23 15:13
HTTP/1.1 200 OK
Date: Tue, 23 Dec 2025 15:13:09 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
last-modified: Thu, 09 Oct 2025 03:50:30 GMT
Speculation-Rules: "/cdn-cgi/speculation"
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=11,cfOrigin;dur=1118
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=JRTnsLyLd5a2L3N6TMuEHdhcXz%2FdTIzohpJsWBo6Pq4D47tIGb1BFjMoW%2BK4f8TyEEVh2sBRiDJ%2Fe6T5HejEiKam6i6Uh2fJ3WC72SXOaD0gORXeAg4%3D"}]}
vary: Accept-Encoding
Server: cloudflare
platform: hostinger
panel: hpanel
content-security-policy: upgrade-insecure-requests
alt-svc: h3=":443"; ma=86400
x-turbo-charged-by: LiteSpeed
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
CF-RAY: 9b28cd18b987c5eb-LHR
Page title: Zo Stream — Watch. Listen. Anywhere.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Zo Stream — Watch. Listen. Anywhere.</title>
<link rel="stylesheet" href="style.css" />
<meta name="description"
content="Zo Stream: Movies, series, music, podcasts, and live TV — all in one fast, modern app." />
</head>
<body>
<!-- ================= Header ================= -->
<header class="header">
<div class="wrap nav" role="navigation" aria-label="Primary">
<div class="brand">
<div class="logo" aria-hidden="true"></div>
<span>Zo Stream</span>
</div>
<nav class="links" aria-label="Sections">
<a href="/">Home</a>
<a href="/about-us">About Us</a>
<a href="/contact-us">Contact Us</a>
<a href="#faq">FAQ</a>
<a href="/tv">TV</a>
<!-- NEW: Pages dropdown (desktop) -->
<div class="dropdown">
<button class="drop-toggle" aria-haspopup="true" aria-expanded="false" aria-controls="pagesMenu">
Pages
<svg class="caret" width="16" height="16" viewBox="0 0 24 24" fill="none" aria-hidden="true">
<path d="M6 9l6 6 6-6" stroke="currentColor" stroke-width="2" stroke-linecap="round" />
</svg>
</button>
<div id="pagesMenu" class="drop-menu" role="menu">
<a role="menuitem" href="/privacy-policy">Privacy Policy</a>
<a role="menuitem" href="/refund-and-cancellation">Refund & Cancellation</a>
<a role="menuitem" href="/return-policy">Return Policy</a>
<a role="menuitem" href="/shipping-policy">Shipping Policy</a>
<a role="menuitem" href="/terms-condition">Terms & Condition</a>
</div>
</div>
</nav>
</div>
</header>
<!-- ================= Hero ================= -->
<section class="hero">
<div class="wrap grid">
<div>
<span class="chip">New • Live streams & Podcasts</span>
<h1>Watch. Listen. <span
style="background:linear-gradient(90deg,var(--brand1),var(--brand2));-webkit-background-clip:text;background-clip:text;color:transparent">Anywhere</span>.
</h1>
<p class="lead">Movies, series, music, podcasts, and live TV—beautifully fast. No buffering, no fuss.
Just press play.</p>
<p class="tiny" style="margin-top:10px">
<span>🔒 Secure by design</span> ·
<span>⚡ Fast CDN delivery</span> ·
<span>🌟 HD ready</span>
</p>
</div>
<div class="screen" aria-label="Preview">
<img src="assets/preview-platform.jpg" alt="Zo Stream preview" style="width:100%;height:100%;object-fit:cover;">
</div>
</div>
</section>
<!-- Logos -->
<div class="wrap logos" aria-label="Tech badges">
<div class="logo-item">Dolby</div>
<div class="logo-item">HDR10+</div>
<div class="logo-item">Cloudflare</div>
<div class="logo-item">Firebase</div>
<div class="logo-item">Laravel</div>
<div class="logo-item">Android</div>
</div>
<!-- ================= Features ================= -->
<section id="features">
<div class="wrap">
<div class="center">
<span class="chip">Why Zo Stream</span>
<h2>Built for binge-worthy days</h2>
<p class="sub">Everything you love about streaming, polished to perfection.</p>
</div>
<div class="grid-3" style="margin-top:18px">
<article class="card">
<div class="i
Open service 172.67.72.133:443 · zostream.in
2025-12-23 15:13
HTTP/1.1 200 OK
Date: Tue, 23 Dec 2025 15:13:08 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=vNLsvSj13UTLFx9OB2YFZEV%2F8I8G2LfxpB%2Bi1baNdz%2FWoAUKKkSyr4hAVjV1%2BpDBK0znU1oQNyCK0hUH8lYEHX17B687vDe24Rw%3D"}]}
vary: Accept-Encoding
Server: cloudflare
Cache-Control: no-cache,no-store
x-frame-options: SAMEORIGIN
x-turbo-charged-by: LiteSpeed
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=13,cfOrigin;dur=400
CF-RAY: 9b28cd1b3884ab33-YYZ
alt-svc: h3=":443"; ma=86400
Page title: Bot Verification
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Bot Verification</title>
<script>
function onSubmit() {
document.getElementById('lsrecaptcha-form').submit();
}
var onloadCallback = function() {
var cont = grecaptcha.render('recaptchadiv', {
'sitekey': '6LewU34UAAAAAHvXqFOcQlm8z1MP1xpGAZCYEeZY',
'callback': onSubmit,
});
grecaptcha.execute(cont);
};
</script>
<style>
body {
height: 100%;
}
.panel {
padding: 30px;
max-width: 425px;
margin: 10% auto;
box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.2);
}
.title {
font-size: 1.5em;
font-weight: 100;
margin-top: 10px;
text-align: center;
}
.recaptcha-center {
margin-top: 35px;
margin-bottom: 20px;
margin-left: 13%;
margin-right: 13%;
display: block;
}
</style>
</head>
<body>
<div class="panel">
<h3 class="title">Verifying that you are not a robot...</h3>
<form id="lsrecaptcha-form" method="POST" action="/.lsrecap/recaptcha?">
<div id="recaptchadiv" class="recaptcha-center"></div>
</form>
</div>
<script src="https://www.recaptcha.net/recaptcha/api.js?onload=onloadCallback&render=explicit"
async defer>
</script>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"90f232155d114443b5c375b5e6c03ad9","server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
Open service 104.26.1.178:443 · zostream.in
2025-12-23 15:13
HTTP/1.1 200 OK
Date: Tue, 23 Dec 2025 15:13:10 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=bSlPBGa6GERhQrFel0kLgnZx3JscoMD0WZpoBOU6JKqCtrVUBnTm6TTmCoyn1Q8zxAVYO5RbJsGHOv3Tbfu6Z5XHEWJVODWQvy4%3D"}]}
vary: Accept-Encoding
Server: cloudflare
Cache-Control: no-cache,no-store
x-frame-options: SAMEORIGIN
alt-svc: h3=":443"; ma=86400
x-turbo-charged-by: LiteSpeed
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=15,cfOrigin;dur=2290
CF-RAY: 9b28cd182d59d238-FRA
Page title: Bot Verification
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Bot Verification</title>
<script>
function onSubmit() {
document.getElementById('lsrecaptcha-form').submit();
}
var onloadCallback = function() {
var cont = grecaptcha.render('recaptchadiv', {
'sitekey': '6LewU34UAAAAAHvXqFOcQlm8z1MP1xpGAZCYEeZY',
'callback': onSubmit,
});
grecaptcha.execute(cont);
};
</script>
<style>
body {
height: 100%;
}
.panel {
padding: 30px;
max-width: 425px;
margin: 10% auto;
box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.2);
}
.title {
font-size: 1.5em;
font-weight: 100;
margin-top: 10px;
text-align: center;
}
.recaptcha-center {
margin-top: 35px;
margin-bottom: 20px;
margin-left: 13%;
margin-right: 13%;
display: block;
}
</style>
</head>
<body>
<div class="panel">
<h3 class="title">Verifying that you are not a robot...</h3>
<form id="lsrecaptcha-form" method="POST" action="/.lsrecap/recaptcha?">
<div id="recaptchadiv" class="recaptcha-center"></div>
</form>
</div>
<script src="https://www.recaptcha.net/recaptcha/api.js?onload=onloadCallback&render=explicit"
async defer>
</script>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"90f232155d114443b5c375b5e6c03ad9","server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
Open service 104.26.1.178:443 · web.zostream.in
2025-12-22 20:31
HTTP/1.1 200 OK
Date: Mon, 22 Dec 2025 20:31:43 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
last-modified: Wed, 08 Oct 2025 10:19:21 GMT
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=13,cfOrigin;dur=333
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=6ncmzUqbFuJSHcUJico8adJl%2FmTb6fGTbdafHvxBAGU6TfilfOwZzSsfOVP4xbt9g4bGHqvBYTr804j78C6KXL68yl9Ngcy7%2FWFwqHZL"}]}
cf-cache-status: DYNAMIC
vary: accept-encoding
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
CF-RAY: 9b22626569de39ea-YYZ
alt-svc: h3=":443"; ma=86400
Page title: ZoStreamTV - Home
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>ZoStreamTV - Home</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="css/pages/home.css">
<link rel="stylesheet" href="css/pages/nav.css">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
</head>
<body>
<!-- Sidebar Navigation (unchanged) -->
<aside class="sidebar">
<div class="logo">
<img class="logo_img" src="logo.jpg" alt="ZoStreamTV Logo" />
<h2>ZoStreamTV</h2>
</div>
<ul class="nav-menu">
<li class="nav-item"><a href="home.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">home</i><span>Home</span></a></li>
<li class="nav-item"><a href="search.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">search</i><span>Search</span></a></li>
<li class="nav-item"><a href="category.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">movie</i><span>Category</span></a></li>
<li class="nav-item"><a href="profile.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">person</i><span>Profile</span></a></li>
</ul>
</aside>
<!-- Main Content -->
<main class="main-content">
<div id="hero-slider-container"></div>
<div id="movies-container">
<div class="loading">Loading content...</div>
</div>
</main>
<script type="module">
import { initializeRemoteControl } from './js/utils/uniRemote.js';
import { apiClient } from './js/service/apiClient.js';
import { protectPage } from './js/service/authGuard.js';
import { toast } from './js/utils/toastify.js';
import useAgeRestriction from './js/utils/useAgeRestriction.js';
let heroTrack, heroSlides, heroDots, currentHeroIndex = 1; // Start at 1 (the first REAL slide)
let isTransitioning = false;
const ageRestricted = useAgeRestriction.value;
document.addEventListener('DOMContentLoaded', async () => {
document.querySelectorAll('.nav-link').forEach(link => {
if (link.href === window.location.href) link.classList.add('active');
});
try {
await protectPage();
await loadContent();
setupNavigation();
} catch (error) {
showError('Authentication required. Redirecting...');
setTimeout(() => window.location.href = './login.html', 2000);
}
});
async function loadContent() {
// ... (This function is unchanged) ...
const moviesContainer = document.getElementById('movies-container');
try {
moviesContainer.innerHTML = '<div class="loading">Loading content...</div>';
const response = await apiClient.get(`/movies?age_restriction=${ageRestricted}`);
if (!response || Object.keys(response).length === 0) {
moviesContainer.innerHTML = '<div class="loading">No content available</div>';
return;
}
moviesContainer.innerHTML = '';
let regularCatIndex = 0;
Object.entries(response).forEach(([category, items]) => {
if (!items || items.length === 0) return;
if (category === 'Latest Update') {
createHeroSlider(items);
} else {
const section = document.createElement('div');
section.className = 'category-section';
section.innerHTML = `<h2 class="category-title">${category}</h2><div class="movies-scroller"><div class="movies-row" id="category-${regularCatIndex}"></div></div>`;
const row = section.querySelector('.movies-row');
items.forEach(item => row.appendChild(createMediaCard(item)));
moviesContainer.appendChild(section);
regularCatIndex++;
}
});
} catch (error) {
showError('Failed to load content. Please try again.');
}
}
function createHeroSlider(items) {
const sliderContainer = document.getElementById('hero-slider-container');
if (!sliderContainer || items.length === 0) return;
co
Open service 104.26.0.178:443 · tv.zostream.in
2025-12-22 08:13
HTTP/1.1 200 OK
Date: Mon, 22 Dec 2025 08:13:03 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
last-modified: Wed, 08 Oct 2025 10:41:59 GMT
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=8,cfOrigin;dur=16
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=PhACyGBKDkXZzE0lrFvzW251CAQFEz7s8GFRsRLX6JTYiRq5NCSAKUQKytPG3AJG5cOX38IM8hQSF9Pa85I4Mcz2AQbcP8N60VVNjCQ%3D"}]}
cf-cache-status: DYNAMIC
vary: accept-encoding
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Speculation-Rules: "/cdn-cgi/speculation"
CF-RAY: 9b1e285f8cc7aa31-AMS
alt-svc: h3=":443"; ma=86400
Page title: ZoStreamTV - Home
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>ZoStreamTV - Home</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="css/pages/home.css">
<link rel="stylesheet" href="css/pages/nav.css">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
</head>
<body>
<!-- Sidebar Navigation (unchanged) -->
<aside class="sidebar">
<div class="logo">
<img class="logo_img" src="logo.jpg" alt="ZoStreamTV Logo" />
<h2>ZoStreamTV</h2>
</div>
<ul class="nav-menu">
<li class="nav-item"><a href="home.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">home</i><span>Home</span></a></li>
<li class="nav-item"><a href="search.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">search</i><span>Search</span></a></li>
<li class="nav-item"><a href="category.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">movie</i><span>Category</span></a></li>
<li class="nav-item"><a href="profile.html" class="nav-link focusable" tabindex="-1"><i class="material-icons">person</i><span>Profile</span></a></li>
</ul>
</aside>
<!-- Main Content -->
<main class="main-content">
<div id="hero-slider-container"></div>
<div id="movies-container">
<div class="loading">Loading content...</div>
</div>
</main>
<script type="module">
import { initializeRemoteControl } from './js/utils/uniRemote.js';
import { apiClient } from './js/service/apiClient.js';
import { protectPage } from './js/service/authGuard.js';
import { toast } from './js/utils/toastify.js';
import useAgeRestriction from './js/utils/useAgeRestriction.js';
let heroTrack, heroSlides, heroDots, currentHeroIndex = 1; // Start at 1 (the first REAL slide)
let isTransitioning = false;
const ageRestricted = useAgeRestriction.value;
document.addEventListener('DOMContentLoaded', async () => {
document.querySelectorAll('.nav-link').forEach(link => {
if (link.href === window.location.href) link.classList.add('active');
});
try {
await protectPage();
await loadContent();
setupNavigation();
} catch (error) {
showError('Authentication required. Redirecting...');
setTimeout(() => window.location.href = './login.html', 2000);
}
});
async function loadContent() {
// ... (This function is unchanged) ...
const moviesContainer = document.getElementById('movies-container');
try {
moviesContainer.innerHTML = '<div class="loading">Loading content...</div>';
const response = await apiClient.get(`/movies?age_restriction=${ageRestricted}`);
if (!response || Object.keys(response).length === 0) {
moviesContainer.innerHTML = '<div class="loading">No content available</div>';
return;
}
moviesContainer.innerHTML = '';
let regularCatIndex = 0;
Object.entries(response).forEach(([category, items]) => {
if (!items || items.length === 0) return;
if (category === 'Latest Update') {
createHeroSlider(items);
} else {
const section = document.createElement('div');
section.className = 'category-section';
section.innerHTML = `<h2 class="category-title">${category}</h2><div class="movies-scroller"><div class="movies-row" id="category-${regularCatIndex}"></div></div>`;
const row = section.querySelector('.movies-row');
items.forEach(item => row.appendChild(createMediaCard(item)));
moviesContainer.appendChild(section);
regularCatIndex++;
}
});
} catch (error) {
showError('Failed to load content. Please try again.');
}
}
function createHeroSlider(items) {
const sliderContainer = document.getElementById('hero-slider-container');
if (!sliderContainer || items.length === 0) return;
co