28 Commits

Author SHA1 Message Date
zsai001
85f5a80678 add many feature.
add dev build ci/cd

add test code.

add docs.

ingore files.
2025-12-15 16:03:59 +08:00
zsai001
eda6e881bf perf: optimize startup by deferring slow database operations
- Check if backfill is needed before running expensive UPDATE migrations
- Run ANALYZE in background after server starts
- This fixes high CPU and slow startup on servers with large databases
2025-12-13 15:23:03 +08:00
zsai001
faf6e95e58 fix install script. 2025-12-10 10:26:18 +08:00
zsai001
25298e0ff8 download files from cloud server. 2025-12-09 20:47:39 +08:00
zsai001
a7b3f425ea add cli code 2025-12-08 20:31:42 +08:00
zsai001
73ce009093 fix: use systemd-run for upgrade restart to survive cgroup kill 2025-12-06 17:13:02 +08:00
zsai001
f6c83b15ae feat: add online users count and force upgrade
- Track unique visitors by IP in dashboard WebSocket
- Add /api/online-users endpoint for visitor count
- Display online users count in dashboard footer
- Add force reinstall button when version is up to date
- Update install scripts to support --force flag
- Add i18n translations for online users (all 9 languages)
2025-12-06 16:41:29 +08:00
zsai001
501626e84f feat: improve Windows PowerShell install scripts
- Remove special handling for Local nodes
- Add auto execution policy bypass and UAC elevation
- Create separate agent-upgrade.ps1 and agent-uninstall.ps1 for clean irm | iex usage
- Update README with simplified Windows commands
- Update Settings.tsx install command generation
2025-12-05 00:34:46 +08:00
zsai001
c1e5c1a52d remove rust files, fix agent install 2025-12-04 20:07:38 +08:00
zsai001
3cd8580672 fix(install.sh): Fail gracefully when GitHub API is unavailable 2025-12-03 02:08:09 +08:00
zsai001
7276dc6c33 fix(scripts): Fail gracefully when GitHub API is unavailable
- Remove default fallback version (v1.0.0/v1.3.0) when API fails
- Exit with error message instead of using incorrect version
- Prevents downloading non-existent versions when rate limited
- Add better error message explaining rate limiting issue
2025-12-03 02:07:52 +08:00
zsai001
a72e0c4ce6 fix(install): Improve web assets download with fallback to zip format 2025-12-03 01:31:18 +08:00
zsai001
a394bf964f fix(scripts): Improve download reliability with retry and better error handling
- Add retry logic (3 attempts) for downloads
- Use curl -L to follow redirects properly
- Verify downloaded file is not empty
- Show better error messages on failure
2025-12-03 01:21:26 +08:00
zsai001
fd058aa8a5 fix(scripts): Update install scripts for Go binary naming convention
- Change architecture naming from x86_64/aarch64 to amd64/arm64
- Remove musl suffix (Go binaries are statically linked by default)
- Add FreeBSD support
- Sync docs/ scripts with scripts/
2025-12-03 01:14:41 +08:00
zsai001
efff762dc6 feat: 迁移到 Go 实现,移除 Rust 构建
- 添加 Go 版本的 server 和 agent 实现
- 移除 Rust 构建工作流 (release.yml)
- 更新 start-dev.sh 使用 Go 版本
- 更新 build-release.sh 使用 Go 版本
- 添加 FreeBSD 支持
- 添加 GitHub Actions 工作流用于 Go 构建和发布
- 支持多平台构建 (Linux, macOS, Windows, FreeBSD)
- 支持版本号注入到二进制文件
2025-12-03 00:35:35 +08:00
zsai001
d64f748cac feat: add Windows build support to CI
- Add build-windows job for x86_64 and ARM64 architectures
- Update release job to include Windows binaries
- Update release notes with Windows installation instructions
2025-12-02 21:26:18 +08:00
zsai001
f8a3301a6e feat: add Windows agent support and IP reporting
- Add Windows support for agent (config paths, gateway detection, service install/uninstall)
- Add Windows PowerShell installation script (agent.ps1)
- Add IP address collection and reporting from agent
- Server captures client IP from WebSocket connection as fallback
- Display agent IP in Settings page
- Update Quick Install section with Windows/Linux tabs
2025-12-02 19:59:29 +08:00
zsai001
e858832193 feat: add logos, improve UI smoothness, merge server settings
- Add official logos for cloud providers and OS distributions
- Add download-logos.py script to fetch official logos
- Improve Dashboard loading with skeleton and smooth animations
- Fix 'server not found' flash on ServerDetail page
- Merge local node and agent settings into unified Server Management
- Fix clipboard copy functionality for all contexts
- Add location display with country flags
- Change default view mode to grid
- Fix start-dev.sh to kill old services and reset password
- Add local node configuration support
2025-12-02 19:38:14 +08:00
zsai001
4b3ab29d08 feat: add version management, upgrade, and node editing features
Backend:
- Add version tracking for server and agents
- Add version check API (fetches from GitHub releases)
- Add server version endpoint (/api/version)
- Add update server info endpoint (PUT /api/servers/:id)
- Add tag field to RemoteServer
- Agent automatically reports version in metrics
- Simplify agent registration (remove location/provider requirement)

Frontend:
- Display server version and check for updates in Settings
- Show update available badge with download link
- Display agent version in node list and dashboard
- Add edit button for nodes (name, tag, location, provider)
- Add inline edit form for node properties
- Show version and tag badges in dashboard cards

Scripts:
- Update agent.sh to remove location/provider parameters
- Update install command generation
2025-12-02 17:10:23 +08:00
zsai001
3821f99b14 fix: update build script for vstats-server binary name 2025-12-02 14:51:59 +08:00
zsai001
d8226eb9b3 fix: password hot reload and settings button navigation
- Password hot reload: login now reads latest hash from config file
- No server restart needed after --reset-password
- Fixed Dashboard settings button to navigate to /settings instead of /login
- Renamed binary from xprob-server to vstats-server
2025-12-02 14:48:21 +08:00
zsai001
fefd36264e fix: 使用 musl 静态链接解决 glibc 兼容性问题
- 添加 build-release.sh 构建脚本,支持 musl 静态编译
- 更新 agent.sh 和 install.sh 使用 musl 二进制文件
- 更新 GitHub Actions 工作流自动构建 musl 版本
- musl 静态二进制文件可在任意 Linux 系统运行,无需依赖特定 glibc 版本
2025-12-01 23:54:52 +08:00
zsai001
05c33eb32e refactor: simplify agent installer to use Rust binary only
- Remove shell-based agent implementation
- agent.sh now downloads and installs Rust binary
- Simplify README and docs
- Remove redundant install-agent.sh scripts
2025-12-01 23:27:14 +08:00
zsai001
e22146c51f feat: add Rust agent with auto-reconnect WebSocket
- Add vstats-agent Rust binary (~2MB) for reliable metrics collection
- Implement WebSocket client with exponential backoff reconnection
- Add CLI commands: run, register, install, uninstall, show-config
- Support systemd service installation on Linux
- Support launchd service installation on macOS
- Update GitHub Actions to build agent for all platforms
- Fix shell agent broken pipe errors with reconnection loop
- Update docs and README with Rust agent installation instructions
2025-12-01 22:47:44 +08:00
zsai001
12489f7c9a feat: major refactor and new features
- Refactor: Split main.rs into modules (config, db, types, handlers, websocket, collector, middleware, state)
- Feature: Add grid view for server list on Dashboard
- Feature: Add 1Y (yearly) time range for history charts
- Feature: Show local server metrics on Dashboard (no demo data)
- Feature: Light/Dark theme support with proper styling
- Fix: Auth token persistence across page refreshes
- Fix: Route parameter syntax for Axum 0.7
- Update: start-dev.sh now rebuilds frontend and backend
- Update: Better gitignore for runtime files
2025-12-01 22:27:14 +08:00
zsai001
541a220f98 fix: add static file serving and macOS support
- Server: Add static file serving with ServeDir
- Server: Improve web directory path resolution
- Server: Add fallback HTML when web assets not found
- Server: Rename config file to vstats-config.json
- Install script: Add macOS launchd service support
- Install script: Add macOS-specific commands and paths
- Add development scripts (start-dev.sh, test-local.sh)
- Enable tower util feature for service_fn
2025-12-01 21:13:39 +08:00
zsai001
f5779e5e52 add new files. 2025-12-01 17:19:46 +08:00
zsai001
b0ab39e2d5 init project. 2025-12-01 17:03:47 +08:00