exec / public /index.html
aigems's picture
ok
8801327
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Web 命令执行器</title>
<script src="https://cdn.tailwindcss.com"></script>
<script src="https://cdn.jsdelivr.net/npm/xss@1.0.14/dist/xss.min.js"></script>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&family=Fira+Code&display=swap"
rel="stylesheet">
<style>
body {
font-family: 'Inter', sans-serif;
}
.terminal {
font-family: 'Fira Code', monospace;
}
@keyframes glow {
0% {
box-shadow: 0 0 5px rgba(66, 153, 225, 0.5);
}
50% {
box-shadow: 0 0 20px rgba(66, 153, 225, 0.8);
}
100% {
box-shadow: 0 0 5px rgba(66, 153, 225, 0.5);
}
}
.glow-effect {
animation: glow 2s infinite;
}
</style>
</head>
<body
class="bg-gradient-to-br from-gray-900 via-blue-900 to-blue-700 min-h-screen flex items-center justify-center p-4">
<div
class="max-w-4xl w-full mx-auto bg-gray-800 p-8 rounded-3xl shadow-2xl transition-all duration-300 ease-in-out hover:shadow-3xl border border-blue-500">
<h1 class="text-5xl font-bold mb-8 text-center text-blue-400 tracking-tight glow-effect">Web 命令执行器</h1>
<div id="loginForm" class="space-y-6">
<input type="text" id="username" placeholder="用户名"
class="p-4 border-2 border-blue-500 rounded-lg w-full bg-gray-700 text-white focus:ring-2 focus:ring-blue-300 transition-all duration-200 ease-in-out placeholder-gray-400">
<input type="password" id="password" placeholder="密码"
class="p-4 border-2 border-blue-500 rounded-lg w-full bg-gray-700 text-white focus:ring-2 focus:ring-blue-300 transition-all duration-200 ease-in-out placeholder-gray-400">
<button id="loginButton"
class="w-full bg-blue-600 text-white px-6 py-4 rounded-lg hover:bg-blue-700 transition-all duration-200 ease-in-out transform hover:scale-105 focus:outline-none focus:ring-2 focus:ring-blue-400 focus:ring-opacity-50">登录</button>
</div>
<div id="commandInterface" style="display: none;" class="space-y-8">
<p class="text-blue-300 text-center text-lg">在下方输入命令并点击"执行"或按回车键来在服务器上执行命令。</p>
<div class="flex">
<input type="text" id="command" placeholder="输入命令"
class="flex-grow p-4 border-2 border-blue-500 rounded-l-lg bg-gray-700 text-white focus:outline-none focus:ring-2 focus:ring-blue-300 transition-all duration-200 ease-in-out placeholder-gray-400 terminal">
<button id="executeButton"
class="bg-green-500 text-white px-8 py-4 rounded-r-lg hover:bg-green-600 focus:outline-none focus:ring-2 focus:ring-green-300 transition-all duration-200 ease-in-out transform hover:scale-105">执行</button>
</div>
<div id="loadingIndicator" class="text-center" style="display: none;">
<div class="inline-block animate-spin rounded-full h-12 w-12 border-t-4 border-b-4 border-blue-500">
</div>
</div>
<div id="output"
class="bg-gray-900 p-6 rounded-lg h-80 overflow-y-auto terminal text-green-400 text-sm leading-relaxed">
</div>
<div>
<h2 class="text-3xl font-bold mb-4 text-blue-400">命令历史</h2>
<ul id="history" class="space-y-2 text-gray-300"></ul>
</div>
</div>
</div>
<script src="/js/main.js"></script>
</body>
</html>