282 lines
		
	
	
		
			8.3 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			282 lines
		
	
	
		
			8.3 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<!DOCTYPE html>
 | 
						|
<html lang="de">
 | 
						|
<head>
 | 
						|
    <meta charset="UTF-8">
 | 
						|
    <meta name="viewport" content="width=device-width, initial-scale=1">
 | 
						|
    <title>Flash Downloader | PonyWave Tools</title>
 | 
						|
    <link rel="icon" href="https://tools.ponywave.de/flash_dl/icon.png">
 | 
						|
    <meta property="og:title" content="Flash Downloader | PonyWave Tools">
 | 
						|
    <meta property="og:description" content="Downloade Flash-Dateien von Z0R und FUS RO GA">
 | 
						|
    <meta property="og:type" content="website">
 | 
						|
    <meta property="og:url" content="https://tools.ponywave.de/flash_dl">
 | 
						|
    <meta property="og:image" content="https://tools.ponywave.de/flash_dl/icon.png">
 | 
						|
    <script defer src="https://stats.ponywave.de/script" data-website-id="9ef713d2-adb9-4906-9df5-708d8a8b9131" data-tag="flash_dl"></script>
 | 
						|
    <style>
 | 
						|
        :root {
 | 
						|
            --primary: #2c3e50;
 | 
						|
            --secondary: #3498db;
 | 
						|
            --bg-color: #f8f9fa;
 | 
						|
            --main-bg: white;
 | 
						|
            --text-color: #2c3e50;
 | 
						|
            --input-border: #ddd;
 | 
						|
            --info-bg: #f8f9fa;
 | 
						|
            --info-color: #666;
 | 
						|
            --footer-bg: rgba(255, 255, 255, 0.9);
 | 
						|
            --footer-border: #ddd;
 | 
						|
            --link-color: #7F006E;
 | 
						|
            --link-hover: #FF7FED;
 | 
						|
        }
 | 
						|
 | 
						|
        .dark-mode {
 | 
						|
            --bg-color: #1a1a1a;
 | 
						|
            --main-bg: #2d2d2d;
 | 
						|
            --text-color: #ffffff;
 | 
						|
            --input-border: #444;
 | 
						|
            --info-bg: #333;
 | 
						|
            --info-color: #ddd;
 | 
						|
            --footer-bg: rgba(45, 45, 45, 0.9);
 | 
						|
            --footer-border: #444;
 | 
						|
            --link-color: #FF7FED;
 | 
						|
            --link-hover: #FF9FF5;
 | 
						|
        }
 | 
						|
 | 
						|
        body {
 | 
						|
            font-family: system-ui, sans-serif;
 | 
						|
            line-height: 1.6;
 | 
						|
            margin: 0;
 | 
						|
            min-height: 100vh;
 | 
						|
            background: var(--bg-color);
 | 
						|
            display: flex;
 | 
						|
            justify-content: center;
 | 
						|
            align-items: center;
 | 
						|
            color: var(--text-color);
 | 
						|
            padding-bottom: 60px;
 | 
						|
            position: relative;
 | 
						|
        }
 | 
						|
 | 
						|
        main {
 | 
						|
            width: 90%;
 | 
						|
            max-width: 500px;
 | 
						|
            padding: 2rem;
 | 
						|
            background: var(--main-bg);
 | 
						|
            border-radius: 10px;
 | 
						|
            box-shadow: 0 4px 6px rgba(0,0,0,0.1);
 | 
						|
            margin-top: 2rem;
 | 
						|
            margin-bottom: 2rem;
 | 
						|
        }
 | 
						|
 | 
						|
        .theme-toggle {
 | 
						|
            position: fixed;
 | 
						|
            top: 20px;
 | 
						|
            right: 20px;
 | 
						|
            background: var(--main-bg);
 | 
						|
            border: none;
 | 
						|
            border-radius: 50%;
 | 
						|
            width: 40px;
 | 
						|
            height: 40px;
 | 
						|
            cursor: pointer;
 | 
						|
            box-shadow: 0 2px 4px rgba(0,0,0,0.1);
 | 
						|
            display: flex;
 | 
						|
            align-items: center;
 | 
						|
            justify-content: center;
 | 
						|
            font-size: 1.2em;
 | 
						|
            transition: all 0.3s ease;
 | 
						|
        }
 | 
						|
 | 
						|
        .theme-toggle:hover {
 | 
						|
            transform: scale(1.1);
 | 
						|
        }
 | 
						|
 | 
						|
        .downloader {
 | 
						|
            margin: 2rem 0;
 | 
						|
        }
 | 
						|
 | 
						|
        h1 {
 | 
						|
            color: var(--text-color);
 | 
						|
            text-align: center;
 | 
						|
            margin: 0 0 2rem 0;
 | 
						|
        }
 | 
						|
 | 
						|
        form {
 | 
						|
            display: grid;
 | 
						|
            gap: 1rem;
 | 
						|
        }
 | 
						|
 | 
						|
        input[type="text"] {
 | 
						|
            padding: 0.8rem;
 | 
						|
            border: 2px solid var(--input-border);
 | 
						|
            border-radius: 5px;
 | 
						|
            font-size: 1rem;
 | 
						|
            width: 100%;
 | 
						|
            box-sizing: border-box;
 | 
						|
            background: var(--main-bg);
 | 
						|
            color: var(--text-color);
 | 
						|
        }
 | 
						|
 | 
						|
        button {
 | 
						|
            background: var(--secondary);
 | 
						|
            color: white;
 | 
						|
            border: none;
 | 
						|
            padding: 1rem;
 | 
						|
            border-radius: 5px;
 | 
						|
            cursor: pointer;
 | 
						|
            font-size: 1.1rem;
 | 
						|
            transition: background 0.2s;
 | 
						|
        }
 | 
						|
 | 
						|
        button:hover {
 | 
						|
            background: #2980b9;
 | 
						|
        }
 | 
						|
 | 
						|
        .example {
 | 
						|
            color: var(--info-color);
 | 
						|
            font-size: 0.9rem;
 | 
						|
            margin-top: 0.5rem;
 | 
						|
        }
 | 
						|
 | 
						|
        .info {
 | 
						|
            background: var(--info-bg);
 | 
						|
            padding: 1rem;
 | 
						|
            border-radius: 5px;
 | 
						|
            margin: 1rem 0;
 | 
						|
            font-size: 0.9rem;
 | 
						|
            color: var(--info-color);
 | 
						|
        }
 | 
						|
 | 
						|
        .info a {
 | 
						|
            color: var(--secondary);
 | 
						|
            text-decoration: none;
 | 
						|
        }
 | 
						|
 | 
						|
        .info a:hover {
 | 
						|
            text-decoration: underline;
 | 
						|
        }
 | 
						|
        
 | 
						|
        footer {
 | 
						|
            position: fixed;
 | 
						|
            bottom: 0;
 | 
						|
            left: 0;
 | 
						|
            width: 100%;
 | 
						|
            padding: 1rem 0;
 | 
						|
            color: var(--text-color);
 | 
						|
            font-size: 0.9rem;
 | 
						|
            text-align: center;
 | 
						|
            border-top: 1px solid var(--footer-border);
 | 
						|
            background-color: var(--footer-bg);
 | 
						|
            z-index: 100;
 | 
						|
            user-select: none;
 | 
						|
        }
 | 
						|
 | 
						|
        footer a {
 | 
						|
            color: var(--link-color);
 | 
						|
            text-decoration: none;
 | 
						|
            transition: color 0.3s;
 | 
						|
        }
 | 
						|
 | 
						|
        footer a:hover {
 | 
						|
            color: var(--link-hover);
 | 
						|
            text-decoration: underline;
 | 
						|
        }
 | 
						|
        
 | 
						|
        .heart {
 | 
						|
            color: #e74c3c;
 | 
						|
            animation: heartbeat 1.5s infinite;
 | 
						|
        }
 | 
						|
        
 | 
						|
        @keyframes heartbeat {
 | 
						|
            0% { transform: scale(1); }
 | 
						|
            50% { transform: scale(1.2); }
 | 
						|
            100% { transform: scale(1); }
 | 
						|
        }
 | 
						|
    </style>
 | 
						|
</head>
 | 
						|
<body>
 | 
						|
    <button class="theme-toggle" onclick="toggleTheme()">🌙</button>
 | 
						|
    <main>
 | 
						|
        <h1>Flash Downloader</h1>
 | 
						|
        
 | 
						|
        <div class="info">
 | 
						|
            Die Flash-Dateien können mit <a href="https://ruffle.rs/" target="_blank">Ruffle</a> abgespielt werden.
 | 
						|
        </div>
 | 
						|
 | 
						|
        <div class="downloader">
 | 
						|
            <form onsubmit="downloadFusRoga(event)">
 | 
						|
                <input 
 | 
						|
                    type="text" 
 | 
						|
                    name="id" 
 | 
						|
                    placeholder="FUS RO GA ID" 
 | 
						|
                    pattern="\d+" 
 | 
						|
                    required
 | 
						|
                >
 | 
						|
                <button type="submit">FUS RO GA Download</button>
 | 
						|
                <div class="example">Beispiel: 6194 (von https://fusro.ga/6194)</div>
 | 
						|
            </form>
 | 
						|
        </div>
 | 
						|
 | 
						|
        <div class="downloader">
 | 
						|
            <form onsubmit="downloadZ0r(event)">
 | 
						|
                <input 
 | 
						|
                    type="text" 
 | 
						|
                    name="id" 
 | 
						|
                    placeholder="Z0R ID" 
 | 
						|
                    pattern="\d+" 
 | 
						|
                    required
 | 
						|
                >
 | 
						|
                <button type="submit">Z0R Download</button>
 | 
						|
                <div class="example">Beispiel: 17 (von https://z0r.de/17)</div>
 | 
						|
            </form>
 | 
						|
        </div>
 | 
						|
    </main>
 | 
						|
    
 | 
						|
    <footer>
 | 
						|
        <p>
 | 
						|
            <a href="https://tools.ponywave.de/">Zurück zur Startseite</a> | 
 | 
						|
            © <span id="current-year"></span> Akamaru | Made with <span class="heart">❤️</span> by Claude
 | 
						|
        </p>
 | 
						|
    </footer>
 | 
						|
 | 
						|
    <script>
 | 
						|
        // Dark Mode Toggle
 | 
						|
        function toggleTheme() {
 | 
						|
            document.body.classList.toggle('dark-mode');
 | 
						|
            const btn = document.querySelector('.theme-toggle');
 | 
						|
            btn.textContent = document.body.classList.contains('dark-mode') ? '☀️' : '🌙';
 | 
						|
            
 | 
						|
            // Speichern der Präferenz
 | 
						|
            const isDark = document.body.classList.contains('dark-mode');
 | 
						|
            localStorage.setItem('theme', isDark ? 'dark' : 'light');
 | 
						|
        }
 | 
						|
 | 
						|
        // Theme initialisieren
 | 
						|
        function initTheme() {
 | 
						|
            const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
 | 
						|
            const savedTheme = localStorage.getItem('theme');
 | 
						|
            
 | 
						|
            if (savedTheme === 'dark' || (!savedTheme && prefersDark)) {
 | 
						|
                document.body.classList.add('dark-mode');
 | 
						|
                document.querySelector('.theme-toggle').textContent = '☀️';
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        // Download Funktionen
 | 
						|
        function downloadFusRoga(e) {
 | 
						|
            e.preventDefault();
 | 
						|
            const id = e.target.id.value;
 | 
						|
            window.location.href = `https://fusro.ga/loop/${id}.swf`;
 | 
						|
        }
 | 
						|
 | 
						|
        function downloadZ0r(e) {
 | 
						|
            e.preventDefault();
 | 
						|
            const id = e.target.id.value;
 | 
						|
            window.location.href = `https://z0r.de/L/z0r-de_${id}.swf`;
 | 
						|
        }
 | 
						|
 | 
						|
        // Beim Laden ausführen
 | 
						|
        initTheme();
 | 
						|
        
 | 
						|
        // Jahr für das Copyright aktualisieren
 | 
						|
        document.getElementById('current-year').textContent = new Date().getFullYear();
 | 
						|
    </script>
 | 
						|
</body>
 | 
						|
</html>
 |