| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016 |
- // Code generated by tools/openapigen. DO NOT EDIT.
- import { z } from 'zod';
- export const GeoKindSchema = z.string();
- export type GeoKind = z.infer<typeof GeoKindSchema>;
- export const OnlineAPISupportSchema = z.number().int();
- export type OnlineAPISupport = z.infer<typeof OnlineAPISupportSchema>;
- export const ProcessStateSchema = z.string();
- export type ProcessState = z.infer<typeof ProcessStateSchema>;
- export const ProtocolSchema = z.string();
- export type Protocol = z.infer<typeof ProtocolSchema>;
- export const SubLinkProviderSchema = z.unknown();
- export type SubLinkProvider = z.infer<typeof SubLinkProviderSchema>;
- export const staticEgressResolverSchema = z.string();
- export type staticEgressResolver = z.infer<typeof staticEgressResolverSchema>;
- export const trafficLocalApplyActionSchema = z.number().int();
- export type trafficLocalApplyAction = z.infer<typeof trafficLocalApplyActionSchema>;
- export const transportBitsSchema = z.number().int();
- export type transportBits = z.infer<typeof transportBitsSchema>;
- export const AllSettingSchema = z.object({
- datepicker: z.string(),
- expireDiff: z.number().int().min(0),
- externalTrafficInformEnable: z.boolean(),
- externalTrafficInformURI: z.string(),
- ipLimitAllowlist: z.string(),
- ldapAutoCreate: z.boolean(),
- ldapAutoDelete: z.boolean(),
- ldapBaseDN: z.string(),
- ldapBindDN: z.string(),
- ldapDefaultExpiryDays: z.number().int().min(0),
- ldapDefaultLimitIP: z.number().int().min(0),
- ldapDefaultTotalGB: z.number().int().min(0),
- ldapEnable: z.boolean(),
- ldapFlagField: z.string(),
- ldapHost: z.string(),
- ldapInboundTags: z.string(),
- ldapInsecureSkipVerify: z.boolean(),
- ldapInvertFlag: z.boolean(),
- ldapPassword: z.string(),
- ldapPort: z.number().int().min(0).max(65535),
- ldapSyncCron: z.string(),
- ldapTruthyValues: z.string(),
- ldapUseTLS: z.boolean(),
- ldapUserAttr: z.string(),
- ldapUserFilter: z.string(),
- ldapVlessField: z.string(),
- outboundDownThreshold: z.number().int().min(1).max(100),
- pageSize: z.number().int().min(0).max(1000),
- panelOutbound: z.string(),
- remarkTemplate: z.string(),
- restartXrayOnClientDisable: z.boolean(),
- sessionMaxAge: z.number().int().min(1).max(525600),
- smtpCpu: z.number().int().min(0).max(100),
- smtpEnable: z.boolean(),
- smtpEnabledEvents: z.string(),
- smtpEncryptionType: z.string(),
- smtpFrom: z.string(),
- smtpFromName: z.string(),
- smtpHost: z.string(),
- smtpMemory: z.number().int().min(0).max(100),
- smtpPassword: z.string(),
- smtpPort: z.number().int().min(1).max(65535),
- smtpTo: z.string(),
- smtpUsername: z.string(),
- subAnnounce: z.string(),
- subCertFile: z.string(),
- subClashAutoDetect: z.boolean(),
- subClashEnable: z.boolean(),
- subClashEnableRouting: z.boolean(),
- subClashPath: z.string(),
- subClashRules: z.string(),
- subClashURI: z.string(),
- subClashUserAgentRegex: z.string(),
- subDomain: z.string(),
- subEnable: z.boolean(),
- subEnableRouting: z.boolean(),
- subEncrypt: z.boolean(),
- subExpiredTemplate: z.string(),
- subHappAlwaysHwid: z.boolean(),
- subHappAutoConnect: z.boolean(),
- subHappAutoConnectType: z.string(),
- subHappAutoDetect: z.boolean(),
- subHappColorProfile: z.string(),
- subHappExcludeApns: z.boolean(),
- subHappExcludeRoutes: z.string(),
- subHappFallbackUrl: z.string(),
- subHappNewUrl: z.string(),
- subHappNoLimit: z.boolean(),
- subHappNotificationExpire: z.boolean(),
- subHappPerAppList: z.string(),
- subHappPerAppMode: z.string(),
- subHappPingType: z.string(),
- subHappProviderId: z.string(),
- subHappSubExpire: z.boolean(),
- subHappSubExpireButtonLink: z.string(),
- subHappSubInfoButtonLink: z.string(),
- subHappSubInfoButtonText: z.string(),
- subHappSubInfoColor: z.string(),
- subHappSubInfoText: z.string(),
- subHappTunMode: z.string(),
- subHappTunType: z.string(),
- subHideSettings: z.boolean(),
- subIncyEnableRouting: z.boolean(),
- subIncyRoutingRules: z.string(),
- subInfoNodeEnable: z.boolean(),
- subJsonAlwaysArray: z.boolean(),
- subJsonAutoDetect: z.boolean(),
- subJsonEnable: z.boolean(),
- subJsonFinalMask: z.string(),
- subJsonMux: z.string(),
- subJsonObservatory: z.string(),
- subJsonPath: z.string(),
- subJsonRoutingRules: z.string(),
- subJsonRules: z.string(),
- subJsonURI: z.string(),
- subJsonUserAgentRegex: z.string(),
- subKeyFile: z.string(),
- subListen: z.string(),
- subPath: z.string(),
- subPort: z.number().int().min(1).max(65535),
- subProfileUrl: z.string(),
- subRoutingRules: z.string(),
- subShowIdentityOnAllLinks: z.boolean(),
- subSupportUrl: z.string(),
- subThemeDir: z.string(),
- subTitle: z.string(),
- subTrafficDepletedTemplate: z.string(),
- subURI: z.string(),
- subUpdates: z.number().int().min(0).max(525600),
- tgBotAPIServer: z.string(),
- tgBotBackup: z.boolean(),
- tgBotChatId: z.string(),
- tgBotEnable: z.boolean(),
- tgBotProxy: z.string(),
- tgBotToken: z.string(),
- tgCpu: z.number().int().min(0).max(100),
- tgEnabledEvents: z.string(),
- tgLang: z.string(),
- tgMemory: z.number().int().min(0).max(100),
- tgRunTime: z.string(),
- timeLocation: z.string(),
- trafficDiff: z.number().int().min(0).max(100),
- trustedProxyCIDRs: z.string(),
- twoFactorEnable: z.boolean(),
- twoFactorToken: z.string(),
- warpUpdateInterval: z.number().int().min(0),
- webBasePath: z.string(),
- webCertFile: z.string(),
- webDomain: z.string(),
- webKeyFile: z.string(),
- webListen: z.string(),
- webPort: z.number().int().min(1).max(65535),
- });
- export type AllSetting = z.infer<typeof AllSettingSchema>;
- export const AllSettingViewSchema = z.object({
- datepicker: z.string(),
- expireDiff: z.number().int().min(0),
- externalTrafficInformEnable: z.boolean(),
- externalTrafficInformURI: z.string(),
- hasApiToken: z.boolean(),
- hasLdapPassword: z.boolean(),
- hasNordSecret: z.boolean(),
- hasSmtpPassword: z.boolean(),
- hasTgBotToken: z.boolean(),
- hasTwoFactorToken: z.boolean(),
- hasWarpSecret: z.boolean(),
- ipLimitAllowlist: z.string(),
- ldapAutoCreate: z.boolean(),
- ldapAutoDelete: z.boolean(),
- ldapBaseDN: z.string(),
- ldapBindDN: z.string(),
- ldapDefaultExpiryDays: z.number().int().min(0),
- ldapDefaultLimitIP: z.number().int().min(0),
- ldapDefaultTotalGB: z.number().int().min(0),
- ldapEnable: z.boolean(),
- ldapFlagField: z.string(),
- ldapHost: z.string(),
- ldapInboundTags: z.string(),
- ldapInsecureSkipVerify: z.boolean(),
- ldapInvertFlag: z.boolean(),
- ldapPassword: z.string(),
- ldapPort: z.number().int().min(0).max(65535),
- ldapSyncCron: z.string(),
- ldapTruthyValues: z.string(),
- ldapUseTLS: z.boolean(),
- ldapUserAttr: z.string(),
- ldapUserFilter: z.string(),
- ldapVlessField: z.string(),
- outboundDownThreshold: z.number().int().min(1).max(100),
- pageSize: z.number().int().min(0).max(1000),
- panelOutbound: z.string(),
- remarkTemplate: z.string(),
- restartXrayOnClientDisable: z.boolean(),
- sessionMaxAge: z.number().int().min(1).max(525600),
- smtpCpu: z.number().int().min(0).max(100),
- smtpEnable: z.boolean(),
- smtpEnabledEvents: z.string(),
- smtpEncryptionType: z.string(),
- smtpFrom: z.string(),
- smtpFromName: z.string(),
- smtpHost: z.string(),
- smtpMemory: z.number().int().min(0).max(100),
- smtpPassword: z.string(),
- smtpPort: z.number().int().min(1).max(65535),
- smtpTo: z.string(),
- smtpUsername: z.string(),
- subAnnounce: z.string(),
- subCertFile: z.string(),
- subClashAutoDetect: z.boolean(),
- subClashEnable: z.boolean(),
- subClashEnableRouting: z.boolean(),
- subClashPath: z.string(),
- subClashRules: z.string(),
- subClashURI: z.string(),
- subClashUserAgentRegex: z.string(),
- subDomain: z.string(),
- subEnable: z.boolean(),
- subEnableRouting: z.boolean(),
- subEncrypt: z.boolean(),
- subExpiredTemplate: z.string(),
- subHappAlwaysHwid: z.boolean(),
- subHappAutoConnect: z.boolean(),
- subHappAutoConnectType: z.string(),
- subHappAutoDetect: z.boolean(),
- subHappColorProfile: z.string(),
- subHappExcludeApns: z.boolean(),
- subHappExcludeRoutes: z.string(),
- subHappFallbackUrl: z.string(),
- subHappNewUrl: z.string(),
- subHappNoLimit: z.boolean(),
- subHappNotificationExpire: z.boolean(),
- subHappPerAppList: z.string(),
- subHappPerAppMode: z.string(),
- subHappPingType: z.string(),
- subHappProviderId: z.string(),
- subHappSubExpire: z.boolean(),
- subHappSubExpireButtonLink: z.string(),
- subHappSubInfoButtonLink: z.string(),
- subHappSubInfoButtonText: z.string(),
- subHappSubInfoColor: z.string(),
- subHappSubInfoText: z.string(),
- subHappTunMode: z.string(),
- subHappTunType: z.string(),
- subHideSettings: z.boolean(),
- subIncyEnableRouting: z.boolean(),
- subIncyRoutingRules: z.string(),
- subInfoNodeEnable: z.boolean(),
- subJsonAlwaysArray: z.boolean(),
- subJsonAutoDetect: z.boolean(),
- subJsonEnable: z.boolean(),
- subJsonFinalMask: z.string(),
- subJsonMux: z.string(),
- subJsonObservatory: z.string(),
- subJsonPath: z.string(),
- subJsonRoutingRules: z.string(),
- subJsonRules: z.string(),
- subJsonURI: z.string(),
- subJsonUserAgentRegex: z.string(),
- subKeyFile: z.string(),
- subListen: z.string(),
- subPath: z.string(),
- subPort: z.number().int().min(1).max(65535),
- subProfileUrl: z.string(),
- subRoutingRules: z.string(),
- subShowIdentityOnAllLinks: z.boolean(),
- subSupportUrl: z.string(),
- subThemeDir: z.string(),
- subTitle: z.string(),
- subTrafficDepletedTemplate: z.string(),
- subURI: z.string(),
- subUpdates: z.number().int().min(0).max(525600),
- tgBotAPIServer: z.string(),
- tgBotBackup: z.boolean(),
- tgBotChatId: z.string(),
- tgBotEnable: z.boolean(),
- tgBotProxy: z.string(),
- tgBotToken: z.string(),
- tgCpu: z.number().int().min(0).max(100),
- tgEnabledEvents: z.string(),
- tgLang: z.string(),
- tgMemory: z.number().int().min(0).max(100),
- tgRunTime: z.string(),
- timeLocation: z.string(),
- trafficDiff: z.number().int().min(0).max(100),
- trustedProxyCIDRs: z.string(),
- twoFactorEnable: z.boolean(),
- twoFactorToken: z.string(),
- warpUpdateInterval: z.number().int().min(0),
- webBasePath: z.string(),
- webCertFile: z.string(),
- webDomain: z.string(),
- webKeyFile: z.string(),
- webListen: z.string(),
- webPort: z.number().int().min(1).max(65535),
- });
- export type AllSettingView = z.infer<typeof AllSettingViewSchema>;
- export const AmneziaWGLogsSchema = z.object({
- events: z.array(z.string()),
- peers: z.array(z.lazy(() => PeerActivitySchema)),
- running: z.boolean(),
- });
- export type AmneziaWGLogs = z.infer<typeof AmneziaWGLogsSchema>;
- export const ApiTokenSchema = z.object({
- createdAt: z.number().int(),
- enabled: z.boolean(),
- expiresAt: z.number().int(),
- id: z.number().int(),
- name: z.string(),
- scope: z.string(),
- token: z.string(),
- });
- export type ApiToken = z.infer<typeof ApiTokenSchema>;
- export const ApiTokenViewSchema = z.object({
- createdAt: z.number().int(),
- enabled: z.boolean(),
- expiresAt: z.number().int(),
- id: z.number().int(),
- name: z.string(),
- scope: z.string(),
- token: z.string().optional(),
- });
- export type ApiTokenView = z.infer<typeof ApiTokenViewSchema>;
- export const ClientSchema = z.object({
- adTag: z.string().optional(),
- allowedIPs: z.array(z.string()).optional(),
- allowedIPsByInbound: z.record(z.number().int(), z.array(z.string())).optional(),
- auth: z.string().optional(),
- comment: z.string(),
- created_at: z.number().int().optional(),
- email: z.string(),
- enable: z.boolean(),
- expiryTime: z.number().int(),
- flow: z.string().optional(),
- forwardedPorts: z.string().optional(),
- group: z.string().optional(),
- id: z.string().optional(),
- keepAlive: z.number().int().nullable().optional(),
- limitIp: z.number().int(),
- password: z.string().optional(),
- preSharedKey: z.string().optional(),
- privateKey: z.string().optional(),
- publicKey: z.string().optional(),
- reset: z.number().int(),
- resetDay: z.number().int(),
- resetMax: z.number().int(),
- reverse: z.lazy(() => ClientReverseSchema).nullable().optional(),
- secret: z.string().optional(),
- security: z.string(),
- subId: z.string(),
- tgId: z.number().int(),
- totalGB: z.number().int(),
- trafficReset: z.enum(['never', 'hourly', 'daily', 'weekly', 'monthly']).optional(),
- trafficResetDay: z.number().int().min(1).max(31).optional(),
- updated_at: z.number().int().optional(),
- });
- export type Client = z.infer<typeof ClientSchema>;
- export const ClientInboundSchema = z.object({
- clientId: z.number().int(),
- createdAt: z.number().int(),
- flowOverride: z.string(),
- inboundId: z.number().int(),
- });
- export type ClientInbound = z.infer<typeof ClientInboundSchema>;
- export const ClientPageResponseSchema = z.object({
- filtered: z.number().int(),
- groups: z.array(z.string()),
- items: z.array(z.lazy(() => ClientSlimSchema)),
- page: z.number().int(),
- pageSize: z.number().int(),
- summary: z.lazy(() => ClientsSummarySchema),
- total: z.number().int(),
- });
- export type ClientPageResponse = z.infer<typeof ClientPageResponseSchema>;
- export const ClientRecordSchema = z.object({
- adTag: z.string(),
- allowedIPs: z.string(),
- auth: z.string(),
- comment: z.string(),
- createdAt: z.number().int(),
- email: z.string(),
- enable: z.boolean(),
- expiryTime: z.number().int(),
- flow: z.string(),
- forwardedPorts: z.string(),
- group: z.string(),
- id: z.number().int(),
- keepAlive: z.number().int(),
- limitHwid: z.number().int(),
- limitIp: z.number().int(),
- password: z.string(),
- preSharedKey: z.string(),
- privateKey: z.string(),
- publicKey: z.string(),
- reset: z.number().int(),
- resetDay: z.number().int(),
- resetMax: z.number().int(),
- reverse: z.unknown(),
- secret: z.string(),
- security: z.string(),
- subId: z.string(),
- tgId: z.number().int(),
- totalGB: z.number().int(),
- trafficReset: z.string(),
- trafficResetDay: z.number().int(),
- updatedAt: z.number().int(),
- uuid: z.string(),
- });
- export type ClientRecord = z.infer<typeof ClientRecordSchema>;
- export const ClientReverseSchema = z.object({
- tag: z.string(),
- });
- export type ClientReverse = z.infer<typeof ClientReverseSchema>;
- export const ClientSlimSchema = z.object({
- comment: z.string().optional(),
- createdAt: z.number().int(),
- email: z.string(),
- enable: z.boolean(),
- expiryTime: z.number().int(),
- group: z.string().optional(),
- inboundIds: z.array(z.number().int()),
- limitHwid: z.number().int(),
- limitIp: z.number().int(),
- reset: z.number().int(),
- resetDay: z.number().int(),
- resetMax: z.number().int(),
- subId: z.string(),
- totalGB: z.number().int(),
- traffic: z.lazy(() => ClientTrafficSchema).nullable().optional(),
- updatedAt: z.number().int(),
- });
- export type ClientSlim = z.infer<typeof ClientSlimSchema>;
- export const ClientTrafficSchema = z.object({
- down: z.number().int(),
- email: z.string(),
- enable: z.boolean(),
- expiryTime: z.number().int(),
- id: z.number().int(),
- inboundId: z.number().int(),
- lastOnline: z.number().int(),
- lastSubFetch: z.number().int(),
- reset: z.number().int(),
- resetCount: z.number().int(),
- resetDay: z.number().int(),
- resetMax: z.number().int(),
- subId: z.string(),
- total: z.number().int(),
- up: z.number().int(),
- uuid: z.string(),
- });
- export type ClientTraffic = z.infer<typeof ClientTrafficSchema>;
- export const ClientsSummarySchema = z.object({
- active: z.number().int(),
- deactive: z.array(z.string()),
- deactiveCount: z.number().int(),
- depleted: z.array(z.string()),
- depletedCount: z.number().int(),
- expiring: z.array(z.string()),
- expiringCount: z.number().int(),
- online: z.array(z.string()),
- onlineCount: z.number().int(),
- total: z.number().int(),
- });
- export type ClientsSummary = z.infer<typeof ClientsSummarySchema>;
- export const FallbackParentInfoSchema = z.object({
- masterId: z.number().int(),
- path: z.string().optional(),
- });
- export type FallbackParentInfo = z.infer<typeof FallbackParentInfoSchema>;
- export const GeoCategorySchema = z.object({
- attributes: z.array(z.string()),
- code: z.string(),
- entries: z.number().int(),
- });
- export type GeoCategory = z.infer<typeof GeoCategorySchema>;
- export const GeoCategoryPageSchema = z.object({
- items: z.array(z.lazy(() => GeoCategorySchema)),
- total: z.number().int(),
- });
- export type GeoCategoryPage = z.infer<typeof GeoCategoryPageSchema>;
- export const GeoEntrySchema = z.object({
- kind: z.string(),
- value: z.string(),
- });
- export type GeoEntry = z.infer<typeof GeoEntrySchema>;
- export const GeoEntryPageSchema = z.object({
- items: z.array(z.lazy(() => GeoEntrySchema)),
- total: z.number().int(),
- });
- export type GeoEntryPage = z.infer<typeof GeoEntryPageSchema>;
- export const GeoFileSchema = z.object({
- categories: z.number().int(),
- error: z.string().optional(),
- kind: z.lazy(() => GeoKindSchema),
- modifiedAt: z.number().int(),
- name: z.string(),
- size: z.number().int(),
- });
- export type GeoFile = z.infer<typeof GeoFileSchema>;
- export const GeodataTokenIssueSchema = z.object({
- code: z.string().optional(),
- file: z.string().optional(),
- reason: z.string(),
- token: z.string(),
- });
- export type GeodataTokenIssue = z.infer<typeof GeodataTokenIssueSchema>;
- export const HistoryOfSeedersSchema = z.object({
- id: z.number().int(),
- seederName: z.string(),
- });
- export type HistoryOfSeeders = z.infer<typeof HistoryOfSeedersSchema>;
- export const HostSchema = z.object({
- address: z.string(),
- allowInsecure: z.boolean(),
- alpn: z.array(z.string()),
- createdAt: z.number().int(),
- echConfigList: z.string(),
- excludeFromSubTypes: z.array(z.string()),
- finalMask: z.string(),
- fingerprint: z.string(),
- groupId: z.string(),
- hostHeader: z.string(),
- id: z.number().int(),
- inboundId: z.number().int(),
- isDisabled: z.boolean(),
- isHidden: z.boolean(),
- keepSniBlank: z.boolean(),
- mihomoIpVersion: z.enum(['dual', 'ipv4', 'ipv6', 'ipv4-prefer', 'ipv6-prefer']),
- mihomoX25519: z.boolean(),
- muxParams: z.unknown(),
- nodeGuids: z.array(z.string()).optional(),
- overrideSniFromAddress: z.boolean(),
- path: z.string(),
- pinnedPeerCertSha256: z.array(z.string()),
- port: z.number().int().min(0).max(65535),
- remark: z.string().max(256),
- security: z.enum(['same', 'tls', 'none', 'reality']),
- serverDescription: z.string().max(64),
- shuffleHost: z.boolean(),
- sni: z.string(),
- sockoptParams: z.unknown(),
- sortOrder: z.number().int(),
- tags: z.array(z.string()),
- updatedAt: z.number().int(),
- verifyPeerCertByName: z.string(),
- vlessRoute: z.string(),
- });
- export type Host = z.infer<typeof HostSchema>;
- export const HostGroupSchema = z.object({
- allowInsecure: z.boolean(),
- alpn: z.array(z.string()),
- echConfigList: z.string(),
- excludeFromSubTypes: z.array(z.string()),
- finalMask: z.string(),
- fingerprint: z.string(),
- groupId: z.string(),
- hostHeader: z.string(),
- hosts: z.array(z.string()),
- inboundIds: z.array(z.number().int()),
- isDisabled: z.boolean(),
- isHidden: z.boolean(),
- keepSniBlank: z.boolean(),
- mihomoIpVersion: z.enum(['dual', 'ipv4', 'ipv6', 'ipv4-prefer', 'ipv6-prefer']),
- mihomoX25519: z.boolean(),
- muxParams: z.string(),
- nodeGuids: z.array(z.string()),
- overrideSniFromAddress: z.boolean(),
- path: z.string(),
- pinnedPeerCertSha256: z.array(z.string()),
- port: z.number().int().min(0).max(65535),
- remark: z.string().max(256),
- security: z.enum(['same', 'tls', 'none', 'reality']),
- serverDescription: z.string().max(64),
- shuffleHost: z.boolean(),
- sni: z.string(),
- sockoptParams: z.string(),
- sortOrder: z.number().int(),
- tags: z.array(z.string()),
- verifyPeerCertByName: z.string(),
- vlessRoute: z.string(),
- });
- export type HostGroup = z.infer<typeof HostGroupSchema>;
- export const HwidSlotStatusSchema = z.object({
- active: z.boolean(),
- full: z.boolean(),
- limit: z.number().int(),
- registered: z.number().int(),
- remaining: z.number().int(),
- });
- export type HwidSlotStatus = z.infer<typeof HwidSlotStatusSchema>;
- export const InboundSchema = z.object({
- clientStats: z.array(z.lazy(() => ClientTrafficSchema)),
- disableFlow: z.boolean(),
- down: z.number().int(),
- enable: z.boolean(),
- expiryTime: z.number().int(),
- fallbackParent: z.lazy(() => FallbackParentInfoSchema).nullable().optional(),
- id: z.number().int(),
- lastTrafficResetTime: z.number().int(),
- listen: z.string(),
- nodeId: z.number().int().nullable().optional(),
- originNodeGuid: z.string().optional(),
- port: z.number().int().min(0).max(65535),
- protocol: z.enum(['vmess', 'vless', 'trojan', 'shadowsocks', 'wireguard', 'hysteria', 'http', 'mixed', 'tunnel', 'tun', 'mtproto', 'amneziawg', 'tuic']),
- remark: z.string(),
- settings: z.unknown(),
- shareAddr: z.string(),
- shareAddrStrategy: z.enum(['node', 'listen', 'custom']),
- sniffing: z.unknown(),
- streamSettings: z.unknown(),
- subSortIndex: z.number().int().min(1),
- tag: z.string(),
- total: z.number().int(),
- trafficReset: z.enum(['never', 'hourly', 'daily', 'weekly', 'monthly']),
- trafficResetDay: z.number().int().min(1).max(31),
- up: z.number().int(),
- });
- export type Inbound = z.infer<typeof InboundSchema>;
- export const InboundClientIpsSchema = z.object({
- clientEmail: z.string(),
- id: z.number().int(),
- ips: z.unknown(),
- });
- export type InboundClientIps = z.infer<typeof InboundClientIpsSchema>;
- export const InboundFallbackSchema = z.object({
- alpn: z.string(),
- childId: z.number().int(),
- dest: z.string(),
- id: z.number().int(),
- masterId: z.number().int(),
- name: z.string(),
- path: z.string(),
- sortOrder: z.number().int(),
- xver: z.number().int(),
- });
- export type InboundFallback = z.infer<typeof InboundFallbackSchema>;
- export const InboundOptionSchema = z.object({
- awgServer: z.lazy(() => ServerSettingsSchema).nullable().optional(),
- enable: z.boolean(),
- id: z.number().int(),
- listen: z.string().optional(),
- mtprotoDomain: z.string().optional(),
- network: z.string().optional(),
- nodeAddress: z.string().optional(),
- nodeId: z.number().int().nullable().optional(),
- port: z.number().int(),
- protocol: z.string(),
- remark: z.string(),
- security: z.string().optional(),
- shareAddr: z.string().optional(),
- shareAddrStrategy: z.string().optional(),
- ssMethod: z.string(),
- tag: z.string(),
- tlsFlowCapable: z.boolean(),
- tuicServer: z.lazy(() => TuicServerSettingsSchema).nullable().optional(),
- wgDns: z.string().optional(),
- wgMtu: z.number().int().optional(),
- wgPublicKey: z.string().optional(),
- });
- export type InboundOption = z.infer<typeof InboundOptionSchema>;
- export const InboundTrafficSummarySchema = z.object({
- down: z.number().int(),
- enable: z.boolean(),
- id: z.number().int(),
- total: z.number().int(),
- up: z.number().int(),
- });
- export type InboundTrafficSummary = z.infer<typeof InboundTrafficSummarySchema>;
- export const LogEntrySchema = z.object({
- DateTime: z.string(),
- Email: z.string(),
- Event: z.number().int(),
- FromAddress: z.string(),
- Inbound: z.string(),
- Outbound: z.string(),
- ToAddress: z.string(),
- });
- export type LogEntry = z.infer<typeof LogEntrySchema>;
- export const MLDSA65ResponseSchema = z.object({
- seed: z.string(),
- verify: z.string(),
- });
- export type MLDSA65Response = z.infer<typeof MLDSA65ResponseSchema>;
- export const MLKEM768ResponseSchema = z.object({
- client: z.string(),
- seed: z.string(),
- });
- export type MLKEM768Response = z.infer<typeof MLKEM768ResponseSchema>;
- export const MsgSchema = z.object({
- msg: z.string(),
- obj: z.unknown(),
- success: z.boolean(),
- });
- export type Msg = z.infer<typeof MsgSchema>;
- export const NewUUIDResponseSchema = z.object({
- uuid: z.string(),
- });
- export type NewUUIDResponse = z.infer<typeof NewUUIDResponseSchema>;
- export const NodeSchema = z.object({
- activeCount: z.number().int(),
- address: z.string(),
- allowPrivateAddress: z.boolean(),
- basePath: z.string(),
- clientCount: z.number().int(),
- configDirty: z.boolean(),
- configDirtyAt: z.number().int(),
- cpuPct: z.number(),
- createdAt: z.number().int(),
- depletedCount: z.number().int(),
- disabledCount: z.number().int(),
- enable: z.boolean(),
- guid: z.string(),
- id: z.number().int(),
- inboundCount: z.number().int(),
- inboundSyncMode: z.enum(['all', 'selected']),
- inboundTags: z.array(z.string()),
- lastError: z.string(),
- lastHeartbeat: z.number().int(),
- latencyMs: z.number().int(),
- memPct: z.number(),
- name: z.string(),
- netDown: z.number().int(),
- netUp: z.number().int(),
- onlineCount: z.number().int(),
- outboundTag: z.string(),
- panelVersion: z.string(),
- parentGuid: z.string().optional(),
- pinnedCertSha256: z.string(),
- port: z.number().int().min(1).max(65535),
- remark: z.string(),
- scheme: z.enum(['http', 'https']),
- status: z.string(),
- tlsVerifyMode: z.enum(['verify', 'skip', 'pin', 'mtls']),
- transitive: z.boolean().optional(),
- updatedAt: z.number().int(),
- uptimeSecs: z.number().int(),
- xrayError: z.string(),
- xrayState: z.string(),
- xrayVersion: z.string(),
- });
- export type Node = z.infer<typeof NodeSchema>;
- export const NodeMutationRequestSchema = z.object({
- address: z.string(),
- allowPrivateAddress: z.boolean(),
- apiToken: z.string().nullable().optional(),
- basePath: z.string(),
- clearApiToken: z.boolean().optional(),
- enable: z.boolean(),
- id: z.number().int(),
- inboundSyncMode: z.enum(['all', 'selected']),
- inboundTags: z.array(z.string()),
- name: z.string(),
- outboundTag: z.string(),
- pinnedCertSha256: z.string(),
- port: z.number().int().min(1).max(65535),
- remark: z.string(),
- scheme: z.enum(['http', 'https']),
- tlsVerifyMode: z.enum(['verify', 'skip', 'pin', 'mtls']),
- });
- export type NodeMutationRequest = z.infer<typeof NodeMutationRequestSchema>;
- export const NodeViewSchema = z.object({
- activeCount: z.number().int(),
- address: z.string(),
- allowPrivateAddress: z.boolean(),
- basePath: z.string(),
- clientCount: z.number().int(),
- configDirty: z.boolean(),
- configDirtyAt: z.number().int(),
- cpuPct: z.number(),
- createdAt: z.number().int(),
- depletedCount: z.number().int(),
- disabledCount: z.number().int(),
- enable: z.boolean(),
- guid: z.string(),
- hasApiToken: z.boolean(),
- id: z.number().int(),
- inboundCount: z.number().int(),
- inboundSyncMode: z.string(),
- inboundTags: z.array(z.string()),
- lastError: z.string(),
- lastHeartbeat: z.number().int(),
- latencyMs: z.number().int(),
- memPct: z.number(),
- name: z.string(),
- netDown: z.number().int(),
- netUp: z.number().int(),
- onlineCount: z.number().int(),
- outboundTag: z.string(),
- panelVersion: z.string(),
- parentGuid: z.string().optional(),
- pinnedCertSha256: z.string(),
- port: z.number().int(),
- remark: z.string(),
- scheme: z.string(),
- status: z.string(),
- tlsVerifyMode: z.string(),
- transitive: z.boolean().optional(),
- updatedAt: z.number().int(),
- uptimeSecs: z.number().int(),
- xrayError: z.string(),
- xrayState: z.string(),
- xrayVersion: z.string(),
- });
- export type NodeView = z.infer<typeof NodeViewSchema>;
- export const OutboundTrafficsSchema = z.object({
- down: z.number().int(),
- id: z.number().int(),
- tag: z.string(),
- total: z.number().int(),
- up: z.number().int(),
- });
- export type OutboundTraffics = z.infer<typeof OutboundTrafficsSchema>;
- export const PanelUpdateStatusSchema = z.object({
- exitCode: z.number().int(),
- finishedAt: z.number().int(),
- runId: z.string(),
- state: z.string(),
- });
- export type PanelUpdateStatus = z.infer<typeof PanelUpdateStatusSchema>;
- export const PeerActivitySchema = z.object({
- allowedIPs: z.string(),
- down: z.number().int(),
- email: z.string(),
- endpoint: z.string(),
- handshake: z.number().int(),
- inboundId: z.number().int(),
- interface: z.string(),
- online: z.boolean(),
- tag: z.string(),
- up: z.number().int(),
- });
- export type PeerActivity = z.infer<typeof PeerActivitySchema>;
- export const ProbeResultUISchema = z.object({
- cpuPct: z.number(),
- error: z.string(),
- latencyMs: z.number().int(),
- memPct: z.number(),
- panelVersion: z.string(),
- status: z.string(),
- uptimeSecs: z.number().int(),
- xrayError: z.string(),
- xrayState: z.string(),
- xrayVersion: z.string(),
- });
- export type ProbeResultUI = z.infer<typeof ProbeResultUISchema>;
- export const RealityScanResultSchema = z.object({
- alpn: z.string(),
- certChainBytes: z.number().int(),
- certChainValid: z.boolean(),
- certIssuer: z.string(),
- certSubject: z.string(),
- certValid: z.boolean(),
- curveID: z.string(),
- feasible: z.boolean(),
- h2: z.boolean(),
- host: z.string(),
- ip: z.string(),
- latencyMs: z.number().int(),
- notAfter: z.string(),
- port: z.number().int(),
- privateTarget: z.boolean(),
- reason: z.string(),
- serverNames: z.array(z.string()),
- target: z.string(),
- tls13: z.boolean(),
- tlsVersion: z.string(),
- x25519: z.boolean(),
- });
- export type RealityScanResult = z.infer<typeof RealityScanResultSchema>;
- export const ServerSettingsSchema = z.object({
- contentPaddingAddition: z.string().optional(),
- disableCookies: z.boolean(),
- externalInterface: z.string().optional(),
- h1: z.string(),
- h2: z.string(),
- h3: z.string(),
- h4: z.string(),
- headerProtectionKey: z.string().optional(),
- i1: z.string().optional(),
- i2: z.string().optional(),
- i3: z.string().optional(),
- i4: z.string().optional(),
- i5: z.string().optional(),
- ipv6Enabled: z.boolean().optional(),
- ipv6ExternalInterface: z.string().optional(),
- ipv6Subnet: z.string().optional(),
- jc: z.number().int(),
- jmax: z.number().int(),
- jmin: z.number().int(),
- keepaliveTimeout: z.string().optional(),
- maxHandshakeAttempts: z.string().optional(),
- mtu: z.number().int().optional(),
- primaryDns: z.string(),
- privateKey: z.string(),
- publicKey: z.string(),
- randomTrailers: z.boolean(),
- rejectAfterTime: z.string().optional(),
- rekeyAfterTime: z.string().optional(),
- rekeyTimeout: z.string().optional(),
- routeThroughXray: z.boolean().optional(),
- s1: z.number().int(),
- s2: z.number().int(),
- s3: z.number().int(),
- s4: z.number().int(),
- secondaryDns: z.string(),
- subnetCidr: z.number().int(),
- subnetIp: z.string(),
- });
- export type ServerSettings = z.infer<typeof ServerSettingsSchema>;
- export const SettingSchema = z.object({
- id: z.number().int(),
- key: z.string(),
- value: z.string(),
- });
- export type Setting = z.infer<typeof SettingSchema>;
- export const SubBalancerSchema = z.object({
- createdAt: z.number().int(),
- enabled: z.boolean(),
- id: z.number().int(),
- inboundIds: z.array(z.number().int()),
- memberWeights: z.record(z.number().int(), z.number()).optional(),
- remark: z.string().max(256),
- sortOrder: z.number().int().min(1),
- strategy: z.enum(['leastLoad', 'leastPing', 'random', 'roundRobin']),
- updatedAt: z.number().int(),
- });
- export type SubBalancer = z.infer<typeof SubBalancerSchema>;
- export const TrafficSchema = z.object({
- Down: z.number().int(),
- IsInbound: z.boolean(),
- IsOutbound: z.boolean(),
- Tag: z.string(),
- Up: z.number().int(),
- });
- export type Traffic = z.infer<typeof TrafficSchema>;
- export const TuicClientSettingsSchema = z.object({
- email: z.string(),
- password: z.string(),
- uuid: z.string(),
- });
- export type TuicClientSettings = z.infer<typeof TuicClientSettingsSchema>;
- export const TuicServerSettingsSchema = z.object({
- alpn: z.array(z.string()),
- authentication_timeout: z.number().int(),
- certificate: z.string(),
- congestion_control: z.string(),
- log_level: z.string(),
- max_idle_time: z.number().int(),
- max_udp_relay_packet_size: z.number().int(),
- private_key: z.string(),
- sni: z.string().optional(),
- udp_relay_mode: z.string(),
- zero_rtt_handshake: z.boolean(),
- });
- export type TuicServerSettings = z.infer<typeof TuicServerSettingsSchema>;
- export const UserSchema = z.object({
- id: z.number().int(),
- password: z.string(),
- username: z.string(),
- });
- export type User = z.infer<typeof UserSchema>;
|