Commit Graph

25 Commits

Author SHA1 Message Date
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
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
61e4ad6ecc fix(os): improve service status checking reliability
- Handle specific exit codes for systemd services (inactive/unknown states)
- Add better error handling for init.d services
- Move string conversion before error checking for consistency
- Update log levels for better service state visibility
2026-03-26 16:20:21 +08:00
25f88249c2 refactor(api): simplify instance listing response and add running status
Remove sensitive information from instance listing response for all users and add isRunning field
Fix backend to prevent starting already running frpc instances
2026-03-25 21:50:52 +08:00
92a0e24db7 refactor(frpc): restructure instance management and config handling
- Move instance-related structs and functions to config.go
- Remove serverAddr, serverPort, and authMethod from database schema
- Implement new config parsing and encoding with nested key support
- Update service management to use instanceID instead of username/name
- Add GetServiceNameByInstanceID helper function
- Update API documentation for auth.method field change
2026-03-25 20:00:34 +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
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
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
541f881825 feat(windows): add windows boot service support
- Add registry-based boot service creation for Windows
- Update detectInitSystem to handle Windows platform
2026-03-04 22:17:56 +08:00
29011c2fb4 refactor(service): move boot service functions to os.go
Extract service management functions from frpAct.go to new os.go file for better code organization and maintainability. Also update README.md to document supported platforms.
2026-03-04 13:46:55 +08:00
0f3bf18fc1 docs: move API documentation to separate file
Restructure documentation by moving API details from README.md to docs/api.md
Update README.md to reference the new API documentation location
2026-03-03 23:16:40 +08:00
1bfeeff2b3 Merge branch 'main' of https://gitea.nanami.tech/Super-frpc/backend 2026-03-03 23:07:01 +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
2aba81eb29 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:02:52 +08:00
f5e6120807 feat(frpc): improve boot service error handling and response
- Add bootServiceError field to system config modify response when boot service operations fail
- Include instanceID in list instances response
- Update error message for unknown modify type
- Document bootServiceError behavior in README
2026-03-03 22:31:39 +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
686c3dcd4e refactor: consolidate debug flag and update gitignore
- Rename debugMode to isDebug for consistency across codebase
- Move debug flag check in ValidateTimeStamp to match other validations
- Add database.db to gitignore and remove unused config file
- Update README.md to clarify user registration rules
2026-02-28 15:48:01 +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
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
39a4479203 docs: update README with detailed project documentation
Add comprehensive documentation including features, configuration, build/run instructions, API details, user permissions, and security requirements. The README now serves as complete project reference for users and developers.
2026-02-23 19:36:45 +08:00
6bf143e69e Initial commit 2026-02-22 00:31:39 +08:00