Quantum/web-ui/index.html
RTSDA 85a4115a71 🚀 Initial release: Quantum Web Server v0.2.0
 Features:
• HTTP/1.1, HTTP/2, and HTTP/3 support with proper architecture
• Reverse proxy with advanced load balancing (round-robin, least-conn, etc.)
• Static file serving with content-type detection and security
• Revolutionary file sync system with WebSocket real-time updates
• Enterprise-grade health monitoring (active/passive checks)
• TLS/HTTPS with ACME/Let's Encrypt integration
• Dead simple JSON configuration + full Caddy v2 compatibility
• Comprehensive test suite (72 tests passing)

🏗️ Architecture:
• Rust-powered async performance with zero-cost abstractions
• HTTP/3 as first-class citizen with shared routing core
• Memory-safe design with input validation throughout
• Modular structure for easy extension and maintenance

📊 Status: 95% production-ready
🧪 Test Coverage: 72/72 tests passing (100% success rate)
🔒 Security: Memory safety + input validation + secure defaults

Built with ❤️ in Rust - Start simple, scale to enterprise!
2025-08-17 17:08:49 -04:00

93 lines
3.8 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Caddy-RS File Manager</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div class="container">
<header class="header">
<h1>🗃️ Caddy-RS File Manager</h1>
<div class="connection-status">
<span id="status-indicator" class="status-disconnected"></span>
<span id="status-text">Connecting...</span>
<button id="refresh-btn" class="btn btn-small">🔄 Refresh</button>
</div>
</header>
<nav class="breadcrumb">
<span id="current-path">/</span>
<button id="upload-btn" class="btn btn-primary">📤 Upload Files</button>
</nav>
<div class="main-content">
<!-- File List -->
<div class="file-list-container">
<div class="file-list-header">
<div class="file-name">Name</div>
<div class="file-size">Size</div>
<div class="file-modified">Modified</div>
<div class="file-actions">Actions</div>
</div>
<div id="file-list" class="file-list">
<!-- Files will be populated by JavaScript -->
</div>
</div>
<!-- Upload Area -->
<div id="upload-area" class="upload-area" style="display: none;">
<div class="upload-zone" id="upload-zone">
<div class="upload-icon">📁</div>
<p>Drag & drop files here or click to browse</p>
<input type="file" id="file-input" multiple style="display: none;">
</div>
<div id="upload-progress" class="upload-progress" style="display: none;">
<div class="progress-bar">
<div id="progress-fill" class="progress-fill"></div>
</div>
<div id="progress-text">Uploading...</div>
</div>
</div>
</div>
<!-- WebSocket Real-time Updates -->
<div class="realtime-panel">
<h3>🔄 Real-time Updates</h3>
<div id="realtime-log" class="realtime-log">
<div class="log-entry">Connecting to real-time updates...</div>
</div>
<button id="toggle-realtime" class="btn btn-small">Enable Real-time</button>
</div>
<!-- File Context Menu -->
<div id="context-menu" class="context-menu" style="display: none;">
<div class="menu-item" data-action="download">📥 Download</div>
<div class="menu-item" data-action="rename">✏️ Rename</div>
<div class="menu-item" data-action="delete">🗑️ Delete</div>
<div class="menu-separator"></div>
<div class="menu-item" data-action="info"> Properties</div>
</div>
<!-- Modal Dialog -->
<div id="modal" class="modal" style="display: none;">
<div class="modal-content">
<div class="modal-header">
<h3 id="modal-title">Modal Title</h3>
<button class="modal-close">&times;</button>
</div>
<div id="modal-body" class="modal-body">
<!-- Modal content goes here -->
</div>
<div class="modal-footer">
<button id="modal-cancel" class="btn btn-secondary">Cancel</button>
<button id="modal-confirm" class="btn btn-primary">Confirm</button>
</div>
</div>
</div>
</div>
<script src="app.js"></script>
</body>
</html>