Commit Graph

30 Commits

Author SHA1 Message Date
ac51641e93 feat(settings): add settings management API endpoints
- Add GET /settings/get and POST /settings/set endpoints for managing system settings
- Implement config file persistence for settings changes
- Update config schema to include notification and webhook settings
- Add API documentation for new endpoints
- Move config path variables to global package for consistency
2026-04-23 12:43:11 +08:00
489c37e095 refactor(global): move config to global package and consolidate handlers
- Move Config struct and related functions to global package
- Consolidate handler utilities into utils package
- Remove deprecated handlers and instance packages
- Add new handlers package with settings and proxy functionality
- Update config.json to include watchdog enabled flag
2026-04-22 19:52:33 +08:00
ddf91299e7 refactor: reorganize codebase into modular packages
feat(global): add global package for shared variables and types
refactor(handlers): move handlers to dedicated package and update imports
refactor(session): extract session management to separate package
refactor(config): move config handling to dedicated package
refactor(router): update route handlers to use new package structure
refactor(main): simplify main.go by moving logic to packages
2026-04-22 12:57:04 +08:00
aa22b04a1f feat(watchdog): add watchdog service with TCP client implementation
- Implement TCP client for watchdog service communication
- Add watchdog configuration in config.json
- Update main.go to initialize and connect to watchdog
- Add watchdog related functions (connect, command handling)
- Update README.md with new watchdog feature
- Improve route setup logging in router.go
2026-04-02 18:42:44 +08:00
0e578c422f feat(proxy): add modify proxy API endpoint and functionality
Implement proxy modification feature including:
- New modifyFrpcProxy function in config.go
- New ModifyProxyHandler in frpcProxyAct.go
- New API endpoint in router.go
- Updated API documentation in docs/api.md
2026-03-31 23:04:43 +08:00
f4d742de04 feat(user): add user modification API and handler
implement user modification functionality including:
- new endpoint /userMgr/modify
- database update function DBUpdateUser
- request/response structures
- handler with proper authentication and validation
- updated API documentation
- marked as completed in README checklist
2026-03-31 21:52:15 +08:00
4aa58b2f3d feat(user): add user type modification endpoint
- Implement new endpoint `/userMgr/modifyType` for updating user types
- Add database function DBUpdateUserType to handle type updates
- Include request validation and proper error handling
- Update API documentation with new endpoint details
2026-03-30 14:22:15 +08:00
839bad3c94 feat(frpLogger): add real-time instance log streaming functionality
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
2026-03-26 17:46:50 +08:00
e83436fe9b feat(instanceMgr): add getInfo endpoint to retrieve instance details
Implement new GET endpoint `/frpcAct/instanceMgr/getInfo` to fetch frpc instance information
Add documentation for the new API endpoint in docs/api.md
The handler returns different information based on user permission level
2026-03-25 22:20:32 +08:00
802a726464 feat(frpAct): add Windows/Systemd/Init.d service boot control. BUT WINDOWS STILL HAS BUGS AND LINUX HAS NOT BEEN TESTED. 2026-03-24 23:23:34 +08:00
40d4ccaa8a feat(proxy): add endpoint to list proxy configurations
Implement new GET endpoint `/frpcAct/proxyMgr/list` to retrieve proxy configurations from frpc instance config files. Includes handler function, API documentation, and route setup. The endpoint validates user permissions, reads and parses the config file, and returns structured proxy data with instance information.
2026-03-21 08:57:44 +08:00
ab2e0567a9 refactor(frpc): replace ini with toml for config handling and improve proxy management
- Replace ini package with toml for more reliable config parsing
- Refactor proxy management to use structured config instead of string manipulation
- Add proper error handling for config operations
- Clean up unused imports and improve code organization
- Update go.mod dependencies accordingly
2026-03-19 22:40:12 +08:00
c7fc0136b0 feat(proxy): add proxy deletion API endpoint
Implement handler for deleting frpc proxies with proper validation and error handling. The endpoint checks user permissions, validates input, removes the proxy configuration from the instance file, and returns appropriate responses.
2026-03-19 22:25:00 +08:00
cf6e040c49 feat(router): add NotFoundHandler for invalid routes
Add a default handler for invalid routes that logs the request details and returns a 404 response. This improves error handling and user experience by providing clear feedback for invalid paths.
2026-03-19 18:44:48 +08:00
8215c0faee feat(proxy): add proxy management endpoint and proxy creation API
- Implement new endpoint for creating frpc proxy configurations
- Add DBQueryFrpcInstanceByID function to fetch instances by ID
- Move proxy generation logic to separate function in frpcProxyAct.go
- Update API documentation with new proxy creation endpoint
2026-03-19 17:34:31 +08:00
67757be231 refactor(router): remove all useless route
Remove dynamic path handling in favor of explicit route registration
Update README.md with improved table formatting and updated TODO list
2026-03-19 16:50:41 +08:00
33e5119b0a feat(logging): add real-time log streaming via websocket
- Implement WebSocket endpoint for streaming logs to clients
- Add log broadcaster to manage client connections and history
- Update documentation with new WebSocket API details
- Include gorilla/websocket dependency for WebSocket support
2026-03-17 19:12:15 +08:00
a142fb17a8 feat(system): add system status and software info endpoints
Add new endpoints to expose system status and software information:
- /system/getStatus returns current system status (online/offline)
- /system/getSoftwareInfo returns software version and build details
Update API documentation to include new endpoints
2026-03-09 19:02:56 +08:00
8b9a757bea feat(session): add session removal endpoint and refactor session management
- Implement new `/sessionMgr/remove` endpoint for superusers to remove sessions
- Refactor session and token management to use sessionTokenMap for better tracking
- Update session cleanup logic to handle both tokens and sessions
- Add documentation for new API endpoint in docs/api.md
- Modify logout handler to use new session removal approach
2026-03-06 19:22:52 +08:00
e400cc1869 feat(session): add session list API
- Move token-related functions from auth.go to new session.go
- Add session tracking with expiration and cleanup
- Implement session list API endpoint
- Update login/logout handlers to use session system
- Add hourly cleanup of expired tokens and sessions
2026-03-05 18:24:19 +08:00
783b06ff94 feat(userMgr): add list users endpoint
Add new endpoint `/userMgr/list` to retrieve all users with superuser permission. Includes handler implementation, database query function, and API documentation update.
2026-03-04 11:20:01 +08:00
8f901dac08 feat(userMgr): add user removal functionality
- Implement RemoveUser function in database.go to delete users
- Add RemoveUserHandler to handle HTTP requests for user removal
- Update API documentation with new /userMgr/remove endpoint
- Add route for user removal in router.go
2026-03-04 11:14:35 +08:00
d7260e0cf6 feat(user): add user creation endpoint for superusers
- Add new `/userMgr/create` endpoint for superusers to create users with specified types
- Update AddUser function to accept user type parameter
- Add documentation for the new endpoint in api.md
- Remove debug log comment in auth.go
2026-03-04 11:07:37 +08:00
62917633c4 feat(auth): add logout functionality
- Implement LogoutHandler to handle user logout requests
- Add DeleteTokenInfo and GetUserIDFromToken functions to auth module
- Update README.md with logout endpoint documentation
2026-03-03 23:06:36 +08:00
1dc0d840b0 feat(instance): refactor modify endpoint to support config types
- Change modify endpoint from `/modify/{field}` to `/modify` with POST
- Add support for two modification types: configFile and systemConfig
- Implement config file parsing using ini package for configFile type
- Update database schema to include name in update query
- Add comprehensive input validation and error handling
- Update documentation to reflect new API changes
2026-03-02 22:43:18 +08:00
b661118180 refactor(auth): move authentication params to headers and simplify validation
- Move token and timestamp validation to HTTP headers
- Simplify ValidateTimeStamp to return boolean
- Update AddUser to use default "visitor" type
- Remove redundant timestamp and token fields from request structs
- Update API documentation to reflect header-based authentication
2026-02-28 15:32:32 +08:00
aa70e7c0f0 refactor(api): simplify instance management endpoints
- Change delete endpoint to use request body instead of path parameter
- Modify endpoint now takes field as path parameter and instance name in body
- Update README to reflect API changes
- Remove unused description field from software info
- Fix error message in auth token lookup
2026-02-28 11:55:52 +08:00
e3b3a3aa98 feat(logging): add detailed logging throughout application components
- Implement logging in router setup, auth handlers, and frpc operations
- Add SoftwareInfo struct for version tracking and logging
- Enhance error messages with more context and logging
- Replace direct error returns with formatted error logging
- Add debug logs for token operations and request validations
2026-02-27 23:44:41 +08:00
72eb90957c refactor(api): switch to header-based auth for GET requests
- Replace body parsing with header validation for GET endpoints
- Update router to properly handle GET vs POST requests
- Add new ValidateRequestWithHeader function
- Update README to document header requirements
2026-02-27 23:17:18 +08:00
d76e28a358 refactor(routor): split routor from main.go 2026-02-26 09:24:33 +08:00