GitHub.com
tcp/443 tcp/80
Open service 2606:50c0:8001::153:443 · www.decryptlabsx.com
2026-02-06 09:07
HTTP/1.1 200 OK
Connection: close
Content-Length: 3669
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Sat, 19 Jul 2025 13:03:14 GMT
Access-Control-Allow-Origin: *
ETag: "687b9792-e55"
expires: Fri, 06 Feb 2026 09:17:13 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 2A10:28B8E8:AA5CA4:ACD121:6985AF41
Accept-Ranges: bytes
Date: Fri, 06 Feb 2026 09:07:13 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-fra-eddf8230152-FRA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1770368833.254795,VS0,VE45
Vary: Accept-Encoding
X-Fastly-Request-ID: 11081f0778b610ec0fb663d5c9ab32af65c3946e
Page title: Hostinger Horizons
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<meta name="generator" content="Hostinger Horizons" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Hostinger Horizons</title>
<script type="module" crossorigin src="/assets/index-27c417ef.js"></script>
<link rel="stylesheet" href="/assets/index-49d26335.css">
<script type="module">
window.onerror = (message, source, lineno, colno, errorObj) => {
const errorDetails = errorObj ? JSON.stringify({
name: errorObj.name,
message: errorObj.message,
stack: errorObj.stack,
source,
lineno,
colno,
}) : null;
window.parent.postMessage({
type: 'horizons-runtime-error',
message,
error: errorDetails
}, '*');
};
</script>
<script type="module">
const observer = new MutationObserver((mutations) => {
for (const mutation of mutations) {
for (const addedNode of mutation.addedNodes) {
if (
addedNode.nodeType === Node.ELEMENT_NODE &&
(
addedNode.tagName?.toLowerCase() === 'vite-error-overlay' ||
addedNode.classList?.contains('backdrop')
)
) {
handleViteOverlay(addedNode);
}
}
}
});
observer.observe(document.documentElement, {
childList: true,
subtree: true
});
function handleViteOverlay(node) {
if (!node.shadowRoot) {
return;
}
const backdrop = node.shadowRoot.querySelector('.backdrop');
if (backdrop) {
const overlayHtml = backdrop.outerHTML;
const parser = new DOMParser();
const doc = parser.parseFromString(overlayHtml, 'text/html');
const messageBodyElement = doc.querySelector('.message-body');
const fileElement = doc.querySelector('.file');
const messageText = messageBodyElement ? messageBodyElement.textContent.trim() : '';
const fileText = fileElement ? fileElement.textContent.trim() : '';
const error = messageText + (fileText ? ' File:' + fileText : '');
window.parent.postMessage({
type: 'horizons-vite-error',
error,
}, '*');
}
}
</script>
<script type="module">
const originalConsoleError = console.error;
console.error = function(...args) {
originalConsoleError.apply(console, args);
let errorString = '';
for (let i = 0; i < args.length; i++) {
const arg = args[i];
if (arg instanceof Error) {
errorString = arg.stack || `${arg.name}: ${arg.message}`;
break;
}
}
if (!errorString) {
errorString = args.map(arg => typeof arg === 'object' ? JSON.stringify(arg) : String(arg)).join(' ');
}
window.parent.postMessage({
type: 'horizons-console-error',
error: errorString
}, '*');
};
</script>
<script type="module">
const originalFetch = window.fetch;
window.fetch = function(...args) {
const url = args[0] instanceof Request ? args[0].url : args[0];
// Skip WebSocket URLs
if (url.startsWith('ws:') || url.startsWith('wss:')) {
return originalFetch.apply(this, args);
}
return originalFetch.apply(this, args)
.then(async response => {
const contentType = response.headers.get('Content-Type') || '';
// Exclude HTML document responses
const isDocumentResponse =
contentType.includes('text/html') ||
contentType.includes('application/xhtml+xml');
if (!response.ok && !isDocumentResponse) {
const responseClone = response.clone();
const errorFromRes = await responseClone.text();
const requestUrl = response.url;
console.error(`Fetch error from ${requestUrl}: ${errorFromRes}`);
}
return response;
})
.catch(error => {
if (!url.match(/.html?$/i)) {
console.error(error);
}
throw error;
});
};
</script>
</head>
<body>
<div id="root"></div>
</body>
</html>
Open service 2606:50c0:8002::153:80 · www.decryptlabsx.com
2026-02-06 09:07
HTTP/1.1 301 Moved Permanently Connection: close Content-Length: 162 Server: GitHub.com Content-Type: text/html Location: https://www.decryptlabsx.com/ X-GitHub-Request-Id: B820:A418:5DA9EE:6707F3:6985AF40 Accept-Ranges: bytes Age: 0 Date: Fri, 06 Feb 2026 09:07:13 GMT Via: 1.1 varnish X-Served-By: cache-lga21950-LGA X-Cache: MISS X-Cache-Hits: 0 X-Timer: S1770368833.250483,VS0,VE20 Vary: Accept-Encoding X-Fastly-Request-ID: 314a5cef762e3f4cf14d840802f249ab3720b71f Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>nginx</center> </body> </html>
Open service 185.199.111.153:443 · www.decryptlabsx.com
2026-02-06 09:07
HTTP/1.1 200 OK
Connection: close
Content-Length: 3669
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Sat, 19 Jul 2025 13:03:14 GMT
Access-Control-Allow-Origin: *
ETag: "687b9792-e55"
expires: Fri, 06 Feb 2026 09:17:13 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 2A10:28B8E8:AA5CA4:ACD121:6985AF41
Accept-Ranges: bytes
Age: 0
Date: Fri, 06 Feb 2026 09:07:13 GMT
Via: 1.1 varnish
X-Served-By: cache-fra-eddf8230101-FRA
X-Cache: MISS
X-Cache-Hits: 0
X-Timer: S1770368833.193916,VS0,VE105
Vary: Accept-Encoding
X-Fastly-Request-ID: 0d1a05a70530108edcd40e2b3334f0b74c6cce12
Page title: Hostinger Horizons
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<meta name="generator" content="Hostinger Horizons" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Hostinger Horizons</title>
<script type="module" crossorigin src="/assets/index-27c417ef.js"></script>
<link rel="stylesheet" href="/assets/index-49d26335.css">
<script type="module">
window.onerror = (message, source, lineno, colno, errorObj) => {
const errorDetails = errorObj ? JSON.stringify({
name: errorObj.name,
message: errorObj.message,
stack: errorObj.stack,
source,
lineno,
colno,
}) : null;
window.parent.postMessage({
type: 'horizons-runtime-error',
message,
error: errorDetails
}, '*');
};
</script>
<script type="module">
const observer = new MutationObserver((mutations) => {
for (const mutation of mutations) {
for (const addedNode of mutation.addedNodes) {
if (
addedNode.nodeType === Node.ELEMENT_NODE &&
(
addedNode.tagName?.toLowerCase() === 'vite-error-overlay' ||
addedNode.classList?.contains('backdrop')
)
) {
handleViteOverlay(addedNode);
}
}
}
});
observer.observe(document.documentElement, {
childList: true,
subtree: true
});
function handleViteOverlay(node) {
if (!node.shadowRoot) {
return;
}
const backdrop = node.shadowRoot.querySelector('.backdrop');
if (backdrop) {
const overlayHtml = backdrop.outerHTML;
const parser = new DOMParser();
const doc = parser.parseFromString(overlayHtml, 'text/html');
const messageBodyElement = doc.querySelector('.message-body');
const fileElement = doc.querySelector('.file');
const messageText = messageBodyElement ? messageBodyElement.textContent.trim() : '';
const fileText = fileElement ? fileElement.textContent.trim() : '';
const error = messageText + (fileText ? ' File:' + fileText : '');
window.parent.postMessage({
type: 'horizons-vite-error',
error,
}, '*');
}
}
</script>
<script type="module">
const originalConsoleError = console.error;
console.error = function(...args) {
originalConsoleError.apply(console, args);
let errorString = '';
for (let i = 0; i < args.length; i++) {
const arg = args[i];
if (arg instanceof Error) {
errorString = arg.stack || `${arg.name}: ${arg.message}`;
break;
}
}
if (!errorString) {
errorString = args.map(arg => typeof arg === 'object' ? JSON.stringify(arg) : String(arg)).join(' ');
}
window.parent.postMessage({
type: 'horizons-console-error',
error: errorString
}, '*');
};
</script>
<script type="module">
const originalFetch = window.fetch;
window.fetch = function(...args) {
const url = args[0] instanceof Request ? args[0].url : args[0];
// Skip WebSocket URLs
if (url.startsWith('ws:') || url.startsWith('wss:')) {
return originalFetch.apply(this, args);
}
return originalFetch.apply(this, args)
.then(async response => {
const contentType = response.headers.get('Content-Type') || '';
// Exclude HTML document responses
const isDocumentResponse =
contentType.includes('text/html') ||
contentType.includes('application/xhtml+xml');
if (!response.ok && !isDocumentResponse) {
const responseClone = response.clone();
const errorFromRes = await responseClone.text();
const requestUrl = response.url;
console.error(`Fetch error from ${requestUrl}: ${errorFromRes}`);
}
return response;
})
.catch(error => {
if (!url.match(/.html?$/i)) {
console.error(error);
}
throw error;
});
};
</script>
</head>
<body>
<div id="root"></div>
</body>
</html>
Open service 185.199.109.153:443 · www.decryptlabsx.com
2026-02-06 09:07
HTTP/1.1 200 OK
Connection: close
Content-Length: 3669
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Sat, 19 Jul 2025 13:03:14 GMT
Access-Control-Allow-Origin: *
ETag: "687b9792-e55"
expires: Fri, 06 Feb 2026 09:17:13 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 3C3B:171528:263823:27943C:6985AF41
Accept-Ranges: bytes
Age: 0
Date: Fri, 06 Feb 2026 09:07:13 GMT
Via: 1.1 varnish
X-Served-By: cache-lcy-egml8630095-LCY
X-Cache: MISS
X-Cache-Hits: 0
X-Timer: S1770368833.173615,VS0,VE95
Vary: Accept-Encoding
X-Fastly-Request-ID: c929e8c04af0b0961667ca337bb9dc8cb0fbf1be
Page title: Hostinger Horizons
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<meta name="generator" content="Hostinger Horizons" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Hostinger Horizons</title>
<script type="module" crossorigin src="/assets/index-27c417ef.js"></script>
<link rel="stylesheet" href="/assets/index-49d26335.css">
<script type="module">
window.onerror = (message, source, lineno, colno, errorObj) => {
const errorDetails = errorObj ? JSON.stringify({
name: errorObj.name,
message: errorObj.message,
stack: errorObj.stack,
source,
lineno,
colno,
}) : null;
window.parent.postMessage({
type: 'horizons-runtime-error',
message,
error: errorDetails
}, '*');
};
</script>
<script type="module">
const observer = new MutationObserver((mutations) => {
for (const mutation of mutations) {
for (const addedNode of mutation.addedNodes) {
if (
addedNode.nodeType === Node.ELEMENT_NODE &&
(
addedNode.tagName?.toLowerCase() === 'vite-error-overlay' ||
addedNode.classList?.contains('backdrop')
)
) {
handleViteOverlay(addedNode);
}
}
}
});
observer.observe(document.documentElement, {
childList: true,
subtree: true
});
function handleViteOverlay(node) {
if (!node.shadowRoot) {
return;
}
const backdrop = node.shadowRoot.querySelector('.backdrop');
if (backdrop) {
const overlayHtml = backdrop.outerHTML;
const parser = new DOMParser();
const doc = parser.parseFromString(overlayHtml, 'text/html');
const messageBodyElement = doc.querySelector('.message-body');
const fileElement = doc.querySelector('.file');
const messageText = messageBodyElement ? messageBodyElement.textContent.trim() : '';
const fileText = fileElement ? fileElement.textContent.trim() : '';
const error = messageText + (fileText ? ' File:' + fileText : '');
window.parent.postMessage({
type: 'horizons-vite-error',
error,
}, '*');
}
}
</script>
<script type="module">
const originalConsoleError = console.error;
console.error = function(...args) {
originalConsoleError.apply(console, args);
let errorString = '';
for (let i = 0; i < args.length; i++) {
const arg = args[i];
if (arg instanceof Error) {
errorString = arg.stack || `${arg.name}: ${arg.message}`;
break;
}
}
if (!errorString) {
errorString = args.map(arg => typeof arg === 'object' ? JSON.stringify(arg) : String(arg)).join(' ');
}
window.parent.postMessage({
type: 'horizons-console-error',
error: errorString
}, '*');
};
</script>
<script type="module">
const originalFetch = window.fetch;
window.fetch = function(...args) {
const url = args[0] instanceof Request ? args[0].url : args[0];
// Skip WebSocket URLs
if (url.startsWith('ws:') || url.startsWith('wss:')) {
return originalFetch.apply(this, args);
}
return originalFetch.apply(this, args)
.then(async response => {
const contentType = response.headers.get('Content-Type') || '';
// Exclude HTML document responses
const isDocumentResponse =
contentType.includes('text/html') ||
contentType.includes('application/xhtml+xml');
if (!response.ok && !isDocumentResponse) {
const responseClone = response.clone();
const errorFromRes = await responseClone.text();
const requestUrl = response.url;
console.error(`Fetch error from ${requestUrl}: ${errorFromRes}`);
}
return response;
})
.catch(error => {
if (!url.match(/.html?$/i)) {
console.error(error);
}
throw error;
});
};
</script>
</head>
<body>
<div id="root"></div>
</body>
</html>