feat: add HTTP file server with beautiful file browser UI

This commit is contained in:
Your Name
2026-04-28 22:11:41 +08:00
parent 2459122c0e
commit 8cfa25f0f3
5 changed files with 630 additions and 7 deletions
+14
View File
@@ -136,6 +136,10 @@ var IndexHTML = `<!DOCTYPE html>
<div class="label">Web 端口</div>
<div class="value blue" id="statWebPort">-</div>
</div>
<div class="stat-card">
<div class="label">HTTP 文件服务</div>
<div class="value" id="statHttpFilePort">-</div>
</div>
<div class="stat-card">
<div class="label">FTP 用户数</div>
<div class="value" id="statUserCount">-</div>
@@ -146,6 +150,7 @@ var IndexHTML = `<!DOCTYPE html>
<table>
<tr><td style="width:200px;font-weight:600;">FTP 根目录</td><td id="infoRootDir">-</td></tr>
<tr><td style="font-weight:600;">被动模式端口范围</td><td id="infoPassiveRange">-</td></tr>
<tr><td style="font-weight:600;">HTTP 文件服务地址</td><td id="infoHttpFileAddr">-</td></tr>
<tr><td style="font-weight:600;">管理面板地址</td><td id="infoWebAddr">-</td></tr>
</table>
</div>
@@ -333,6 +338,15 @@ function loadStatus() {
document.getElementById('statWebPort').textContent = data.webPort;
document.getElementById('statUserCount').textContent = data.userCount;
document.getElementById('infoRootDir').textContent = data.rootDir;
if (data.httpFilePort) {
document.getElementById('statHttpFilePort').textContent = data.httpFilePort;
document.getElementById('statHttpFilePort').style.color = '#28a745';
document.getElementById('infoHttpFileAddr').textContent = 'http://' + location.hostname + ':' + data.httpFilePort;
} else {
document.getElementById('statHttpFilePort').textContent = '未启用';
document.getElementById('statHttpFilePort').style.color = '#999';
document.getElementById('infoHttpFileAddr').textContent = '未启用';
}
});
}