https://6920616d206a75737420612073746172203a29.space/

Eingereichte URL:
https://6920616d206a75737420612073746172203a29.space/
Bericht beendet:

Die von der Seite ausgehenden identifizierten Links

LinkText
https://null-io.pages.dev/https://null-io.pages.dev/
https://nullio-sys.github.io/https://nullio-sys.github.io/
https://null-io.vercel.app/https://null-io.vercel.app/
https://null-io.neocities.org/https://null-io.neocities.org/

JavaScript-Variablen · 5 gefunden

Globale JavaScript-Variablen, die in das Window Object einer Seite geladen werden, sind Variablen, die außerhalb von Funktionen deklariert werden und von jeder Stelle des Codes innerhalb des aktuellen Bereichs zugänglich sind

NameTyp
onbeforetoggleobject
documentPictureInPictureobject
onscrollendobject
checkMirrorStatusfunction
checkAllMirrorsfunction

Konsolenprotokoll-Meldungen · 0 gefunden

In der Web-Konsole protokollierte Meldungen

HTML

Der HTML-Rohtext der Seite

<!DOCTYPE html><html lang="en"><head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>NULL IO Mirrors</title>
    <style>
        body {
            font-family: 'Inter', -apple-system, sans-serif;
            background-color: #1a1a1a;
            color: #e0e0e0;
            line-height: 1.6;
            margin: 0;
            padding: 20px;
        }

        .container {
            max-width: 800px;
            margin: 0 auto;
            padding: 20px;
        }

        h1 {
            color: #fff;
            border-bottom: 2px solid #333;
            padding-bottom: 10px;
            margin-bottom: 30px;
        }

        .mirror-group {
            background-color: #252525;
            border-radius: 8px;
            padding: 20px;
            margin-bottom: 20px;
        }

        .mirror-group h2 {
            color: #4a9eff;
            margin-top: 0;
        }

        .mirror-list {
            list-style: none;
            padding: 0;
        }

        .mirror-item {
            display: flex;
            align-items: center;
            padding: 12px;
            margin: 8px 0;
            background-color: #303030;
            border-radius: 6px;
            transition: background-color 0.2s;
        }

        .mirror-item:hover {
            background-color: #404040;
        }

        .mirror-item a {
            color: #4a9eff;
            text-decoration: none;
            flex-grow: 1;
        }

        .mirror-item a:hover {
            text-decoration: underline;
        }

        .status {
            padding: 4px 8px;
            border-radius: 4px;
            font-size: 0.85em;
            margin-left: 10px;
            display: flex;
            align-items: center;
            gap: 5px;
        }

        .status.online {
            background-color: #1b4332;
            color: #2ecc71;
        }

        .status.offline {
            background-color: #4a1c1c;
            color: #e74c3c;
        }

        .status.checking {
            background-color: #2c3e50;
            color: #3498db;
        }

        .refresh-button {
            background-color: #2c3e50;
            color: #fff;
            border: none;
            padding: 8px 16px;
            border-radius: 4px;
            cursor: pointer;
            margin-bottom: 20px;
            transition: background-color 0.2s;
        }

        .refresh-button:hover {
            background-color: #34495e;
        }

        @media (max-width: 600px) {
            .container {
                padding: 10px;
            }
            
            .mirror-item {
                flex-direction: column;
                align-items: flex-start;
            }
            
            .status {
                margin-left: 0;
                margin-top: 8px;
            }
        }

        .spinner {
            width: 12px;
            height: 12px;
            border: 2px solid #ffffff;
            border-bottom-color: transparent;
            border-radius: 50%;
            display: inline-block;
            animation: rotation 1s linear infinite;
        }

        @keyframes rotation {
            0% { transform: rotate(0deg); }
            100% { transform: rotate(360deg); }
        }
    </style>
</head>
<body>
    <div class="container">
        <h1>NULL IO Mirrors</h1>
        
        <button class="refresh-button" onclick="checkAllMirrors()">Refresh All Status</button>

        <div class="mirror-group">
            <h2>Primary Mirrors</h2>
            <ul class="mirror-list">
                <li class="mirror-item">
                    <a href="https://null-io.pages.dev/">https://null-io.pages.dev/</a>
                    <span class="status online" data-url="https://null-io.pages.dev/">Online (263ms)</span>
                </li>
                <li class="mirror-item">
                    <a href="https://nullio-sys.github.io/">https://nullio-sys.github.io/</a>
                    <span class="status online" data-url="https://nullio-sys.github.io/">Online (233ms)</span>
                </li>
            </ul>
        </div>

        <div class="mirror-group">
            <h2>Backup Mirrors</h2>
            <ul class="mirror-list">
                <li class="mirror-item">
                    <a href="https://null-io.vercel.app/">https://null-io.vercel.app/</a>
                    <span class="status online" data-url="https://null-io.vercel.app/">Online (476ms)</span>
                </li>
                <li class="mirror-item">
                    <a href="https://null-io.neocities.org/">https://null-io.neocities.org/</a>
                    <span class="status online" data-url="https://null-io.neocities.org/">Online (242ms)</span>
                </li>
            </ul>
        </div>
    </div>

    <script>
        // Function to check a single mirror's status
        async function checkMirrorStatus(statusElement) {
            const url = statusElement.dataset.url;
            statusElement.className = 'status checking';
            statusElement.innerHTML = '<span class="spinner"></span>Checking...';

            try {
                const startTime = performance.now();
                const response = await fetch(url, {
                    mode: 'no-cors',
                    cache: 'no-cache'
                });
                const endTime = performance.now();
                const latency = Math.round(endTime - startTime);

                statusElement.className = 'status online';
                statusElement.textContent = `Online (${latency}ms)`;
            } catch (error) {
                statusElement.className = 'status offline';
                statusElement.textContent = 'Offline';
            }
        }

        // Function to check all mirrors
        function checkAllMirrors() {
            const statusElements = document.querySelectorAll('.status');
            statusElements.forEach(element => {
                checkMirrorStatus(element);
            });
        }

        // Auto-check when page loads
        document.addEventListener('DOMContentLoaded', checkAllMirrors);

        // Set up automatic refresh every 5 minutes
        setInterval(checkAllMirrors, 300000);
    </script>

</body></html>