Commit Graph

54 Commits

Author SHA1 Message Date
a3b8d59344 fix(addFrpcProxy): modify frpc toml config key to correct 2026-03-23 22:11:17 +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
dcd2ae9bdc chore: remove binary database file from version control 2026-03-19 22:47:39 +08:00
1ec3602ec1 docs(api): add delete proxy endpoint documentation
Add documentation for the new DELETE proxy endpoint including request/response formats, headers, and important notes about the operation.
2026-03-19 22:42:14 +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
702ecb7de4 docs(api): update websocket endpoint and auth requirements 2026-03-17 22:39:55 +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
20ec25328d feat(logging): add database logging support and refactor logging system
- Implement new database logging functionality with separate logs database
- Refactor PostLog function to store logs in database while maintaining console output
- Add new InitLogsDatabase function and related database operations
- Update main.go to support separate database paths for data and logs
- Add logging for user creation events
2026-03-17 18:47:51 +08:00
49048597f2 refactor(database): make DBListFrpcInstances able to list all users' frpc instances but not single user
feat(frpcAct): user will get createdBy when query frpc instances on current server
docs(api): update related api documentation
2026-03-12 22:41:17 +08:00
f2b07a7732 docs(api): fix some abnormal response templete in API docs 2026-03-10 14:52:18 +08:00
f3fca7f07b feat(user): add createdAt field to user model
- Add createdAt field to User struct and database schema
- Update all user queries to include createdAt field
- Document new field in API documentation
- Fix server online status flag timing
2026-03-10 14:34:16 +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
f07b89842a docs(api): update API documentation with new session listing endpoint
feat(session): add API endpoint to list active sessions
2026-03-05 18:29:58 +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
efdaefa6f5 docs(LICENSE): update copyright information in LICENSE file 2026-03-04 22:19:28 +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
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
d9c8695f78 docs: add GNU GPL v3 license file 2026-03-03 23:25:53 +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
9e6e6f8b19 refactor: reorganize handler files and rename frpc.go to frpAct.go
Move user authentication handlers to userAct.go and frpc instance handlers to frpAct.go
Remove handlers from handlers.go and clean up file structure
2026-03-03 22:43:27 +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
fc4ad46f6c fix(database): correct time parsing for frpc instance queries
Fix incorrect time parsing when querying frpc instances by properly handling the createdAt string field and converting it to time.Time. Also fix indentation in InitUserDatabase function.
2026-03-02 19:48:00 +08:00
13a401dafe refactor(frpc, database): move all database actions to database.go 2026-03-02 13:32:58 +08:00
9be737ae56 feat: add FrpcProxyInfo struct and logging enhancements
- Introduce FrpcProxyInfo struct to support proxy configuration
- Add logging statements to instance creation, deletion, and modification handlers
- Implement addFrpcProxy function for generating proxy configuration
2026-03-02 13:20:38 +08:00
461f2fc775 temp 2026-02-28 23:00:57 +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
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
af5af2a04f fix(auth): skip timestamp validation in debug mode
Modify ValidateTimeStamp to bypass validation when in debug mode. Also update request validation to make timestamp optional in debug mode while maintaining security checks in production.
2026-02-27 23:13:15 +08:00
1eb9351604 refactor(auth): extract timestamp validation to separate function
Move timestamp validation logic from handlers to ValidateTimeStamp function in auth.go to avoid code duplication and improve maintainability
2026-02-27 21:21:18 +08:00
852f13fa61 refactor(database): move database initialization functions to single file
Consolidate InitFrpcDatabase and InitUserDatabase functions into database.go for better code organization and maintainability. Remove duplicate code from frpc.go.
2026-02-27 21:16:27 +08:00
cff81a0423 chore: ignore frp_client binary in gitignore 2026-02-27 21:04:56 +08:00
8f711a3823 feat(handlers): add duplicate login check and improve request handling
refactor: move postLog package to root directory and enhance logging
fix(frpc): improve request parsing and type handling for instance creation
chore: update config paths and enable debug mode
2026-02-27 21:04:08 +08:00
5020d61780 chore: ignore binary files for super-frpc 2026-02-26 11:57:47 +08:00
4e472e0145 refactor(logger): add individual log module 2026-02-26 11:56:35 +08:00
d76e28a358 refactor(routor): split routor from main.go 2026-02-26 09:24:33 +08:00