[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-81722":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":15,"stars7d":13,"stars30d":13,"stars90d":15,"forks30d":15,"starsTrendScore":15,"compositeScore":16,"rankGlobal":10,"rankLanguage":10,"license":10,"archived":17,"fork":17,"defaultBranch":18,"hasWiki":19,"hasPages":17,"topics":20,"createdAt":10,"pushedAt":10,"updatedAt":21,"readmeContent":22,"aiSummary":23,"trendingCount":15,"starSnapshotCount":15,"syncStatus":24,"lastSyncTime":25,"discoverSource":26},81722,"monitor","dingdingpw\u002Fmonitor","dingdingpw","Monitor Party 是一个轻量级 VPS \u002F 服务器监控面板，包含中心端 `vps-server` 和采集端 `vps-agent`。中心端提供公开监控面板、管理员后台、Agent 安装命令生成、节点管理、购买信息展示和 Agent 二进制下载；Agent 负责上报 CPU、内存、硬盘、网络、负载和在线状态","https:\u002F\u002Fwww.monitor.party",null,"Go",37,1,36,0,38.5,false,"main",true,[],"2026-06-12 04:01:35","# Monitor Party\n\nMonitor Party 是一个轻量级 VPS \u002F 服务器监控面板，由中心端 `vps-server` 和采集端 `vps-agent` 组成。中心端提供公开监控面板、管理员后台、节点管理、Agent 安装命令生成、Agent 二进制下载和 WebSocket 数据推送；Agent 负责采集并上报 CPU、内存、硬盘、网络、负载、连接数和在线状态。\n\n默认示例域名：`https:\u002F\u002Fwww.monitor.party`\n\n## 严重升级提示\n\n本次更新缩减了发布文件体积，清理了历史残留的前端构建文件，并重新生成了内嵌前端和 release 二进制。更新过程中如果替换、卸载或导入操作不当，可能会造成节点、套餐信息、站点设置或 token 数据丢失。升级前请务必备份中心端数据文件：\n\n```bash\nsudo cp \u002Fvar\u002Flib\u002Fvps-monitor\u002Fserver.json \u002Fvar\u002Flib\u002Fvps-monitor\u002Fserver.json.bak.$(date +%Y%m%d%H%M%S)\n```\n\n如果已进入后台，也建议先使用「节点管理」里的「一键导出」导出节点备份 JSON，再执行升级。\n\n## 本次更新\n\n- Windows Agent 现在支持真正的 Windows Service 模式，服务启动\u002F停止会响应系统服务管理器，不再以普通控制台程序方式注册。\n- Windows 安装脚本修复 TLS 1.2、服务创建、中文 Node ID 和 UTF-8 BOM 问题，配置文件改为 UTF-8 无 BOM 写入。\n- Agent 配置解析兼容带 BOM 的 `config.env`，避免 Windows PowerShell 5.1 写入 BOM 后解析失败。\n- Release 构建脚本改为低并发 `go build -p 1`，降低多平台编译时内存占用，并在构建失败时立即中断。\n- 新增每节点本周期流量统计，默认每月 1 号重置，后台可设置 1-31 号；小月没有对应日期时自动按当月最后一天重置。\n- 本周期上传\u002F下载流量由中心端持久化到 `server.json`，节点或中心端重启后会继续保持统计。\n- Agent 新增系统\u002F负载采集字段：真实主机名、发行版、内核、CPU 架构、虚拟化、CPU 型号、物理\u002F逻辑核心、磁盘读写速率和进程数。\n- Server 将新增 Agent 字段透传到 WebSocket 的 `Host` \u002F `State` 数据中，前台展开节点详情即可查看。\n- 前台详情页补充系统、内核、CPU、磁盘读写、进程、TCP \u002F UDP、运行时长、数据更新时间等展示。\n- 后台节点管理新增「一键导出 \u002F 一键导入」，导出 JSON 备份，导入时合并节点和套餐信息，不主动删除现有节点。\n- Release 构建脚本现在会自动构建并同步前端，再编译中心端，避免漏嵌前端资源。\n- 清理历史残留的前端 hash 产物，`vps-server` 发布文件体积明显缩小。\n\n## 一键安装\n需要改的只有两个地方：\nhttps:\u002F\u002F你的域名\n你的后台密码\n\nLinux 中心端一键安装：\n```bash\ncurl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002Fdingdingpw\u002Fmonitor\u002Fmain\u002Frelease\u002Finstall-server-linux.sh | sudo sh -s -- --bin-url \"https:\u002F\u002Fraw.githubusercontent.com\u002Fdingdingpw\u002Fmonitor\u002Fmain\u002Frelease\u002Fvps-server-linux-amd64\"\n```\n\nARM64：\n```bash\nhttps:\u002F\u002Fraw.githubusercontent.com\u002Fdingdingpw\u002Fmonitor\u002Fmain\u002Frelease\u002Fvps-server-linux-arm64\n```\n\nARMv7：\n\n```bash\nhttps:\u002F\u002Fraw.githubusercontent.com\u002Fdingdingpw\u002Fmonitor\u002Fmain\u002Frelease\u002Fvps-server-linux-armv7\n```\n\n386：\n\n```bash\nhttps:\u002F\u002Fraw.githubusercontent.com\u002Fdingdingpw\u002Fmonitor\u002Fmain\u002Frelease\u002Fvps-server-linux-386\n```\n\n带参数一次性安装，避免交互：\n```bash\ncurl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002Fdingdingpw\u002Fmonitor\u002Fmain\u002Frelease\u002Finstall-server-linux.sh | sudo sh -s -- \\\n  --public-url \"https:\u002F\u002F你的域名\" \\\n  --admin-user \"admin\" \\\n  --admin-pass \"你的后台密码\" \\\n  --auth-secret \"换成一串随机密钥\" \\\n  --bin-url \"https:\u002F\u002Fraw.githubusercontent.com\u002Fdingdingpw\u002Fmonitor\u002Fmain\u002Frelease\u002Fvps-server-linux-amd64\"\n```\n\n安装完看状态：\n```bash\nsudo systemctl status vps-server\n```\n查看日志：\n```bash\nsudo journalctl -u vps-server -f\n```\nwindows 中心端一键安装：\n```bash\n$arch = if ($env:PROCESSOR_ARCHITECTURE -eq \"ARM64\") { \"arm64\" } elseif ($env:PROCESSOR_ARCHITECTURE -eq \"x86\" -and -not $env:PROCESSOR_ARCHITEW6432) { \"386\" } else { \"amd64\" }\n$installDir = \"C:\\Program Files\\vps-monitor\"\n$dataDir = \"C:\\ProgramData\\vps-monitor\"\nNew-Item -ItemType Directory -Force -Path $installDir,$dataDir | Out-Null\nInvoke-WebRequest \"https:\u002F\u002Fraw.githubusercontent.com\u002Fdingdingpw\u002Fmonitor\u002Fmain\u002Frelease\u002Fvps-server-windows-$arch.exe\" -OutFile \"$installDir\\vps-server.exe\" -UseBasicParsing\n$env:ADDR = \":3000\"\n$env:PUBLIC_URL = \"https:\u002F\u002F你的域名\"\n$env:AUTH_SECRET = [guid]::NewGuid().ToString(\"N\") + [guid]::NewGuid().ToString(\"N\")\n$env:ADMIN_USER = \"admin\"\n$env:ADMIN_PASS = \"你的后台密码\"\n$env:DATA_PATH = \"$dataDir\\server.json\"\n& \"$installDir\\vps-server.exe\"\n```\n如果你想后台开机自启，用这个一键安装为计划任务：\n```bash\n$arch = if ($env:PROCESSOR_ARCHITECTURE -eq \"ARM64\") { \"arm64\" } elseif ($env:PROCESSOR_ARCHITECTURE -eq \"x86\" -and -not $env:PROCESSOR_ARCHITEW6432) { \"386\" } else { \"amd64\" }; $installDir = \"C:\\Program Files\\vps-monitor\"; $dataDir = \"C:\\ProgramData\\vps-monitor\"; New-Item -ItemType Directory -Force -Path $installDir,$dataDir | Out-Null; Invoke-WebRequest \"https:\u002F\u002Fraw.githubusercontent.com\u002Fdingdingpw\u002Fmonitor\u002Fmain\u002Frelease\u002Fvps-server-windows-$arch.exe\" -OutFile \"$installDir\\vps-server.exe\" -UseBasicParsing; $secret = [guid]::NewGuid().ToString(\"N\") + [guid]::NewGuid().ToString(\"N\"); $run = \"@`r`n`$env:ADDR=':3000'`r`n`$env:PUBLIC_URL='https:\u002F\u002F你的域名'`r`n`$env:AUTH_SECRET='$secret'`r`n`$env:ADMIN_USER='admin'`r`n`$env:ADMIN_PASS='你的后台密码'`r`n`$env:DATA_PATH='$dataDir\\server.json'`r`n& '$installDir\\vps-server.exe'`r`n\"; Set-Content -Path \"$installDir\\run-server.ps1\" -Value $run -Encoding UTF8; schtasks \u002FCreate \u002FTN \"vps-server\" \u002FTR \"powershell.exe -ExecutionPolicy Bypass -File `\"$installDir\\run-server.ps1`\"\" \u002FSC ONSTART \u002FRL HIGHEST \u002FF; schtasks \u002FRun \u002FTN \"vps-server\"\n```\n\n## 功能\n\n- 一体化中心端：公开面板、管理后台、API、WebSocket、Agent 下载均由 `vps-server` 提供。\n- 多平台 Agent：Linux `amd64 \u002F arm64 \u002F armv7 \u002F 386`，Windows `amd64 \u002F arm64 \u002F 386`。\n- 实时监控：CPU、内存、Swap、硬盘、网络速率、累计流量、负载、运行时间和在线状态。\n- 节点管理：预创建节点、生成安装命令、删除节点、编辑套餐\u002F购买信息。\n- 节点级 token：每个节点独立 Agent token，中心端不再使用全局 `AGENT_TOKEN`。\n- 安全加固：拒绝默认弱密钥、限制 Node ID 字符集、配置文件权限收紧、Agent 默认要求 HTTPS。\n\n## 架构\n\n```text\nvps-server\n  - 公开监控面板 \u002F\n  - 管理后台 \u002Fadmin\n  - Agent 上报接口 \u002Fapi\u002Fagent\u002Freport\n  - WebSocket \u002Fws\n  - Agent 安装脚本 \u002Finstall\u002F*\n  - Agent 二进制下载 \u002Fdownload\u002F*\n\nvps-agent\n  - 读取本机配置\n  - 定时采集系统指标\n  - 使用节点专属 token 上报到中心端\n```\n\n## 目录\n\n```text\ncmd\u002Fvps-server\u002F                 中心端入口\ncmd\u002Fvps-agent\u002F                  Agent 入口\ninternal\u002Fserver\u002F                中心端逻辑、后台页面、静态资源、内嵌 Agent 二进制\ninternal\u002Fserver\u002Fweb\u002Fdist\u002F       中心端内嵌前端构建产物\ninternal\u002Fserver\u002Fagent_bins\u002F     中心端内嵌 Agent 下载文件\ninternal\u002Fagent\u002F                 Agent 指标采集\ninternal\u002Fconfig\u002F                Agent 配置解析\ninternal\u002Freporter\u002F              Agent 上报逻辑\nscripts\u002F                        构建、安装、卸载脚本源文件\nrelease\u002F                        发布用二进制和安装脚本\nweb\u002F                            Vue 前端源码\ndata\u002F                           本地开发数据示例\n```\n\n## 快速安装中心端\n\n下载 GitHub Release 中适合服务器架构的中心端二进制和安装脚本，例如 Linux amd64：\n\n```text\nvps-server-linux-amd64\ninstall-server-linux.sh\nuninstall-server-linux.sh\n```\n\n放到同一目录后执行：\n\n```bash\nchmod +x install-server-linux.sh vps-server-linux-amd64\nsudo .\u002Finstall-server-linux.sh\n```\n\n脚本会询问：\n\n```text\nPublic URL [https:\u002F\u002Fwww.monitor.party]\nInternal secret (leave empty to generate)\nAdmin username [admin]\nAdmin password (leave empty to generate)\nListen address [:3000]\nMax nodes [2000]\nBinary download URL (empty for local file)\n```\n\n说明：\n\n- `Public URL`：公网访问地址，生产环境必须使用 HTTPS，例如 `https:\u002F\u002Fmonitor.example.com`。\n- `Internal secret`：中心端内部安全密钥，不是后台登录密码；留空会自动生成。\n- `Admin username`：后台管理员用户名，默认 `admin`。\n- `Admin password`：后台管理员登录密码，和 `Internal secret` 不需要一致；留空会自动生成。\n- `Listen address`：中心端监听地址，默认 `:3000`。\n- `Max nodes`：最大节点数，默认 `2000`。\n- `Binary download URL`：留空时使用当前目录的本地二进制。\n\n中心端现在不需要填写 `Agent token`。Agent token 会在后台为每个节点单独生成。\n\n`Internal secret` 和 `Admin password` 不是同一个东西，不需要一致。前者用于中心端内部安全用途，后者只用于 `\u002Fadmin` 后台登录。\n\n安装完成后访问：\n\n```text\nhttps:\u002F\u002F你的域名\u002Fadmin\n```\n\n## Nginx 反向代理\n\n生产环境建议使用 HTTPS 反向代理到本机 `3000` 端口：\n\n```nginx\nserver {\n    listen 80;\n    server_name monitor.example.com;\n    return 301 https:\u002F\u002F$host$request_uri;\n}\n\nserver {\n    listen 443 ssl http2;\n    server_name monitor.example.com;\n\n    ssl_certificate \u002Fetc\u002Fletsencrypt\u002Flive\u002Fmonitor.example.com\u002Ffullchain.pem;\n    ssl_certificate_key \u002Fetc\u002Fletsencrypt\u002Flive\u002Fmonitor.example.com\u002Fprivkey.pem;\n\n    location \u002F {\n        proxy_pass http:\u002F\u002F127.0.0.1:3000;\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n        proxy_set_header X-Forwarded-Proto $scheme;\n    }\n\n    location \u002Fws {\n        proxy_pass http:\u002F\u002F127.0.0.1:3000;\n        proxy_http_version 1.1;\n        proxy_set_header Upgrade $http_upgrade;\n        proxy_set_header Connection \"upgrade\";\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n        proxy_set_header X-Forwarded-Proto $scheme;\n    }\n}\n```\n\n## 添加 Agent 节点\n\n推荐只通过后台生成安装命令：\n\n1. 打开 `https:\u002F\u002F你的域名\u002Fadmin`。\n2. 使用中心端安装时设置的管理员账号密码登录。\n3. 在 `添加节点` 中输入 Node ID，例如 `US-node-001`。\n4. 点击 `添加并生成`。\n5. 复制后台生成的 Linux 或 Windows 安装命令到目标服务器执行。\n\n每次生成命令都会为该节点签发新的独立 token。服务端只保存 token hash，不保存明文 token。\n\nNode ID 规则：\n\n```text\n支持中文、英文、数字和常见分隔符\n长度 1-96\n不能包含换行、引号、斜杠、反斜杠、Shell 控制符或 HTML 尖括号\n```\n\n建议使用地区前缀：\n\n```text\nUS-node-001\nJP-node-001\nHK-node-001\nDE-node-001\nCN-上海-腾讯云\n```\n\n## Linux Agent\n\n后台生成的命令示例：\n\n```bash\ncurl -fsSL https:\u002F\u002Fmonitor.example.com\u002Finstall\u002Fagent-linux.sh | sudo sh -s -- --server https:\u002F\u002Fmonitor.example.com --token NODE_TOKEN --node-id US-node-001\n```\n\n安装后会创建：\n\n```text\n\u002Fusr\u002Flocal\u002Fbin\u002Fvps-agent\n\u002Fetc\u002Fvps-agent\u002Fconfig.env\n\u002Fetc\u002Fsystemd\u002Fsystem\u002Fvps-agent.service\n```\n\n常用命令：\n\n```bash\nsudo systemctl status vps-agent\nsudo systemctl restart vps-agent\nsudo journalctl -u vps-agent -f\n```\n\n卸载：\n\n```bash\ncurl -fsSL https:\u002F\u002Fmonitor.example.com\u002Funinstall\u002Fagent-linux.sh | sudo sh\n```\n\n## Windows Agent\n\n后台生成的命令需要在管理员 PowerShell 中执行，示例：\n\n```powershell\npowershell -ExecutionPolicy Bypass -Command \"iwr https:\u002F\u002Fmonitor.example.com\u002Finstall\u002Fagent-windows.ps1 -UseBasicParsing | iex; Install-VpsAgent -Server 'https:\u002F\u002Fmonitor.example.com' -Token 'NODE_TOKEN' -NodeId 'US-win-001'\"\n```\n\n安装后会创建：\n\n```text\nC:\\Program Files\\vps-agent\\vps-agent.exe\nC:\\ProgramData\\vps-agent\\config.env\nWindows 服务：vps-agent\n```\n\n常用命令：\n\n```powershell\nGet-Service vps-agent\nRestart-Service vps-agent\nStop-Service vps-agent\nStart-Service vps-agent\n```\n\n卸载：\n\n```powershell\npowershell -ExecutionPolicy Bypass -Command \"iwr https:\u002F\u002Fmonitor.example.com\u002Funinstall\u002Fagent-windows.ps1 -UseBasicParsing | iex\"\n```\n\n## 配置文件\n\n中心端配置：\n\n```text\n\u002Fetc\u002Fvps-monitor\u002Fserver.env\n```\n\n示例：\n\n```env\nADDR=:3000\nAUTH_SECRET=replace-with-strong-random-secret\nADMIN_USER=admin\nADMIN_PASS=replace-with-strong-random-password\nPUBLIC_URL=https:\u002F\u002Fmonitor.example.com\nDATA_PATH=\u002Fvar\u002Flib\u002Fvps-monitor\u002Fserver.json\nMAX_NODES=2000\n```\n\n修改后重启：\n\n```bash\nsudo systemctl restart vps-server\n```\n\nAgent 配置：\n\n```text\nLinux:   \u002Fetc\u002Fvps-agent\u002Fconfig.env\nWindows: C:\\ProgramData\\vps-agent\\config.env\n```\n\n示例：\n\n```env\nSERVER=https:\u002F\u002Fmonitor.example.com\nTOKEN=node-specific-token\nNODE_ID=US-node-001\nBASIC_INTERVAL=2s\nDISK_INTERVAL=30s\nCONNECTION_INTERVAL=60s\nMOUNTS=auto\nNETWORK_EXCLUDE=lo,docker*,veth*,br-*\nDISK_EXCLUDE_FS=tmpfs,devtmpfs,overlay,squashfs,proc,sysfs,cgroup,cgroup2\n```\n\n## 数据文件\n\n中心端默认数据文件：\n\n```text\n\u002Fvar\u002Flib\u002Fvps-monitor\u002Fserver.json\n```\n\n其中包含节点列表、上报数据、购买信息、站点设置和节点 token hash。建议升级前备份：\n\n```bash\nsudo cp \u002Fvar\u002Flib\u002Fvps-monitor\u002Fserver.json \u002Fvar\u002Flib\u002Fvps-monitor\u002Fserver.json.bak.$(date +%Y%m%d%H%M%S)\n```\n\n## 流量统计\n\n- `累计接收 \u002F 累计发送` 来自节点系统网卡累计字节数，表示该节点网卡总接收\u002F发送流量，节点重启或网卡计数器重置后可能归零。\n- `本周期接收 \u002F 本周期发送` 由中心端根据 Agent 每次上报的网卡累计值差额计算，并持久化到 `server.json`，节点或中心端重启后会继续累计。\n- 每个节点默认每月 `1` 号重置本周期流量；可在后台节点编辑里设置 `1-31` 号作为流量重置日。\n- 如果设置的重置日超过当月天数，会自动使用当月最后一天，例如 31 号在 2 月会按 28\u002F29 号重置。\n- 当节点重启导致网卡累计值变小，中心端会认为计数器重置，只更新基准值，不扣减本周期流量。\n\n## 升级中心端\n\n替换二进制并重启即可，数据文件不会自动删除：\n\n```bash\nsudo systemctl stop vps-server\nsudo cp \u002Fusr\u002Flocal\u002Fbin\u002Fvps-server \u002Fusr\u002Flocal\u002Fbin\u002Fvps-server.bak.$(date +%Y%m%d%H%M%S)\nsudo install -m 0755 .\u002Fvps-server-linux-amd64 \u002Fusr\u002Flocal\u002Fbin\u002Fvps-server\nsudo systemctl start vps-server\nsudo journalctl -u vps-server -n 100 --no-pager\n```\n\n如果从旧的全局 `AGENT_TOKEN` 版本升级到节点级 token 版本，旧 Agent 需要重新在后台生成命令并重装，否则无法通过新鉴权。\n\n## 卸载\n\n卸载中心端：\n\n```bash\nsudo .\u002Funinstall-server-linux.sh\n```\n\n彻底清空中心端配置和数据：\n\n```bash\nsudo rm -rf \u002Fetc\u002Fvps-monitor \u002Fvar\u002Flib\u002Fvps-monitor\n```\n\n注意：删除 `\u002Fvar\u002Flib\u002Fvps-monitor` 会清空节点、购买信息、站点设置和节点 token，所有 Agent 都需要重新添加并安装。\n\n卸载 Linux Agent：\n\n```bash\nsudo .\u002Funinstall-agent-linux.sh\n```\n\n卸载 Windows Agent：\n\n```powershell\n.\\uninstall-agent-windows.ps1\n```\n\n## 本地开发\n\n运行中心端：\n\n```bash\nAUTH_SECRET=replace-with-strong-random-secret \\\nADMIN_USER=admin \\\nADMIN_PASS=replace-with-strong-random-password \\\nPUBLIC_URL=http:\u002F\u002F127.0.0.1:3000 \\\nDATA_PATH=.\u002Fdata\u002Fserver.json \\\ngo run .\u002Fcmd\u002Fvps-server\n```\n\n运行 Agent：\n\n```bash\nSERVER=http:\u002F\u002F127.0.0.1:3000 \\\nTOKEN=node-specific-token \\\nNODE_ID=local-node-001 \\\ngo run .\u002Fcmd\u002Fvps-agent run --config \u002Fpath\u002Fto\u002Fconfig.env\n```\n\n说明：Agent 默认要求 HTTPS，只有 `localhost` 和 `127.0.0.1` 允许 HTTP。\n\n## 构建\n\n构建前端：\n\n```bash\ncd web\nnpm install\nnpm run build\ncd ..\n```\n\n构建 release：\n\n```powershell\npowershell -ExecutionPolicy Bypass -File \"scripts\\build-release.ps1\"\n```\n\nLinux \u002F macOS：\n\n```bash\nsh scripts\u002Fbuild-release.sh\n```\n\n产物会写入：\n\n```text\nrelease\u002F\n```\n\n主要产物：\n\n```text\nvps-server-linux-amd64\nvps-server-linux-arm64\nvps-server-linux-armv7\nvps-server-linux-386\nvps-server-windows-amd64.exe\nvps-server-windows-arm64.exe\nvps-server-windows-386.exe\nvps-agent-linux-amd64\nvps-agent-linux-arm64\nvps-agent-linux-armv7\nvps-agent-linux-386\nvps-agent-windows-amd64.exe\nvps-agent-windows-arm64.exe\nvps-agent-windows-386.exe\ninstall-server-linux.sh\ninstall-agent-linux.sh\ninstall-agent-windows.ps1\nuninstall-server-linux.sh\nuninstall-agent-linux.sh\nuninstall-agent-windows.ps1\n```\n\n## 常见问题\n\n### 中心端启动失败\n\n检查 `AUTH_SECRET` 和 `ADMIN_PASS` 是否为空、是否仍是 `change-me`。新版本只拒绝空值和默认弱值。\n\n```bash\nsudo journalctl -u vps-server -n 100 --no-pager\n```\n\n### 后台无法登录\n\n检查 `\u002Fetc\u002Fvps-monitor\u002Fserver.env`：\n\n```env\nADMIN_USER=admin\nADMIN_PASS=replace-with-strong-random-password\n```\n\n修改后重启：\n\n```bash\nsudo systemctl restart vps-server\n```\n\n### Agent 一直离线\n\n检查：\n\n```text\nSERVER 是否是正确 HTTPS 地址\nTOKEN 是否来自后台为该节点生成的安装命令\nNODE_ID 是否和后台节点一致\n中心端防火墙是否放行 443 或 3000\n反向代理 \u002Fws 是否支持 Upgrade\n```\n\n查看日志：\n\n```bash\nsudo journalctl -u vps-agent -f\nsudo journalctl -u vps-server -f\n```\n\n### 前台 WebSocket 不刷新\n\n确认 Nginx `\u002Fws` 配置包含：\n\n```nginx\nproxy_http_version 1.1;\nproxy_set_header Upgrade $http_upgrade;\nproxy_set_header Connection \"upgrade\";\n```\n\n### 重新生成节点 token\n\n进入后台，点击节点对应的 `命令`，系统会为该节点生成新的 token 并更新服务端保存的 hash。旧 token 会失效，需要用新命令重装或更新 Agent 配置。\n\n## 安全建议\n\n- `AUTH_SECRET` 和 `ADMIN_PASS` 不需要一致；不要留空，不要使用 `change-me`。\n- 不要把真实生产环境的 `server.env`、`config.env`、token、密码提交到 GitHub。\n- 生产环境必须使用 HTTPS。\n- 管理后台建议配合防火墙、Cloudflare Access 或 Nginx Basic Auth 做额外保护。\n- 节点安装命令包含该节点明文 token，只在可信终端执行，不要公开粘贴。\n\n## 友链\n\n- [Linux.do](https:\u002F\u002Flinux.do\u002F)\n\n## License\n","Monitor Party 是一个轻量级的 VPS\u002F服务器监控面板，由中心端 `vps-server` 和采集端 `vps-agent` 组成。中心端提供公开监控面板、管理员后台、节点管理、Agent 安装命令生成、Agent 二进制下载和 WebSocket 数据推送等功能；Agent 负责采集并上报 CPU、内存、硬盘、网络、负载、连接数和在线状态等信息。项目使用 Go 语言开发，具有跨平台特性，支持多种架构包括 x86、ARM 等。适用于需要对多台 VPS 或服务器进行集中管理和监控的场景，如云服务提供商、运维团队和个人开发者。通过简洁的界面和强大的功能，用户可以轻松地查看和管理服务器的状态和性能。",2,"2026-06-11 04:06:06","CREATED_QUERY"]