Domain cifraschurch.com
United States
Hostinger International Limited
Software information

AmazonS3 AmazonS3

tcp/443

CloudFront

tcp/80

hcdn

tcp/443

  • Open service 2600:9000:2644:f400:2:9ba8:8f80:93a1:443 · cifraschurch.com

    2026-01-11 01:33

    HTTP/1.1 200 OK
    Content-Type: text/html
    Content-Length: 4208
    Connection: close
    Date: Sun, 11 Jan 2026 01:33:12 GMT
    Cache-Control: public, max-age=0, s-maxage=31536000
    Server: AmazonS3
    Accept-Ranges: bytes
    ETag: "ae6e6bd45995e523351117e782cc3ef6"
    Last-Modified: Sun, 11 Jan 2026 01:24:29 GMT
    X-Cache: Hit from cloudfront
    Via: 1.1 146c0f4d7da9f5b3108ac41c3becbb82.cloudfront.net (CloudFront)
    X-Amz-Cf-Pop: FRA60-P6
    Alt-Svc: h3=":443"; ma=86400
    X-Amz-Cf-Id: jc06DxdcdVXB-3AZxnJG5DipbK4nNu-C3O3PoxjOBgnEMzQq3K05fw==
    Age: 2
    
    Page title: Cifras Church
    
    <!doctype html>
    <html lang="pt-BR">
    	<head>
    		<meta charset="UTF-8" />
    		<link rel="icon" type="image/png" href="/icon-logo-cifraschurch.png" />
    		<meta name="generator" content="Cifras Church" />
    		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
    		<title>Cifras Church</title>
    		<script type="module" crossorigin src="/assets/index-fa87938a.js"></script>
    		<link rel="stylesheet" href="/assets/index-96d6b7d8.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>
    		<script type="module">
    if (window.navigation && window.self !== window.top) {
    	window.navigation.addEventListener('navigate', (event) => {
    		const url = event.destination.url;
    
    		try {
    			const destinationUrl = new URL(url);
    			const destinationOrigin = destinationUrl.origin;
    			const currentOrigin = window.location.origin;
    
    			if (destinationOrigin === currentOrigin) {
    				return;
    			}
    		} catch (error) {
    			return;
    		}
    
    		window.parent.postMessage({
    			type: 'horizons-navi
    Found 3 days ago by HttpPlugin
    Create report
  • Open service 2600:9000:2644:ec00:2:9ba8:8f80:93a1:443 · cifraschurch.com

    2026-01-11 01:33

    HTTP/1.1 200 OK
    Content-Type: text/html
    Content-Length: 4208
    Connection: close
    Date: Sun, 11 Jan 2026 01:33:12 GMT
    Cache-Control: public, max-age=0, s-maxage=31536000
    Server: AmazonS3
    Accept-Ranges: bytes
    ETag: "ae6e6bd45995e523351117e782cc3ef6"
    Last-Modified: Sun, 11 Jan 2026 01:24:29 GMT
    X-Cache: Hit from cloudfront
    Via: 1.1 cba0902b20d884568adf673bab9438e6.cloudfront.net (CloudFront)
    X-Amz-Cf-Pop: FRA60-P6
    Alt-Svc: h3=":443"; ma=86400
    X-Amz-Cf-Id: lpjbiYHutUcwcQ8qKlfhHnvUdleikRZy5nAsG1p0Og_6yGOpIGSqRg==
    Age: 2
    
    Page title: Cifras Church
    
    <!doctype html>
    <html lang="pt-BR">
    	<head>
    		<meta charset="UTF-8" />
    		<link rel="icon" type="image/png" href="/icon-logo-cifraschurch.png" />
    		<meta name="generator" content="Cifras Church" />
    		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
    		<title>Cifras Church</title>
    		<script type="module" crossorigin src="/assets/index-fa87938a.js"></script>
    		<link rel="stylesheet" href="/assets/index-96d6b7d8.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>
    		<script type="module">
    if (window.navigation && window.self !== window.top) {
    	window.navigation.addEventListener('navigate', (event) => {
    		const url = event.destination.url;
    
    		try {
    			const destinationUrl = new URL(url);
    			const destinationOrigin = destinationUrl.origin;
    			const currentOrigin = window.location.origin;
    
    			if (destinationOrigin === currentOrigin) {
    				return;
    			}
    		} catch (error) {
    			return;
    		}
    
    		window.parent.postMessage({
    			type: 'horizons-navi
    Found 3 days ago by HttpPlugin
    Create report
  • Open service 2600:9000:2644:ba00:2:9ba8:8f80:93a1:443 · cifraschurch.com

    2026-01-11 01:33

    HTTP/1.1 200 OK
    Content-Type: text/html
    Content-Length: 4208
    Connection: close
    Date: Sun, 11 Jan 2026 01:33:12 GMT
    Cache-Control: public, max-age=0, s-maxage=31536000
    Server: AmazonS3
    Accept-Ranges: bytes
    ETag: "ae6e6bd45995e523351117e782cc3ef6"
    Last-Modified: Sun, 11 Jan 2026 01:24:29 GMT
    X-Cache: Hit from cloudfront
    Via: 1.1 fca814089bc9a82fba87ce0548f9f358.cloudfront.net (CloudFront)
    X-Amz-Cf-Pop: FRA60-P6
    Alt-Svc: h3=":443"; ma=86400
    X-Amz-Cf-Id: rYN5EL0Cpw5JrU3GdovhCr1hXCEWght7KTeQaFsWTZpFgeGI7R2cGA==
    Age: 2
    
    Page title: Cifras Church
    
    <!doctype html>
    <html lang="pt-BR">
    	<head>
    		<meta charset="UTF-8" />
    		<link rel="icon" type="image/png" href="/icon-logo-cifraschurch.png" />
    		<meta name="generator" content="Cifras Church" />
    		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
    		<title>Cifras Church</title>
    		<script type="module" crossorigin src="/assets/index-fa87938a.js"></script>
    		<link rel="stylesheet" href="/assets/index-96d6b7d8.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>
    		<script type="module">
    if (window.navigation && window.self !== window.top) {
    	window.navigation.addEventListener('navigate', (event) => {
    		const url = event.destination.url;
    
    		try {
    			const destinationUrl = new URL(url);
    			const destinationOrigin = destinationUrl.origin;
    			const currentOrigin = window.location.origin;
    
    			if (destinationOrigin === currentOrigin) {
    				return;
    			}
    		} catch (error) {
    			return;
    		}
    
    		window.parent.postMessage({
    			type: 'horizons-navi
    Found 3 days ago by HttpPlugin
    Create report
  • Open service 18.245.86.5:80 · cifraschurch.com

    2026-01-11 01:33

    HTTP/1.1 301 Moved Permanently
    Server: CloudFront
    Date: Sun, 11 Jan 2026 01:33:14 GMT
    Content-Type: text/html
    Content-Length: 167
    Connection: close
    Location: https://cifraschurch.com/
    X-Cache: Redirect from cloudfront
    Via: 1.1 75102a66d781b0fa0df5617ce2738546.cloudfront.net (CloudFront)
    X-Amz-Cf-Pop: FRA60-P6
    Alt-Svc: h3=":443"; ma=86400
    X-Amz-Cf-Id: B86zLaSwnh1e_wKqd8IpZqYgbvYDpt7kKbV1GioNscplVVy44jcUkA==
    
    Page title: 301 Moved Permanently
    
    <html>
    <head><title>301 Moved Permanently</title></head>
    <body>
    <center><h1>301 Moved Permanently</h1></center>
    <hr><center>CloudFront</center>
    </body>
    </html>
    
    Found 3 days ago by HttpPlugin
    Create report
  • Open service 2600:9000:2644:1c00:2:9ba8:8f80:93a1:443 · cifraschurch.com

    2026-01-11 01:33

    HTTP/1.1 200 OK
    Content-Type: text/html
    Content-Length: 4208
    Connection: close
    Date: Sun, 11 Jan 2026 01:33:12 GMT
    Cache-Control: public, max-age=0, s-maxage=31536000
    Server: AmazonS3
    Accept-Ranges: bytes
    ETag: "ae6e6bd45995e523351117e782cc3ef6"
    Last-Modified: Sun, 11 Jan 2026 01:24:29 GMT
    X-Cache: Hit from cloudfront
    Via: 1.1 e0bdfd4f00aaa5b927cf38c4eda059ca.cloudfront.net (CloudFront)
    X-Amz-Cf-Pop: FRA60-P6
    Alt-Svc: h3=":443"; ma=86400
    X-Amz-Cf-Id: aJo9E0-S-nbQvkJLSbdXkT2kdHUel35gSk0_Bnh3uzJ4voio6v1aAA==
    Age: 2
    
    Page title: Cifras Church
    
    <!doctype html>
    <html lang="pt-BR">
    	<head>
    		<meta charset="UTF-8" />
    		<link rel="icon" type="image/png" href="/icon-logo-cifraschurch.png" />
    		<meta name="generator" content="Cifras Church" />
    		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
    		<title>Cifras Church</title>
    		<script type="module" crossorigin src="/assets/index-fa87938a.js"></script>
    		<link rel="stylesheet" href="/assets/index-96d6b7d8.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>
    		<script type="module">
    if (window.navigation && window.self !== window.top) {
    	window.navigation.addEventListener('navigate', (event) => {
    		const url = event.destination.url;
    
    		try {
    			const destinationUrl = new URL(url);
    			const destinationOrigin = destinationUrl.origin;
    			const currentOrigin = window.location.origin;
    
    			if (destinationOrigin === currentOrigin) {
    				return;
    			}
    		} catch (error) {
    			return;
    		}
    
    		window.parent.postMessage({
    			type: 'horizons-navi
    Found 3 days ago by HttpPlugin
    Create report
  • Open service 2600:9000:2644:ec00:2:9ba8:8f80:93a1:80 · cifraschurch.com

    2026-01-11 01:33

    HTTP/1.1 301 Moved Permanently
    Server: CloudFront
    Date: Sun, 11 Jan 2026 01:33:14 GMT
    Content-Type: text/html
    Content-Length: 167
    Connection: close
    Location: https://cifraschurch.com/
    X-Cache: Redirect from cloudfront
    Via: 1.1 9ed190c9d6b2f812d19cbb317856ed88.cloudfront.net (CloudFront)
    X-Amz-Cf-Pop: FRA60-P6
    Alt-Svc: h3=":443"; ma=86400
    X-Amz-Cf-Id: hZtKm9WWwjfhjrzuZ-lvRJPmbWR4FscwSLeVDBKtd362UPSlcPMZNw==
    
    Page title: 301 Moved Permanently
    
    <html>
    <head><title>301 Moved Permanently</title></head>
    <body>
    <center><h1>301 Moved Permanently</h1></center>
    <hr><center>CloudFront</center>
    </body>
    </html>
    
    Found 3 days ago by HttpPlugin
    Create report
  • Open service 2600:9000:2644:cc00:2:9ba8:8f80:93a1:443 · cifraschurch.com

    2026-01-11 01:33

    HTTP/1.1 200 OK
    Content-Type: text/html
    Content-Length: 4208
    Connection: close
    Date: Sun, 11 Jan 2026 01:33:12 GMT
    Cache-Control: public, max-age=0, s-maxage=31536000
    Server: AmazonS3
    Accept-Ranges: bytes
    ETag: "ae6e6bd45995e523351117e782cc3ef6"
    Last-Modified: Sun, 11 Jan 2026 01:24:29 GMT
    X-Cache: Hit from cloudfront
    Via: 1.1 fc486e72455da7c1d3be4472dd5ba8b2.cloudfront.net (CloudFront)
    X-Amz-Cf-Pop: FRA60-P6
    Alt-Svc: h3=":443"; ma=86400
    X-Amz-Cf-Id: R5RfwspVyFd844pHUndi7g38W4boHmTyBipRbG9-jJZwYxs7nx6DbA==
    Age: 2
    
    Page title: Cifras Church
    
    <!doctype html>
    <html lang="pt-BR">
    	<head>
    		<meta charset="UTF-8" />
    		<link rel="icon" type="image/png" href="/icon-logo-cifraschurch.png" />
    		<meta name="generator" content="Cifras Church" />
    		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
    		<title>Cifras Church</title>
    		<script type="module" crossorigin src="/assets/index-fa87938a.js"></script>
    		<link rel="stylesheet" href="/assets/index-96d6b7d8.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>
    		<script type="module">
    if (window.navigation && window.self !== window.top) {
    	window.navigation.addEventListener('navigate', (event) => {
    		const url = event.destination.url;
    
    		try {
    			const destinationUrl = new URL(url);
    			const destinationOrigin = destinationUrl.origin;
    			const currentOrigin = window.location.origin;
    
    			if (destinationOrigin === currentOrigin) {
    				return;
    			}
    		} catch (error) {
    			return;
    		}
    
    		window.parent.postMessage({
    			type: 'horizons-navi
    Found 3 days ago by HttpPlugin
    Create report
  • Open service 2600:9000:2644:a800:2:9ba8:8f80:93a1:443 · cifraschurch.com

    2026-01-11 01:33

    HTTP/1.1 200 OK
    Content-Type: text/html
    Content-Length: 4208
    Connection: close
    Date: Sun, 11 Jan 2026 01:33:12 GMT
    Cache-Control: public, max-age=0, s-maxage=31536000
    Server: AmazonS3
    Accept-Ranges: bytes
    ETag: "ae6e6bd45995e523351117e782cc3ef6"
    Last-Modified: Sun, 11 Jan 2026 01:24:29 GMT
    X-Cache: Hit from cloudfront
    Via: 1.1 104bdf965b5b1cb596af463b142160de.cloudfront.net (CloudFront)
    X-Amz-Cf-Pop: FRA60-P6
    Alt-Svc: h3=":443"; ma=86400
    X-Amz-Cf-Id: lRqD_t1GEP7gRrROvehqpj5wIoWwkFR2IP0JUl3RFHVJADIk7djzTA==
    Age: 2
    
    Page title: Cifras Church
    
    <!doctype html>
    <html lang="pt-BR">
    	<head>
    		<meta charset="UTF-8" />
    		<link rel="icon" type="image/png" href="/icon-logo-cifraschurch.png" />
    		<meta name="generator" content="Cifras Church" />
    		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
    		<title>Cifras Church</title>
    		<script type="module" crossorigin src="/assets/index-fa87938a.js"></script>
    		<link rel="stylesheet" href="/assets/index-96d6b7d8.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>
    		<script type="module">
    if (window.navigation && window.self !== window.top) {
    	window.navigation.addEventListener('navigate', (event) => {
    		const url = event.destination.url;
    
    		try {
    			const destinationUrl = new URL(url);
    			const destinationOrigin = destinationUrl.origin;
    			const currentOrigin = window.location.origin;
    
    			if (destinationOrigin === currentOrigin) {
    				return;
    			}
    		} catch (error) {
    			return;
    		}
    
    		window.parent.postMessage({
    			type: 'horizons-navi
    Found 3 days ago by HttpPlugin
    Create report
  • Open service 18.245.86.83:80 · cifraschurch.com

    2026-01-11 01:33

    HTTP/1.1 301 Moved Permanently
    Server: CloudFront
    Date: Sun, 11 Jan 2026 01:33:15 GMT
    Content-Type: text/html
    Content-Length: 167
    Connection: close
    Location: https://cifraschurch.com/
    X-Cache: Redirect from cloudfront
    Via: 1.1 13ad77f5993668d67b8168f460ba6368.cloudfront.net (CloudFront)
    X-Amz-Cf-Pop: FRA60-P6
    Alt-Svc: h3=":443"; ma=86400
    X-Amz-Cf-Id: 7kVOvRyC4QDNNIuqCHFt7iZBEiPirgw9Nms77zCBwURN38KoII5acw==
    
    Page title: 301 Moved Permanently
    
    <html>
    <head><title>301 Moved Permanently</title></head>
    <body>
    <center><h1>301 Moved Permanently</h1></center>
    <hr><center>CloudFront</center>
    </body>
    </html>
    
    Found 3 days ago by HttpPlugin
    Create report
  • Open service 2600:9000:2644:f400:2:9ba8:8f80:93a1:80 · cifraschurch.com

    2026-01-11 01:33

    HTTP/1.1 301 Moved Permanently
    Server: CloudFront
    Date: Sun, 11 Jan 2026 01:33:14 GMT
    Content-Type: text/html
    Content-Length: 167
    Connection: close
    Location: https://cifraschurch.com/
    X-Cache: Redirect from cloudfront
    Via: 1.1 57bc54093a2e2c99ca194f2955ba3d1c.cloudfront.net (CloudFront)
    X-Amz-Cf-Pop: FRA60-P6
    Alt-Svc: h3=":443"; ma=86400
    X-Amz-Cf-Id: FJgnY3L-Xuw-TiEfGZCX2hGExs_ClsLVt2aWw5zk8BBVK799TzKNxA==
    
    Page title: 301 Moved Permanently
    
    <html>
    <head><title>301 Moved Permanently</title></head>
    <body>
    <center><h1>301 Moved Permanently</h1></center>
    <hr><center>CloudFront</center>
    </body>
    </html>
    
    Found 3 days ago by HttpPlugin
    Create report
  • Open service 2600:9000:2644:5600:2:9ba8:8f80:93a1:80 · cifraschurch.com

    2026-01-11 01:33

    HTTP/1.1 301 Moved Permanently
    Server: CloudFront
    Date: Sun, 11 Jan 2026 01:33:14 GMT
    Content-Type: text/html
    Content-Length: 167
    Connection: close
    Location: https://cifraschurch.com/
    X-Cache: Redirect from cloudfront
    Via: 1.1 104bdf965b5b1cb596af463b142160de.cloudfront.net (CloudFront)
    X-Amz-Cf-Pop: FRA60-P6
    Alt-Svc: h3=":443"; ma=86400
    X-Amz-Cf-Id: Gg_q2aFf3J_FQfaZbA3s3BCA75PtkN-9anI2TM9DJ4sQXn19S8npFA==
    
    Page title: 301 Moved Permanently
    
    <html>
    <head><title>301 Moved Permanently</title></head>
    <body>
    <center><h1>301 Moved Permanently</h1></center>
    <hr><center>CloudFront</center>
    </body>
    </html>
    
    Found 3 days ago by HttpPlugin
    Create report
  • Open service 2600:9000:2644:5600:2:9ba8:8f80:93a1:443 · cifraschurch.com

    2026-01-11 01:33

    HTTP/1.1 200 OK
    Content-Type: text/html
    Content-Length: 4208
    Connection: close
    Date: Sun, 11 Jan 2026 01:33:12 GMT
    Cache-Control: public, max-age=0, s-maxage=31536000
    Server: AmazonS3
    Accept-Ranges: bytes
    ETag: "ae6e6bd45995e523351117e782cc3ef6"
    Last-Modified: Sun, 11 Jan 2026 01:24:29 GMT
    X-Cache: Hit from cloudfront
    Via: 1.1 8e8e6ea60de74421f0058675cbcf9cb0.cloudfront.net (CloudFront)
    X-Amz-Cf-Pop: FRA60-P6
    Alt-Svc: h3=":443"; ma=86400
    X-Amz-Cf-Id: 89LLibNZoher4cNyBGG0R2_8uH3cBJXEzaBKnjVGgM9bCo3oLiJmww==
    Age: 2
    
    Page title: Cifras Church
    
    <!doctype html>
    <html lang="pt-BR">
    	<head>
    		<meta charset="UTF-8" />
    		<link rel="icon" type="image/png" href="/icon-logo-cifraschurch.png" />
    		<meta name="generator" content="Cifras Church" />
    		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
    		<title>Cifras Church</title>
    		<script type="module" crossorigin src="/assets/index-fa87938a.js"></script>
    		<link rel="stylesheet" href="/assets/index-96d6b7d8.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>
    		<script type="module">
    if (window.navigation && window.self !== window.top) {
    	window.navigation.addEventListener('navigate', (event) => {
    		const url = event.destination.url;
    
    		try {
    			const destinationUrl = new URL(url);
    			const destinationOrigin = destinationUrl.origin;
    			const currentOrigin = window.location.origin;
    
    			if (destinationOrigin === currentOrigin) {
    				return;
    			}
    		} catch (error) {
    			return;
    		}
    
    		window.parent.postMessage({
    			type: 'horizons-navi
    Found 3 days ago by HttpPlugin
    Create report
  • Open service 18.245.86.4:443 · cifraschurch.com

    2026-01-11 01:33

    HTTP/1.1 200 OK
    Content-Type: text/html
    Content-Length: 4208
    Connection: close
    Date: Sun, 11 Jan 2026 01:33:12 GMT
    Cache-Control: public, max-age=0, s-maxage=31536000
    Server: AmazonS3
    Accept-Ranges: bytes
    ETag: "ae6e6bd45995e523351117e782cc3ef6"
    Last-Modified: Sun, 11 Jan 2026 01:24:29 GMT
    X-Cache: Hit from cloudfront
    Via: 1.1 6e4ed2b1996ce238462d61d3bfff667a.cloudfront.net (CloudFront)
    X-Amz-Cf-Pop: FRA60-P6
    Alt-Svc: h3=":443"; ma=86400
    X-Amz-Cf-Id: 7fWrZs23DyOh4ncW4sJxdlsEW5AjSrgffK9K3Pa2xB1fOOU5fF4Ekw==
    Age: 2
    
    Page title: Cifras Church
    
    <!doctype html>
    <html lang="pt-BR">
    	<head>
    		<meta charset="UTF-8" />
    		<link rel="icon" type="image/png" href="/icon-logo-cifraschurch.png" />
    		<meta name="generator" content="Cifras Church" />
    		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
    		<title>Cifras Church</title>
    		<script type="module" crossorigin src="/assets/index-fa87938a.js"></script>
    		<link rel="stylesheet" href="/assets/index-96d6b7d8.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>
    		<script type="module">
    if (window.navigation && window.self !== window.top) {
    	window.navigation.addEventListener('navigate', (event) => {
    		const url = event.destination.url;
    
    		try {
    			const destinationUrl = new URL(url);
    			const destinationOrigin = destinationUrl.origin;
    			const currentOrigin = window.location.origin;
    
    			if (destinationOrigin === currentOrigin) {
    				return;
    			}
    		} catch (error) {
    			return;
    		}
    
    		window.parent.postMessage({
    			type: 'horizons-navi
    Found 3 days ago by HttpPlugin
    Create report
  • Open service 18.245.86.5:443 · cifraschurch.com

    2026-01-11 01:33

    HTTP/1.1 200 OK
    Content-Type: text/html
    Content-Length: 4208
    Connection: close
    Date: Sun, 11 Jan 2026 01:33:12 GMT
    Cache-Control: public, max-age=0, s-maxage=31536000
    Server: AmazonS3
    Accept-Ranges: bytes
    ETag: "ae6e6bd45995e523351117e782cc3ef6"
    Last-Modified: Sun, 11 Jan 2026 01:24:29 GMT
    X-Cache: Hit from cloudfront
    Via: 1.1 cae5c5323232533718f592c973f01432.cloudfront.net (CloudFront)
    X-Amz-Cf-Pop: FRA60-P6
    Alt-Svc: h3=":443"; ma=86400
    X-Amz-Cf-Id: C8B3GydWh-XXGjM5wslMJun2DsH5tdmi1B3iCPZ2CWhmXg9ssq4o3g==
    Age: 2
    
    Page title: Cifras Church
    
    <!doctype html>
    <html lang="pt-BR">
    	<head>
    		<meta charset="UTF-8" />
    		<link rel="icon" type="image/png" href="/icon-logo-cifraschurch.png" />
    		<meta name="generator" content="Cifras Church" />
    		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
    		<title>Cifras Church</title>
    		<script type="module" crossorigin src="/assets/index-fa87938a.js"></script>
    		<link rel="stylesheet" href="/assets/index-96d6b7d8.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>
    		<script type="module">
    if (window.navigation && window.self !== window.top) {
    	window.navigation.addEventListener('navigate', (event) => {
    		const url = event.destination.url;
    
    		try {
    			const destinationUrl = new URL(url);
    			const destinationOrigin = destinationUrl.origin;
    			const currentOrigin = window.location.origin;
    
    			if (destinationOrigin === currentOrigin) {
    				return;
    			}
    		} catch (error) {
    			return;
    		}
    
    		window.parent.postMessage({
    			type: 'horizons-navi
    Found 3 days ago by HttpPlugin
    Create report
  • Open service 2600:9000:2644:a000:2:9ba8:8f80:93a1:80 · cifraschurch.com

    2026-01-11 01:33

    HTTP/1.1 301 Moved Permanently
    Server: CloudFront
    Date: Sun, 11 Jan 2026 01:33:15 GMT
    Content-Type: text/html
    Content-Length: 167
    Connection: close
    Location: https://cifraschurch.com/
    X-Cache: Redirect from cloudfront
    Via: 1.1 b2340053ff948864db4d5e3c0ab3f3ea.cloudfront.net (CloudFront)
    X-Amz-Cf-Pop: FRA60-P6
    Alt-Svc: h3=":443"; ma=86400
    X-Amz-Cf-Id: y-NlgzsYdxi5Jun-qyha_GquOB5nyb4SKSeygE-JGiLShsmDVzebcw==
    
    Page title: 301 Moved Permanently
    
    <html>
    <head><title>301 Moved Permanently</title></head>
    <body>
    <center><h1>301 Moved Permanently</h1></center>
    <hr><center>CloudFront</center>
    </body>
    </html>
    
    Found 3 days ago by HttpPlugin
    Create report
  • Open service 18.245.86.83:443 · cifraschurch.com

    2026-01-11 01:33

    HTTP/1.1 200 OK
    Content-Type: text/html
    Content-Length: 4208
    Connection: close
    Date: Sun, 11 Jan 2026 01:33:12 GMT
    Cache-Control: public, max-age=0, s-maxage=31536000
    Server: AmazonS3
    Accept-Ranges: bytes
    ETag: "ae6e6bd45995e523351117e782cc3ef6"
    Last-Modified: Sun, 11 Jan 2026 01:24:29 GMT
    X-Cache: Hit from cloudfront
    Via: 1.1 218c6128df18321f9758e53ccc351448.cloudfront.net (CloudFront)
    X-Amz-Cf-Pop: FRA60-P6
    Alt-Svc: h3=":443"; ma=86400
    X-Amz-Cf-Id: fS_wt0iIzn4hzW4zkAB2ONijryIhNGMijHOcLUbWkotVeJ0eaG1FKA==
    Age: 2
    
    Page title: Cifras Church
    
    <!doctype html>
    <html lang="pt-BR">
    	<head>
    		<meta charset="UTF-8" />
    		<link rel="icon" type="image/png" href="/icon-logo-cifraschurch.png" />
    		<meta name="generator" content="Cifras Church" />
    		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
    		<title>Cifras Church</title>
    		<script type="module" crossorigin src="/assets/index-fa87938a.js"></script>
    		<link rel="stylesheet" href="/assets/index-96d6b7d8.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>
    		<script type="module">
    if (window.navigation && window.self !== window.top) {
    	window.navigation.addEventListener('navigate', (event) => {
    		const url = event.destination.url;
    
    		try {
    			const destinationUrl = new URL(url);
    			const destinationOrigin = destinationUrl.origin;
    			const currentOrigin = window.location.origin;
    
    			if (destinationOrigin === currentOrigin) {
    				return;
    			}
    		} catch (error) {
    			return;
    		}
    
    		window.parent.postMessage({
    			type: 'horizons-navi
    Found 3 days ago by HttpPlugin
    Create report
  • Open service 18.245.86.65:443 · cifraschurch.com

    2026-01-11 01:33

    HTTP/1.1 200 OK
    Content-Type: text/html
    Content-Length: 4208
    Connection: close
    Date: Sun, 11 Jan 2026 01:33:12 GMT
    Cache-Control: public, max-age=0, s-maxage=31536000
    Server: AmazonS3
    Accept-Ranges: bytes
    ETag: "ae6e6bd45995e523351117e782cc3ef6"
    Last-Modified: Sun, 11 Jan 2026 01:24:29 GMT
    X-Cache: Hit from cloudfront
    Via: 1.1 75102a66d781b0fa0df5617ce2738546.cloudfront.net (CloudFront)
    X-Amz-Cf-Pop: FRA60-P6
    Alt-Svc: h3=":443"; ma=86400
    X-Amz-Cf-Id: zuqvg92CN_jPmig50wob-dVvXuR1HC1b2_VfZQdHU-IVSjWe5ffk7A==
    Age: 2
    
    Page title: Cifras Church
    
    <!doctype html>
    <html lang="pt-BR">
    	<head>
    		<meta charset="UTF-8" />
    		<link rel="icon" type="image/png" href="/icon-logo-cifraschurch.png" />
    		<meta name="generator" content="Cifras Church" />
    		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
    		<title>Cifras Church</title>
    		<script type="module" crossorigin src="/assets/index-fa87938a.js"></script>
    		<link rel="stylesheet" href="/assets/index-96d6b7d8.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>
    		<script type="module">
    if (window.navigation && window.self !== window.top) {
    	window.navigation.addEventListener('navigate', (event) => {
    		const url = event.destination.url;
    
    		try {
    			const destinationUrl = new URL(url);
    			const destinationOrigin = destinationUrl.origin;
    			const currentOrigin = window.location.origin;
    
    			if (destinationOrigin === currentOrigin) {
    				return;
    			}
    		} catch (error) {
    			return;
    		}
    
    		window.parent.postMessage({
    			type: 'horizons-navi
    Found 3 days ago by HttpPlugin
    Create report
  • Open service 2600:9000:2644:cc00:2:9ba8:8f80:93a1:80 · cifraschurch.com

    2026-01-11 01:33

    HTTP/1.1 301 Moved Permanently
    Server: CloudFront
    Date: Sun, 11 Jan 2026 01:33:14 GMT
    Content-Type: text/html
    Content-Length: 167
    Connection: close
    Location: https://cifraschurch.com/
    X-Cache: Redirect from cloudfront
    Via: 1.1 d4b0acc43b96f7849332ef0fcc29ac32.cloudfront.net (CloudFront)
    X-Amz-Cf-Pop: FRA60-P6
    Alt-Svc: h3=":443"; ma=86400
    X-Amz-Cf-Id: peBXR3JSjn76d6HdMMELS7UjOD1eyAc-D_4kGJo5cg4boEmCMz1NIg==
    
    Page title: 301 Moved Permanently
    
    <html>
    <head><title>301 Moved Permanently</title></head>
    <body>
    <center><h1>301 Moved Permanently</h1></center>
    <hr><center>CloudFront</center>
    </body>
    </html>
    
    Found 3 days ago by HttpPlugin
    Create report
  • Open service 2600:9000:2644:ba00:2:9ba8:8f80:93a1:80 · cifraschurch.com

    2026-01-11 01:33

    HTTP/1.1 301 Moved Permanently
    Server: CloudFront
    Date: Sun, 11 Jan 2026 01:33:14 GMT
    Content-Type: text/html
    Content-Length: 167
    Connection: close
    Location: https://cifraschurch.com/
    X-Cache: Redirect from cloudfront
    Via: 1.1 b17826d683a2d96e59e274ca2b79697e.cloudfront.net (CloudFront)
    X-Amz-Cf-Pop: FRA60-P6
    Alt-Svc: h3=":443"; ma=86400
    X-Amz-Cf-Id: DqztodIJZ0qxNnjMlmJr358UhGVjkLWc5u4YdVvusjMzR-7yU8HrBw==
    
    Page title: 301 Moved Permanently
    
    <html>
    <head><title>301 Moved Permanently</title></head>
    <body>
    <center><h1>301 Moved Permanently</h1></center>
    <hr><center>CloudFront</center>
    </body>
    </html>
    
    Found 3 days ago by HttpPlugin
    Create report
  • Open service 18.245.86.65:80 · cifraschurch.com

    2026-01-11 01:33

    HTTP/1.1 301 Moved Permanently
    Server: CloudFront
    Date: Sun, 11 Jan 2026 01:33:14 GMT
    Content-Type: text/html
    Content-Length: 167
    Connection: close
    Location: https://cifraschurch.com/
    X-Cache: Redirect from cloudfront
    Via: 1.1 218c6128df18321f9758e53ccc351448.cloudfront.net (CloudFront)
    X-Amz-Cf-Pop: FRA60-P6
    Alt-Svc: h3=":443"; ma=86400
    X-Amz-Cf-Id: 35cvxynBjBxemQ-43qGm_0sSe6ENz-6lj1QwyW8StYuPeOY1uS4WZg==
    
    Page title: 301 Moved Permanently
    
    <html>
    <head><title>301 Moved Permanently</title></head>
    <body>
    <center><h1>301 Moved Permanently</h1></center>
    <hr><center>CloudFront</center>
    </body>
    </html>
    
    Found 3 days ago by HttpPlugin
    Create report
  • Open service 18.245.86.4:80 · cifraschurch.com

    2026-01-11 01:33

    HTTP/1.1 301 Moved Permanently
    Server: CloudFront
    Date: Sun, 11 Jan 2026 01:33:14 GMT
    Content-Type: text/html
    Content-Length: 167
    Connection: close
    Location: https://cifraschurch.com/
    X-Cache: Redirect from cloudfront
    Via: 1.1 d72cc6b7011ac53cd6e4d65e0d9f5ac4.cloudfront.net (CloudFront)
    X-Amz-Cf-Pop: FRA60-P6
    Alt-Svc: h3=":443"; ma=86400
    X-Amz-Cf-Id: 18wCyX8ppflgvXmwycnRhZsPj5PfIiA1mDY6iMtGJW1mCNEApJ7Uyg==
    
    Page title: 301 Moved Permanently
    
    <html>
    <head><title>301 Moved Permanently</title></head>
    <body>
    <center><h1>301 Moved Permanently</h1></center>
    <hr><center>CloudFront</center>
    </body>
    </html>
    
    Found 3 days ago by HttpPlugin
    Create report
  • Open service 2600:9000:2644:a800:2:9ba8:8f80:93a1:80 · cifraschurch.com

    2026-01-11 01:33

    HTTP/1.1 301 Moved Permanently
    Server: CloudFront
    Date: Sun, 11 Jan 2026 01:33:14 GMT
    Content-Type: text/html
    Content-Length: 167
    Connection: close
    Location: https://cifraschurch.com/
    X-Cache: Redirect from cloudfront
    Via: 1.1 e221f111ed3ebc025b531e81056d37a4.cloudfront.net (CloudFront)
    X-Amz-Cf-Pop: FRA60-P6
    Alt-Svc: h3=":443"; ma=86400
    X-Amz-Cf-Id: lqLGkqoz9Gw4jks_ljmzEwqhvo9IKSjOyKq39YhY9-QxpL5TRGcwYQ==
    
    Page title: 301 Moved Permanently
    
    <html>
    <head><title>301 Moved Permanently</title></head>
    <body>
    <center><h1>301 Moved Permanently</h1></center>
    <hr><center>CloudFront</center>
    </body>
    </html>
    
    Found 3 days ago by HttpPlugin
    Create report
  • Open service 2600:9000:2644:1c00:2:9ba8:8f80:93a1:80 · cifraschurch.com

    2026-01-11 01:33

    HTTP/1.1 301 Moved Permanently
    Server: CloudFront
    Date: Sun, 11 Jan 2026 01:33:14 GMT
    Content-Type: text/html
    Content-Length: 167
    Connection: close
    Location: https://cifraschurch.com/
    X-Cache: Redirect from cloudfront
    Via: 1.1 8e8e6ea60de74421f0058675cbcf9cb0.cloudfront.net (CloudFront)
    X-Amz-Cf-Pop: FRA60-P6
    Alt-Svc: h3=":443"; ma=86400
    X-Amz-Cf-Id: 8Zw6ODWb13ZlGGN5llA2C6Bw_UXUWzTxGz6s0uAgpP0oq27RVnqw8g==
    
    Page title: 301 Moved Permanently
    
    <html>
    <head><title>301 Moved Permanently</title></head>
    <body>
    <center><h1>301 Moved Permanently</h1></center>
    <hr><center>CloudFront</center>
    </body>
    </html>
    
    Found 3 days ago by HttpPlugin
    Create report
  • Open service 2600:9000:2644:a000:2:9ba8:8f80:93a1:443 · cifraschurch.com

    2026-01-11 01:33

    HTTP/1.1 200 OK
    Content-Type: text/html
    Content-Length: 4208
    Connection: close
    Date: Sun, 11 Jan 2026 01:33:12 GMT
    Cache-Control: public, max-age=0, s-maxage=31536000
    Server: AmazonS3
    Accept-Ranges: bytes
    ETag: "ae6e6bd45995e523351117e782cc3ef6"
    Last-Modified: Sun, 11 Jan 2026 01:24:29 GMT
    X-Cache: Hit from cloudfront
    Via: 1.1 1ed131e2ff13a9b8852067b4dfb6f2dc.cloudfront.net (CloudFront)
    X-Amz-Cf-Pop: FRA60-P6
    Alt-Svc: h3=":443"; ma=86400
    X-Amz-Cf-Id: ZL9CjWWJPNURh9-XeGl8-bgHihl5PWTks1XOL4WQSMmYRqsa7ijKDw==
    Age: 2
    
    Page title: Cifras Church
    
    <!doctype html>
    <html lang="pt-BR">
    	<head>
    		<meta charset="UTF-8" />
    		<link rel="icon" type="image/png" href="/icon-logo-cifraschurch.png" />
    		<meta name="generator" content="Cifras Church" />
    		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
    		<title>Cifras Church</title>
    		<script type="module" crossorigin src="/assets/index-fa87938a.js"></script>
    		<link rel="stylesheet" href="/assets/index-96d6b7d8.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>
    		<script type="module">
    if (window.navigation && window.self !== window.top) {
    	window.navigation.addEventListener('navigate', (event) => {
    		const url = event.destination.url;
    
    		try {
    			const destinationUrl = new URL(url);
    			const destinationOrigin = destinationUrl.origin;
    			const currentOrigin = window.location.origin;
    
    			if (destinationOrigin === currentOrigin) {
    				return;
    			}
    		} catch (error) {
    			return;
    		}
    
    		window.parent.postMessage({
    			type: 'horizons-navi
    Found 3 days ago by HttpPlugin
    Create report
  • Open service 84.32.84.32:443 · cifraschurch.com

    2026-01-02 22:26

    HTTP/1.1 200 OK
    Date: Fri, 02 Jan 2026 22:26:50 GMT
    Content-Type: text/html
    Content-Length: 29410
    Connection: close
    Vary: Accept-Encoding
    Server: hcdn
    alt-svc: h3=":443"; ma=86400
    x-hcdn-request-id: f7d30256169436209e68fa880e28ed79-nme-edge8
    Expires: Fri, 02 Jan 2026 22:26:49 GMT
    Cache-Control: no-cache
    Accept-Ranges: bytes
    
    Page title: Parked Domain name on Hostinger DNS system
    
    <!doctypehtml><html lang=en><meta charset=UTF-8><meta content="width=device-width,initial-scale=1"name=viewport><meta content="noindex, nofollow, noarchive, nosnippet"name=robots><title>Parked Domain name on Hostinger DNS system</title><link href="https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap"rel=stylesheet><style>*{margin:0;padding:0;box-sizing:border-box}body{font-family:'DM Sans',sans-serif;background-color:#fafbff;color:#1d1e20;line-height:1.5}.container{max-width:1110px;margin:160px auto;padding:0 32px;box-sizing:content-box}.header{display:flex;flex-direction:column;gap:32px;align-items:flex-start;margin-bottom:80px}.header-content{flex:1;display:flex;flex-direction:column;gap:24px;max-width:420px}.domain-info{display:flex;flex-direction:column;gap:16px}.domain-title{font-size:40px;font-weight:700;line-height:48px;color:#1d1e20;font-family:'DM Sans',sans-serif;word-break:break-word}.registered-at{display:flex;align-items:center;gap:16px}.registered-text{font-size:16px;color:#1d1e20;font-family:'DM Sans',sans-serif}.logotype{width:150px;height:30px}.description{font-size:16px;color:#1d1e20;max-width:384px;font-family:'DM Sans',sans-serif}.figma-button{background-color:#673de6;color:#fff;border:none;border-radius:8px;padding:8px 16px;min-height:40px;min-width:96px;font-size:14px;font-weight:700;line-height:24px;font-family:'DM Sans',sans-serif;cursor:pointer;transition:opacity .2s;width:fit-content;text-decoration:none;display:inline-block}.figma-button:hover{opacity:.9}.visual-mockup{flex:1;display:flex;justify-content:center;position:relative;width:100%;max-width:658px;height:363px;overflow:hidden;height:100%;object-fit:cover}.bg-rect-1{position:absolute;background:#d5dfff;height:51px;width:328px;right:320px;top:247px}.bg-rect-2{position:absolute;background:#d5dfff;height:45px;width:112px;right:163px;top:298px}.bg-rect-3{position:absolute;background:#d5dfff;height:45px;width:112px;right:321px;top:298px}.bg-rect-4{position:absolute;background:#d5dfff;height:45px;width:52px;right:492px;top:298px}.bg-rect-5{position:absolute;background:#d5dfff;width:16px;height:16px;right:27px;top:261px}.bg-rect-6{position:absolute;background:#d5dfff;height:45px;width:101px;right:62px;top:298px}.main-showcase{position:absolute;background:#fff;height:238px;width:423px;right:118px;top:50px;border-radius:11px;border:1px solid #c3cce9;box-shadow:0 10px 15px -3px rgba(0,0,0,.1);overflow:hidden}.showcase-nav{position:absolute;top:25px;left:50%;transform:translateX(-50%);display:flex;gap:24px;font-size:6px;font-weight:600;color:#2f1c6a;text-transform:uppercase;letter-spacing:.05em}.bold-text{position:absolute;left:46px;top:64px;font-size:41px;line-height:.89;font-weight:900;color:#8c85ff;letter-spacing:-.025em}.shop-now{position:absolute;left:46px;top:145px;display:flex;align-items:center;gap:8px}.shop-text{color:#2f1c6a;font-size:6px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.shop-line{width:16px;height:1px;background:#2f1c6a}.domain-tags{position:absolute;right:78px;top:36px;display:flex;gap:4px}.domain-tag-1{background:linear-gradient(to right,rgba(103,61,230,.2),transparent);backdrop-filter:blur(4px);background-color:rgba(255,255,255,.8);padding:9px 14px;border-radius:8px;border:1px solid #eaeaff;box-shadow:0 10px 15px -3px rgba(0,0,0,.1)}.domain-tag-2{background:#673de6;padding:9px 14px;border-radius:8px;border:1px solid #5025d1}.tag-text-1{font-size:10px;font-weight:700;color:#45219c}.tag-text-2{font-size:10px;font-weight:700;color:#fff}.services{display:flex;flex-direction:column;gap:24px}.services-title{font-size:24px;font-weight:700;color:#1d1e20;line-height:36px;font-family:'DM Sans',sans-serif}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.services-grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:24px}.service-card{background:#f4f5ff;border:none;border-radius:8px;padding:24px;display:flex;flex-direction:column}.service-card-large{background:#f4f5ff;border:none;border
    Found 2026-01-02 by HttpPlugin
    Create report
  • Open service 84.32.84.32:443 · www.cifraschurch.com

    2026-01-02 22:26

    HTTP/1.1 200 OK
    Date: Fri, 02 Jan 2026 22:26:50 GMT
    Content-Type: text/html
    Content-Length: 29410
    Connection: close
    Vary: Accept-Encoding
    Server: hcdn
    alt-svc: h3=":443"; ma=86400
    x-hcdn-request-id: 24257bc4e3d4b3dd5002271c1a5b3acf-kul-edge3
    Expires: Fri, 02 Jan 2026 22:26:49 GMT
    Cache-Control: no-cache
    Accept-Ranges: bytes
    
    Page title: Parked Domain name on Hostinger DNS system
    
    <!doctypehtml><html lang=en><meta charset=UTF-8><meta content="width=device-width,initial-scale=1"name=viewport><meta content="noindex, nofollow, noarchive, nosnippet"name=robots><title>Parked Domain name on Hostinger DNS system</title><link href="https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap"rel=stylesheet><style>*{margin:0;padding:0;box-sizing:border-box}body{font-family:'DM Sans',sans-serif;background-color:#fafbff;color:#1d1e20;line-height:1.5}.container{max-width:1110px;margin:160px auto;padding:0 32px;box-sizing:content-box}.header{display:flex;flex-direction:column;gap:32px;align-items:flex-start;margin-bottom:80px}.header-content{flex:1;display:flex;flex-direction:column;gap:24px;max-width:420px}.domain-info{display:flex;flex-direction:column;gap:16px}.domain-title{font-size:40px;font-weight:700;line-height:48px;color:#1d1e20;font-family:'DM Sans',sans-serif;word-break:break-word}.registered-at{display:flex;align-items:center;gap:16px}.registered-text{font-size:16px;color:#1d1e20;font-family:'DM Sans',sans-serif}.logotype{width:150px;height:30px}.description{font-size:16px;color:#1d1e20;max-width:384px;font-family:'DM Sans',sans-serif}.figma-button{background-color:#673de6;color:#fff;border:none;border-radius:8px;padding:8px 16px;min-height:40px;min-width:96px;font-size:14px;font-weight:700;line-height:24px;font-family:'DM Sans',sans-serif;cursor:pointer;transition:opacity .2s;width:fit-content;text-decoration:none;display:inline-block}.figma-button:hover{opacity:.9}.visual-mockup{flex:1;display:flex;justify-content:center;position:relative;width:100%;max-width:658px;height:363px;overflow:hidden;height:100%;object-fit:cover}.bg-rect-1{position:absolute;background:#d5dfff;height:51px;width:328px;right:320px;top:247px}.bg-rect-2{position:absolute;background:#d5dfff;height:45px;width:112px;right:163px;top:298px}.bg-rect-3{position:absolute;background:#d5dfff;height:45px;width:112px;right:321px;top:298px}.bg-rect-4{position:absolute;background:#d5dfff;height:45px;width:52px;right:492px;top:298px}.bg-rect-5{position:absolute;background:#d5dfff;width:16px;height:16px;right:27px;top:261px}.bg-rect-6{position:absolute;background:#d5dfff;height:45px;width:101px;right:62px;top:298px}.main-showcase{position:absolute;background:#fff;height:238px;width:423px;right:118px;top:50px;border-radius:11px;border:1px solid #c3cce9;box-shadow:0 10px 15px -3px rgba(0,0,0,.1);overflow:hidden}.showcase-nav{position:absolute;top:25px;left:50%;transform:translateX(-50%);display:flex;gap:24px;font-size:6px;font-weight:600;color:#2f1c6a;text-transform:uppercase;letter-spacing:.05em}.bold-text{position:absolute;left:46px;top:64px;font-size:41px;line-height:.89;font-weight:900;color:#8c85ff;letter-spacing:-.025em}.shop-now{position:absolute;left:46px;top:145px;display:flex;align-items:center;gap:8px}.shop-text{color:#2f1c6a;font-size:6px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.shop-line{width:16px;height:1px;background:#2f1c6a}.domain-tags{position:absolute;right:78px;top:36px;display:flex;gap:4px}.domain-tag-1{background:linear-gradient(to right,rgba(103,61,230,.2),transparent);backdrop-filter:blur(4px);background-color:rgba(255,255,255,.8);padding:9px 14px;border-radius:8px;border:1px solid #eaeaff;box-shadow:0 10px 15px -3px rgba(0,0,0,.1)}.domain-tag-2{background:#673de6;padding:9px 14px;border-radius:8px;border:1px solid #5025d1}.tag-text-1{font-size:10px;font-weight:700;color:#45219c}.tag-text-2{font-size:10px;font-weight:700;color:#fff}.services{display:flex;flex-direction:column;gap:24px}.services-title{font-size:24px;font-weight:700;color:#1d1e20;line-height:36px;font-family:'DM Sans',sans-serif}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.services-grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:24px}.service-card{background:#f4f5ff;border:none;border-radius:8px;padding:24px;display:flex;flex-direction:column}.service-card-large{background:#f4f5ff;border:none;border
    Found 2026-01-02 by HttpPlugin
    Create report
*.cifraschurch.comcifraschurch.com
CN:
*.cifraschurch.com
Key:
RSA-2048
Issuer:
Not before:
2026-01-03 00:00
Not after:
2027-02-01 23:59
cifraschurch.comwww.cifraschurch.com
CN:
cifraschurch.com
Key:
RSA-4096
Issuer:
R12
Not before:
2026-01-02 21:27
Not after:
2026-04-02 21:27