small-package/luci-app-nekobox/htdocs/nekobox/dashboard.php

145 lines
6.4 KiB
PHP
Raw Normal View History

2024-10-26 10:38:22 +08:00
<?php
include './cfg.php';
$neko_cfg['ctrl_host'] = $_SERVER['SERVER_NAME'];
$command = "cat $selected_config | grep external-c | awk '{print $2}' | cut -d: -f2";
$port_output = shell_exec($command);
if ($port_output === null) {
$neko_cfg['ctrl_port'] = 'default_port';
} else {
$neko_cfg['ctrl_port'] = trim($port_output);
}
$yacd_link = $neko_cfg['ctrl_host'] . ':' . $neko_cfg['ctrl_port'] . '/ui/meta?hostname=' . $neko_cfg['ctrl_host'] . '&port=' . $neko_cfg['ctrl_port'] . '&secret=' . $neko_cfg['secret'];
2024-12-02 16:29:44 +08:00
$zash_link = $neko_cfg['ctrl_host'] . ':' . $neko_cfg['ctrl_port'] . '/ui/zashboard?hostname=' . $neko_cfg['ctrl_host'] . '&port=' . $neko_cfg['ctrl_port'] . '&secret=' . $neko_cfg['secret'];
2024-10-26 10:38:22 +08:00
$meta_link = $neko_cfg['ctrl_host'] . ':' . $neko_cfg['ctrl_port'] . '/ui/metacubexd?hostname=' . $neko_cfg['ctrl_host'] . '&port=' . $neko_cfg['ctrl_port'] . '&secret=' . $neko_cfg['secret'];
2024-12-02 16:29:44 +08:00
$dash_link = $neko_cfg['ctrl_host'] . ':' . $neko_cfg['ctrl_port'] . '/ui/dashboard?hostname=' . $neko_cfg['ctrl_host'] . '&port=' . $neko_cfg['ctrl_port'] . '&secret=' . $neko_cfg['secret'];
2024-10-26 10:38:22 +08:00
?>
<!doctype html>
<html lang="en" data-bs-theme="<?php echo substr($neko_theme,0,-4) ?>">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
2024-12-22 20:34:43 +08:00
<title>Dashboard - Nekobox</title>
2024-10-26 10:38:22 +08:00
<link rel="icon" href="./assets/img/nekobox.png">
<link href="./assets/css/bootstrap.min.css" rel="stylesheet">
<link href="./assets/css/custom.css" rel="stylesheet">
<link href="./assets/theme/<?php echo $neko_theme ?>" rel="stylesheet">
<script type="text/javascript" src="./assets/js/feather.min.js"></script>
<script type="text/javascript" src="./assets/js/jquery-2.1.3.min.js"></script>
2024-12-17 20:42:25 +08:00
<script type="text/javascript" src="./assets/js/bootstrap.min.js"></script>
<?php include './ping.php'; ?>
2024-12-19 09:38:38 +08:00
<style>
#fullscreenToggle {
position: fixed;
top: 10px;
right: 10px;
z-index: 1000;
padding: 5px 15px;
background-color: #007bff;
color: white;
border: none;
border-radius: 5px;
font-size: 14px;
cursor: pointer;
transition: background-color 0.3s ease;
}
#fullscreenToggle:hover {
background-color: #0056b3;
}
#iframeMeta {
transition: height 0.3s ease;
height: 70vh;
}
body.fullscreen #iframeMeta {
height: 100vh;
}
@media (max-width: 767px) {
#fullscreenToggle {
display: none;
}
}
</style>
2024-10-26 10:38:22 +08:00
</head>
<body>
2024-12-19 09:38:38 +08:00
<button id="fullscreenToggle" class="btn btn-primary mb-2">全屏</button>
2024-10-26 10:38:22 +08:00
<head>
<div class="container-sm container-bg text-center callout border border-3 rounded-4 col-11">
<div class="row">
2024-12-22 20:34:43 +08:00
<a href="./index.php" class="col btn btn-lg">🏠 首页</a>
<a href="./dashboard.php" class="col btn btn-lg">📊 面板</a>
<a href="./configs.php" class="col btn btn-lg">⚙️ 配置</a>
<a href="./singbox.php" class="col btn btn-lg"></i>📦 订阅</a>
<a href="./settings.php" class="col btn btn-lg">🛠️ 设定</a>
2024-10-26 10:38:22 +08:00
</div>
<div class="container text-left p-3">
<div class="container h-100 mb-5">
2024-12-19 09:38:38 +08:00
<iframe id="iframeMeta" class="border border-3 rounded-4 w-100" style="height: 70vh;" src="http://<?php echo $zash_link; ?>" title="zash" allowfullscreen></iframe>
2024-10-26 10:38:22 +08:00
<table class="table table-borderless callout mb-2">
<tbody>
<tr class="text-center d-flex flex-wrap justify-content-center">
<td><a class="btn btn-info btn-sm text-white" target="_blank" href="http://<?php echo $yacd_link; ?>">YACD-META 面板</a></td>
2024-12-02 16:29:44 +08:00
<td><a class="btn btn-info btn-sm text-white" target="_blank" href="http://<?php echo $dash_link; ?>">DASHBOARD 面板</a></td>
2024-10-26 10:38:22 +08:00
<td><a class="btn btn-info btn-sm text-white" target="_blank" href="http://<?php echo $meta_link; ?>">METACUBEXD 面板</a></td>
2024-12-06 10:58:51 +08:00
<td><a class="btn btn-info btn-sm text-white" target="_blank" href="http://<?php echo $zash_link; ?>">ZASHBOARD 面板</a></td>
2024-10-26 10:38:22 +08:00
</tr>
</tbody>
</table>
</div>
</div>
<footer class="text-center">
<p><?php echo $footer; ?></p>
</footer>
</div>
2024-11-24 16:24:11 +08:00
<script>
document.addEventListener("DOMContentLoaded", function() {
const fullscreenToggle = document.getElementById('fullscreenToggle');
const iframe = document.getElementById('iframeMeta');
const iframeContainer = iframe.closest('div');
let isFullscreen = false;
fullscreenToggle.addEventListener('click', function() {
if (!isFullscreen) {
if (iframeContainer.requestFullscreen) {
iframeContainer.requestFullscreen();
} else if (iframeContainer.mozRequestFullScreen) {
iframeContainer.mozRequestFullScreen();
} else if (iframeContainer.webkitRequestFullscreen) {
iframeContainer.webkitRequestFullscreen();
} else if (iframeContainer.msRequestFullscreen) {
iframeContainer.msRequestFullscreen();
}
fullscreenToggle.textContent = '退出全屏';
isFullscreen = true;
} else {
if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if (document.webkitExitFullscreen) {
document.webkitExitFullscreen();
} else if (document.msExitFullscreen) {
document.msExitFullscreen();
}
fullscreenToggle.textContent = '全屏';
isFullscreen = false;
}
});
2024-12-19 09:38:38 +08:00
document.addEventListener('fullscreenchange', function() {
if (document.fullscreenElement) {
iframeMeta.style.height = '100vh';
} else {
iframeMeta.style.height = '70vh';
}
});
2024-11-24 16:24:11 +08:00
});
</script>
</body>
</html>