| package common |
|
|
| import ( |
| |
| |
| "sync" |
| "time" |
|
|
| "github.com/google/uuid" |
| ) |
|
|
| var StartTime = time.Now().Unix() |
| var Version = "v0.0.0" |
| var SystemName = "New API" |
| var Footer = "" |
| var Logo = "" |
| var TopUpLink = "" |
|
|
| |
| |
| var QuotaPerUnit = 500 * 1000.0 |
| |
| var DisplayInCurrencyEnabled = true |
| var DisplayTokenStatEnabled = true |
| var DrawingEnabled = true |
| var TaskEnabled = true |
| var DataExportEnabled = true |
| var DataExportInterval = 5 |
| var DataExportDefaultTime = "hour" |
| var DefaultCollapseSidebar = false |
|
|
| |
|
|
| var SessionSecret = uuid.New().String() |
| var CryptoSecret = uuid.New().String() |
|
|
| var OptionMap map[string]string |
| var OptionMapRWMutex sync.RWMutex |
|
|
| var ItemsPerPage = 10 |
| var MaxRecentItems = 100 |
|
|
| var PasswordLoginEnabled = true |
| var PasswordRegisterEnabled = true |
| var EmailVerificationEnabled = false |
| var GitHubOAuthEnabled = false |
| var LinuxDOOAuthEnabled = false |
| var WeChatAuthEnabled = false |
| var TelegramOAuthEnabled = false |
| var TurnstileCheckEnabled = false |
| var RegisterEnabled = true |
|
|
| var EmailDomainRestrictionEnabled = false |
| var EmailAliasRestrictionEnabled = false |
| var EmailDomainWhitelist = []string{ |
| "gmail.com", |
| "163.com", |
| "126.com", |
| "qq.com", |
| "outlook.com", |
| "hotmail.com", |
| "icloud.com", |
| "yahoo.com", |
| "foxmail.com", |
| } |
| var EmailLoginAuthServerList = []string{ |
| "smtp.sendcloud.net", |
| "smtp.azurecomm.net", |
| } |
|
|
| var DebugEnabled bool |
| var MemoryCacheEnabled bool |
|
|
| var LogConsumeEnabled = true |
|
|
| var SMTPServer = "" |
| var SMTPPort = 587 |
| var SMTPSSLEnabled = false |
| var SMTPAccount = "" |
| var SMTPFrom = "" |
| var SMTPToken = "" |
|
|
| var GitHubClientId = "" |
| var GitHubClientSecret = "" |
| var LinuxDOClientId = "" |
| var LinuxDOClientSecret = "" |
| var LinuxDOMinimumTrustLevel = 0 |
|
|
| var WeChatServerAddress = "" |
| var WeChatServerToken = "" |
| var WeChatAccountQRCodeImageURL = "" |
|
|
| var TurnstileSiteKey = "" |
| var TurnstileSecretKey = "" |
|
|
| var TelegramBotToken = "" |
| var TelegramBotName = "" |
|
|
| var QuotaForNewUser = 0 |
| var QuotaForInviter = 0 |
| var QuotaForInvitee = 0 |
| var ChannelDisableThreshold = 5.0 |
| var AutomaticDisableChannelEnabled = false |
| var AutomaticEnableChannelEnabled = false |
| var QuotaRemindThreshold = 1000 |
| var PreConsumedQuota = 500 |
|
|
| var RetryTimes = 0 |
|
|
| |
|
|
| var IsMasterNode bool |
|
|
| var requestInterval int |
| var RequestInterval time.Duration |
|
|
| var SyncFrequency int |
|
|
| var BatchUpdateEnabled = false |
| var BatchUpdateInterval int |
|
|
| var RelayTimeout int |
|
|
| var GeminiSafetySetting string |
|
|
| |
| var CohereSafetySetting string |
|
|
| const ( |
| RequestIdKey = "X-Oneapi-Request-Id" |
| ) |
|
|
| const ( |
| RoleGuestUser = 0 |
| RoleCommonUser = 1 |
| RoleAdminUser = 10 |
| RoleRootUser = 100 |
| ) |
|
|
| func IsValidateRole(role int) bool { |
| return role == RoleGuestUser || role == RoleCommonUser || role == RoleAdminUser || role == RoleRootUser |
| } |
|
|
| var ( |
| FileUploadPermission = RoleGuestUser |
| FileDownloadPermission = RoleGuestUser |
| ImageUploadPermission = RoleGuestUser |
| ImageDownloadPermission = RoleGuestUser |
| ) |
|
|
| |
| |
| var ( |
| GlobalApiRateLimitEnable bool |
| GlobalApiRateLimitNum int |
| GlobalApiRateLimitDuration int64 |
|
|
| GlobalWebRateLimitEnable bool |
| GlobalWebRateLimitNum int |
| GlobalWebRateLimitDuration int64 |
|
|
| CriticalRateLimitEnable bool |
| CriticalRateLimitNum = 20 |
| CriticalRateLimitDuration int64 = 20 * 60 |
|
|
| UploadRateLimitNum = 10 |
| UploadRateLimitDuration int64 = 60 |
|
|
| DownloadRateLimitNum = 10 |
| DownloadRateLimitDuration int64 = 60 |
| ) |
|
|
| var RateLimitKeyExpirationDuration = 20 * time.Minute |
|
|
| const ( |
| UserStatusEnabled = 1 |
| UserStatusDisabled = 2 |
| ) |
|
|
| const ( |
| TokenStatusEnabled = 1 |
| TokenStatusDisabled = 2 |
| TokenStatusExpired = 3 |
| TokenStatusExhausted = 4 |
| ) |
|
|
| const ( |
| RedemptionCodeStatusEnabled = 1 |
| RedemptionCodeStatusDisabled = 2 |
| RedemptionCodeStatusUsed = 3 |
| ) |
|
|
| const ( |
| ChannelStatusUnknown = 0 |
| ChannelStatusEnabled = 1 |
| ChannelStatusManuallyDisabled = 2 |
| ChannelStatusAutoDisabled = 3 |
| ) |
|
|
| const ( |
| TopUpStatusPending = "pending" |
| TopUpStatusSuccess = "success" |
| TopUpStatusExpired = "expired" |
| ) |
|
|