839bad3c94e2559ef9cfd299e6ef1413a836a243
Implement cross-platform log streaming for frpc instances with support for Windows, systemd, and init.d systems. Includes WebSocket API endpoint for real-time log streaming, token validation, and instance ownership checks. Update README and API documentation to reflect new functionality. The implementation handles: - Platform-specific log collection (Windows Event Log, journalctl, log files) - WebSocket-based real-time streaming - Token validation and instance access control - Log level parsing and formatting - Historical log retrieval since service start
Super-frpc
A backend application for managing local frpc instances, allowing users to easily start, stop, restart, and perform daily maintenance operations on frpc instances. It also provides automated error handling, such as automatic restart when an instance crashes.
Features
- User authentication with token-based login
- Create, delete, and modify frpc instances
- Automatic startup configuration (systemd/init.d)
- User permission management (superuser/admin/visitor)
- SQLite database for data persistence
Supported Platforms
GNU/LinuxWindows
Configuration
Create a config.json file in the project root:
{
"listenAddr": "0.0.0.0",
"listenPort": "8080",
"frpcPath": "/usr/bin/frpc",
"instancePath": "./configs"
}
| Field | Description | Default |
|---|---|---|
| listenAddr | Server listening address | 0.0.0.0 |
| listenPort | Server listening port | 8080 |
| frpcPath | Path to frpc executable | /usr/bin/frpc |
| instancePath | Path to store instance config files | ./configs |
Build
go build -o super-frpc.exe
For Linux:
GOOS=linux GOARCH=amd64 go build -o super-frpc
Run
./super-frpc -config ./config.json -db ./database.db
API Documentation
For detailed API documentation, please see docs/api.md
TODO
- Add Windows boot service support
- Add session list API
- Add session management API
- Add user config modify API
- Add frpc instance running status management API
- Add frpc instance log display API
- Fix random database lock when processing logs
- Add frpc createdBy storage and display
- Fix backend can still start frpc instance when it is already running
- Develop an agent software to handle windows service management
- Refactor all log output level to be more clear
License
GPL-3.0
Languages
Go
100%