Commit Graph

115 Commits

Author SHA1 Message Date
ae37a7165d feat: add new API endpoint for owner ban checks 2026-02-08 14:21:04 +08:00
2eb4a57639 feat(mail): Add support for multiple domains per mail service
- Add `Domains` field to MailServiceConfig for managing additional domains under single API
- Implement `matchDomain` helper function for precise and subdomain matching logic
- Update `GetServiceByDomain` to check both primary domain and additional domains list
- Enhance EmailConfig UI to display domain count and allow comma-separated domain input
- Add domains field to mail service request/response structures in API handlers
- Update frontend types to include domains array in MailService interface
- Improve documentation with clarification on primary vs additional domains usage
- Allows single mail service API to manage multiple email domains for verification and operations
2026-02-08 02:57:19 +08:00
847574e89e feat(auth): Optimize retry logic and add circuit breaker for team processing
- Reduce authorization retry attempts from 3 to 2 and optimize retry delays from exponential (3s, 5s, 8s, 12s) to fixed 3s backoff
- Implement team-level circuit breaker: skip member processing when 3+ consecutive 500 errors detected in same team
- Add consecutive 500 error tracking with atomic counter and reset on successful authorization
- Reduce ObtainAuthorizationCode timeout from 3 minutes to 90 seconds with updated error messages
- Optimize Codex API workspace selection retry: reduce max attempts from 5 to 3 with shorter backoff (2s, 4s instead of 3s, 5s, 8s, 12s)
- Reduce S2A OAuth submission retry delays from (4s, 6s) to (2s, 3s) for faster failure detection
- Optimize member stagger timing: reduce from 3s + idx*2s to 1s + idx*1s with reduced jitter (0-1s instead of 0-2s)
- Add early exit for exhausted retries in CompleteWithCodexAPI to prevent unnecessary outer retry attempts
- These changes improve responsiveness and reduce cascading failures during bulk team processing
2026-02-07 23:19:06 +08:00
d6cd7660eb feat(config): Enhance S2A configuration switch logging with detailed output
- Update success message to specifically indicate S2A configuration switch
- Add detailed logging output showing switched API endpoint
- Display concurrency, priority, and group IDs in configuration log
- Add conditional proxy information logging when proxy is enabled
- Improve user visibility into active configuration after switching profiles
2026-02-07 22:47:37 +08:00
b7622070e6 feat: implement S2A authentication flow, Codex token management, and related utilities. 2026-02-07 21:53:12 +08:00
eaf6073cb2 feat(auth): Add retry logic with exponential backoff for S2A and Codex API
- Add exponential backoff with jitter to S2A OAuth submission (3 attempts)
- Implement 5xx error retry mechanism in Codex API workspace selection (5 attempts)
- Add 429 rate limit handling with retry support in Codex API
- Improve team member processing with staggered delays to avoid concurrent conflicts
- Add per-attempt proxy rotation to avoid reusing failed proxies
- Enhance retry delay calculation with random jitter to prevent thundering herd
- Update logging to display retry attempts and delay durations
- Improve error messages with HTTP status codes and response body snippets
- Refactor retry loops to use consistent exponential backoff pattern across modules
2026-02-07 21:37:50 +08:00
6eb156c555 feat(s2a): Add dynamic group fetching with credentials validation
- Add backend endpoint `/api/s2a/fetch-groups` to fetch S2A groups using arbitrary credentials without depending on global config
- Implement `handleFetchGroups` handler with proper error handling and multiple auth header support (Bearer token, X-API-Key, X-Admin-Key)
- Add frontend API function `fetchGroupsWithCredentials` to call the new endpoint and parse S2A standard response format
- Add group fetching UI in S2AConfig edit mode with refresh button and loading state
- Implement batch group name caching in list view to display human-readable group names instead of IDs
- Deduplicate API requests by grouping profiles with identical credentials to avoid redundant calls
- Add fallback to display group ID when name is unavailable
2026-02-07 18:36:09 +08:00
3af01abc76 feat(s2a): Add S2A configuration profiles management system
- Add new `/api/s2a/profiles` endpoint supporting GET, POST, DELETE operations
- Create `s2a_profiles` database table with fields for API configuration, concurrency, priority, group IDs, and proxy settings
- Implement database methods: `GetS2AProfiles()`, `AddS2AProfile()`, `DeleteS2AProfile()`
- Add S2AProfile struct to database models with JSON serialization support
- Implement profile management UI in S2AConfig page with save, load, and delete functionality
- Add profile list display with ability to apply saved configurations
- Add S2AProfile type definition to frontend types
- Enable users to save and reuse S2A configurations as presets for faster setup
2026-02-07 13:31:51 +08:00
02ddb48f21 fix(database): Recalculate batch run metrics from team results on cleanup
- Aggregate total_registered and total_added_to_s2a from batch_team_results table
- Calculate success_rate based on actual S2A additions vs total owners
- Compute duration_seconds from started_at and finished_at timestamps
- Improve stuck batch run recovery by restoring accurate metrics instead of zeroing them out
2026-02-07 02:52:06 +08:00
40a9da0809 fix(team_process): Clean up stuck processing owners on startup and batch completion
- Add CleanupStuckProcessingOwners database method to reset owners stuck in processing status back to valid state
- Call cleanup routine on application startup to recover from previous abnormal exits
- Call cleanup routine after batch processing completes to ensure no orphaned processing states remain
- Add markOwnerResult calls in processSingleTeam when team invitations are full to properly track owner status
- Prevents owners from being permanently stuck in processing state due to unexpected shutdowns or errors
2026-02-07 02:20:50 +08:00
fee422b408 feat(team_process): Add pause mechanism for consecutive zero S2A entries
- Implement pause/resume mechanism using sync.Cond to halt worker goroutines
- Add consecutive zero S2A counter to detect when no accounts are added for 2+ teams
- Trigger automatic 1-minute pause when consecutive zero entries detected
- Log warning messages with team details when pause is triggered
- Reset counter on successful S2A entries or when pause completes
- Allow stop signal to interrupt pause period for graceful shutdown
- Broadcast resume signal to all waiting workers after pause completes
- Prevents resource exhaustion and provides recovery time during low-activity periods
2026-02-07 01:53:20 +08:00
2fc0dcaba4 feat: Introduce a new design system with dark mode and animations, add a reusable Tabs component, implement an Upload page, and create a backend API for team processes. 2026-02-07 00:10:29 +08:00
070ba6a31e feat: add new API endpoints for team processes 2026-02-06 22:04:48 +08:00
f97a9beb4b feat: Implement account pool monitoring and management dashboard with S2A integration and add a new upload page. 2026-02-06 21:54:37 +08:00
1458b8b3e2 feat: add team process API. 2026-02-06 21:18:53 +08:00
6c8a036018 feat: Establish core backend services including SQLite database, structured logging, and initial owner management capabilities. 2026-02-06 20:53:05 +08:00
98ac10987c feat: Introduce advanced TLS client with browser fingerprinting and new backend modules for API processing, authentication, mail, and ChatGPT registration. 2026-02-06 18:49:55 +08:00
4ac7290e1f feat: add a new TLS client with browser fingerprinting and implement Codex API authentication. 2026-02-06 17:44:29 +08:00
6e6dfded7b feat: add batch processing history and real-time status monitoring for team uploads 2026-02-05 08:51:53 +08:00
1718920250 feat: Add team process API. 2026-02-05 07:58:21 +08:00
db00d44a71 feat: Implement initial backend API server with various endpoints and background services, including an error account cleaner. 2026-02-05 07:51:03 +08:00
ad1270b88d feat: implement ChatGPT owner demotion service with a FastAPI backend and a basic frontend, alongside updated project metadata. 2026-02-05 07:18:22 +08:00
8895d508c0 feat: Implement Max RPM tracking API, Codex API authentication, and a new dashboard pool status component. 2026-02-05 06:30:47 +08:00
2bccb06359 feat: Implement the ChatGPT Owner Demotion Console with new frontend and backend components. 2026-02-05 03:13:30 +08:00
61712cf4fb feat: Implement browserless Codex API authentication with PoW solving and a new mail service, and update gitignore to exclude get_code.go. 2026-02-04 09:43:22 +08:00
381cbd41fa feat: add backend team registration module 2026-02-04 04:27:44 +08:00
1bd3d120c1 feat: implement mail service client for email generation, mailbox creation, and verification code retrieval. 2026-02-03 08:59:49 +08:00
d92c64f2c2 feat: add mail service for managing email configurations, generating accounts, and fetching emails with verification code support. 2026-02-03 08:49:40 +08:00
fcbdd8de39 feat: implement team process API endpoints 2026-02-03 08:00:18 +08:00
33289b633d feat: add Codex API authentication module with TLS fingerprinting and PoW solving, and introduce team processing API. 2026-02-03 07:48:06 +08:00
a4aed8890f feat: add API for team processes 2026-02-03 07:40:30 +08:00
0813737f1b fix(auth): remove username from password verification payload and fix proxy refresh handler
- Remove redundant username field from password verification payload in CodexAPIAuth
- Update proxy refresh button to use arrow function for proper event handling
- Simplify authentication flow by eliminating unnecessary email parameter in password verification request
2026-02-03 07:32:52 +08:00
87b9b72a0e feat: add Codex API headless authentication and proxy configuration UI. 2026-02-03 07:01:22 +08:00
f2757cf313 feat: Implement SQLite database for team owner management, configuration, batch processing, and proxies, introducing new auto-add API and Accounts UI. 2026-02-03 06:54:40 +08:00
b20399a00a feat: Introduce core application structure, configuration, monitoring, and team management features. 2026-02-03 06:45:54 +08:00
637753ddaa feat: Implement Codex proxy configuration page with CRUD and testing capabilities, supported by new backend API and services for error handling, team processing, mail, and ChatGPT registration. 2026-02-03 04:33:37 +08:00
f867e20c0e feat: Implement CodexAuth proxy pool backend and a new sidebar component with navigation. 2026-02-03 03:35:43 +08:00
cf25845a0b feat: Implement ChatGPT account registration flow and establish core backend API infrastructure with logging utilities. 2026-02-03 03:22:43 +08:00
b014226074 feat: Implement CodexAuth proxy pool management with a new frontend configuration page and a dedicated backend service for API, database, and proxy testing. 2026-02-03 03:00:25 +08:00
51ba54856d feat: Add automated ChatGPT account registration with backend API, TLS client, and fingerprinting, alongside new frontend pages for configuration, monitoring, and upload. 2026-02-03 02:39:08 +08:00
389b8eca28 4 2026-02-02 11:14:20 +08:00
11bc01e8ed 3 2026-02-02 11:10:31 +08:00
6ef0dd448a 2 2026-02-02 11:07:11 +08:00
f12d4d9a31 1 2026-02-02 11:03:36 +08:00
c66109c829 feat: add team process API endpoint. 2026-02-02 10:51:27 +08:00
71eec01739 feat: Implement API-based Codex authentication and add team process API, while removing get_code.go from .gitignore. 2026-02-02 10:28:30 +08:00
e8323671b1 feat: Initialize Go module and add core dependencies for the backend. 2026-02-02 09:59:53 +08:00
54ccd4a100 feat: Add a new Go backend module for API-based authentication, featuring TLS fingerprinting and Proof-of-Work solving. 2026-02-02 09:58:29 +08:00
8fbafee79a feat: implement browserless Codex API authentication flow including PKCE and Sentinel PoW. 2026-02-02 09:45:36 +08:00
a5407cdb25 2 2026-02-02 09:39:18 +08:00