types.ts 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981
  1. // Code generated by tools/openapigen. DO NOT EDIT.
  2. export type GeoKind = string;
  3. export type OnlineAPISupport = number;
  4. export type ProcessState = string;
  5. export type Protocol = string;
  6. export type staticEgressResolver = string;
  7. export type trafficLocalApplyAction = number;
  8. export type transportBits = number;
  9. export interface AllSetting {
  10. datepicker: string;
  11. discordAdminIds: string;
  12. discordBotBackup: boolean;
  13. discordBotEnable: boolean;
  14. discordBotToken: string;
  15. discordChannelId: string;
  16. discordCpu: number;
  17. discordEnabledEvents: string;
  18. discordLang: string;
  19. discordMemory: number;
  20. discordRunTime: string;
  21. expireDiff: number;
  22. externalTrafficInformEnable: boolean;
  23. externalTrafficInformURI: string;
  24. happLinkEnable: boolean;
  25. ipLimitAllowlist: string;
  26. ldapAutoCreate: boolean;
  27. ldapAutoDelete: boolean;
  28. ldapBaseDN: string;
  29. ldapBindDN: string;
  30. ldapDefaultExpiryDays: number;
  31. ldapDefaultLimitIP: number;
  32. ldapDefaultTotalGB: number;
  33. ldapEnable: boolean;
  34. ldapFlagField: string;
  35. ldapHost: string;
  36. ldapInboundTags: string;
  37. ldapInsecureSkipVerify: boolean;
  38. ldapInvertFlag: boolean;
  39. ldapPassword: string;
  40. ldapPort: number;
  41. ldapSyncCron: string;
  42. ldapTruthyValues: string;
  43. ldapUseTLS: boolean;
  44. ldapUserAttr: string;
  45. ldapUserFilter: string;
  46. ldapVlessField: string;
  47. outboundDownThreshold: number;
  48. pageSize: number;
  49. panelOutbound: string;
  50. realityScanCandidates: string;
  51. remarkTemplate: string;
  52. restartXrayOnClientDisable: boolean;
  53. sessionMaxAge: number;
  54. smtpCpu: number;
  55. smtpEnable: boolean;
  56. smtpEnabledEvents: string;
  57. smtpEncryptionType: string;
  58. smtpFrom: string;
  59. smtpFromName: string;
  60. smtpHost: string;
  61. smtpMemory: number;
  62. smtpPassword: string;
  63. smtpPort: number;
  64. smtpTo: string;
  65. smtpUsername: string;
  66. subAnnounce: string;
  67. subCertFile: string;
  68. subClashAutoDetect: boolean;
  69. subClashEnable: boolean;
  70. subClashEnableRouting: boolean;
  71. subClashPath: string;
  72. subClashRules: string;
  73. subClashURI: string;
  74. subClashUserAgentRegex: string;
  75. subDomain: string;
  76. subEnable: boolean;
  77. subEnableRouting: boolean;
  78. subEncrypt: boolean;
  79. subExpiredTemplate: string;
  80. subHappAlwaysHwid: boolean;
  81. subHappAutoConnect: boolean;
  82. subHappAutoConnectType: string;
  83. subHappAutoDetect: boolean;
  84. subHappColorProfile: string;
  85. subHappExcludeApns: boolean;
  86. subHappExcludeRoutes: string;
  87. subHappFallbackUrl: string;
  88. subHappNewUrl: string;
  89. subHappNoLimit: boolean;
  90. subHappNotificationExpire: boolean;
  91. subHappPerAppList: string;
  92. subHappPerAppMode: string;
  93. subHappPingType: string;
  94. subHappProviderId: string;
  95. subHappSubExpire: boolean;
  96. subHappSubExpireButtonLink: string;
  97. subHappSubInfoButtonLink: string;
  98. subHappSubInfoButtonText: string;
  99. subHappSubInfoColor: string;
  100. subHappSubInfoText: string;
  101. subHappTunMode: string;
  102. subHappTunType: string;
  103. subHideSettings: boolean;
  104. subIncyEnableRouting: boolean;
  105. subIncyRoutingRules: string;
  106. subInfoNodeEnable: boolean;
  107. subJsonAlwaysArray: boolean;
  108. subJsonAutoDetect: boolean;
  109. subJsonDns: string;
  110. subJsonEnable: boolean;
  111. subJsonFinalMask: string;
  112. subJsonMux: string;
  113. subJsonObservatory: string;
  114. subJsonPath: string;
  115. subJsonRoutingRules: string;
  116. subJsonRules: string;
  117. subJsonURI: string;
  118. subJsonUserAgentRegex: string;
  119. subKeyFile: string;
  120. subListen: string;
  121. subPath: string;
  122. subPort: number;
  123. subProfileUrl: string;
  124. subRoutingRules: string;
  125. subShowIdentityOnAllLinks: boolean;
  126. subSupportUrl: string;
  127. subThemeDir: string;
  128. subTitle: string;
  129. subTrafficDepletedTemplate: string;
  130. subURI: string;
  131. subUpdates: number;
  132. tgBotAPIServer: string;
  133. tgBotBackup: boolean;
  134. tgBotChatId: string;
  135. tgBotEnable: boolean;
  136. tgBotProxy: string;
  137. tgBotToken: string;
  138. tgCpu: number;
  139. tgEnabledEvents: string;
  140. tgLang: string;
  141. tgMemory: number;
  142. tgRunTime: string;
  143. timeLocation: string;
  144. trafficDiff: number;
  145. trustedProxyCIDRs: string;
  146. twoFactorEnable: boolean;
  147. twoFactorToken: string;
  148. warpUpdateInterval: number;
  149. webBasePath: string;
  150. webCertFile: string;
  151. webDomain: string;
  152. webKeyFile: string;
  153. webListen: string;
  154. webPort: number;
  155. }
  156. export interface AllSettingView {
  157. datepicker: string;
  158. discordAdminIds: string;
  159. discordBotBackup: boolean;
  160. discordBotEnable: boolean;
  161. discordBotToken: string;
  162. discordChannelId: string;
  163. discordCpu: number;
  164. discordEnabledEvents: string;
  165. discordLang: string;
  166. discordMemory: number;
  167. discordRunTime: string;
  168. expireDiff: number;
  169. externalTrafficInformEnable: boolean;
  170. externalTrafficInformURI: string;
  171. happLinkEnable: boolean;
  172. hasApiToken: boolean;
  173. hasDiscordBotToken: boolean;
  174. hasLdapPassword: boolean;
  175. hasNordSecret: boolean;
  176. hasSmtpPassword: boolean;
  177. hasTgBotToken: boolean;
  178. hasTwoFactorToken: boolean;
  179. hasWarpSecret: boolean;
  180. ipLimitAllowlist: string;
  181. ldapAutoCreate: boolean;
  182. ldapAutoDelete: boolean;
  183. ldapBaseDN: string;
  184. ldapBindDN: string;
  185. ldapDefaultExpiryDays: number;
  186. ldapDefaultLimitIP: number;
  187. ldapDefaultTotalGB: number;
  188. ldapEnable: boolean;
  189. ldapFlagField: string;
  190. ldapHost: string;
  191. ldapInboundTags: string;
  192. ldapInsecureSkipVerify: boolean;
  193. ldapInvertFlag: boolean;
  194. ldapPassword: string;
  195. ldapPort: number;
  196. ldapSyncCron: string;
  197. ldapTruthyValues: string;
  198. ldapUseTLS: boolean;
  199. ldapUserAttr: string;
  200. ldapUserFilter: string;
  201. ldapVlessField: string;
  202. outboundDownThreshold: number;
  203. pageSize: number;
  204. panelOutbound: string;
  205. realityScanCandidates: string;
  206. remarkTemplate: string;
  207. restartXrayOnClientDisable: boolean;
  208. sessionMaxAge: number;
  209. smtpCpu: number;
  210. smtpEnable: boolean;
  211. smtpEnabledEvents: string;
  212. smtpEncryptionType: string;
  213. smtpFrom: string;
  214. smtpFromName: string;
  215. smtpHost: string;
  216. smtpMemory: number;
  217. smtpPassword: string;
  218. smtpPort: number;
  219. smtpTo: string;
  220. smtpUsername: string;
  221. subAnnounce: string;
  222. subCertFile: string;
  223. subClashAutoDetect: boolean;
  224. subClashEnable: boolean;
  225. subClashEnableRouting: boolean;
  226. subClashPath: string;
  227. subClashRules: string;
  228. subClashURI: string;
  229. subClashUserAgentRegex: string;
  230. subDomain: string;
  231. subEnable: boolean;
  232. subEnableRouting: boolean;
  233. subEncrypt: boolean;
  234. subExpiredTemplate: string;
  235. subHappAlwaysHwid: boolean;
  236. subHappAutoConnect: boolean;
  237. subHappAutoConnectType: string;
  238. subHappAutoDetect: boolean;
  239. subHappColorProfile: string;
  240. subHappExcludeApns: boolean;
  241. subHappExcludeRoutes: string;
  242. subHappFallbackUrl: string;
  243. subHappNewUrl: string;
  244. subHappNoLimit: boolean;
  245. subHappNotificationExpire: boolean;
  246. subHappPerAppList: string;
  247. subHappPerAppMode: string;
  248. subHappPingType: string;
  249. subHappProviderId: string;
  250. subHappSubExpire: boolean;
  251. subHappSubExpireButtonLink: string;
  252. subHappSubInfoButtonLink: string;
  253. subHappSubInfoButtonText: string;
  254. subHappSubInfoColor: string;
  255. subHappSubInfoText: string;
  256. subHappTunMode: string;
  257. subHappTunType: string;
  258. subHideSettings: boolean;
  259. subIncyEnableRouting: boolean;
  260. subIncyRoutingRules: string;
  261. subInfoNodeEnable: boolean;
  262. subJsonAlwaysArray: boolean;
  263. subJsonAutoDetect: boolean;
  264. subJsonDns: string;
  265. subJsonEnable: boolean;
  266. subJsonFinalMask: string;
  267. subJsonMux: string;
  268. subJsonObservatory: string;
  269. subJsonPath: string;
  270. subJsonRoutingRules: string;
  271. subJsonRules: string;
  272. subJsonURI: string;
  273. subJsonUserAgentRegex: string;
  274. subKeyFile: string;
  275. subListen: string;
  276. subPath: string;
  277. subPort: number;
  278. subProfileUrl: string;
  279. subRoutingRules: string;
  280. subShowIdentityOnAllLinks: boolean;
  281. subSupportUrl: string;
  282. subThemeDir: string;
  283. subTitle: string;
  284. subTrafficDepletedTemplate: string;
  285. subURI: string;
  286. subUpdates: number;
  287. tgBotAPIServer: string;
  288. tgBotBackup: boolean;
  289. tgBotChatId: string;
  290. tgBotEnable: boolean;
  291. tgBotProxy: string;
  292. tgBotToken: string;
  293. tgCpu: number;
  294. tgEnabledEvents: string;
  295. tgLang: string;
  296. tgMemory: number;
  297. tgRunTime: string;
  298. timeLocation: string;
  299. trafficDiff: number;
  300. trustedProxyCIDRs: string;
  301. twoFactorEnable: boolean;
  302. twoFactorToken: string;
  303. warpUpdateInterval: number;
  304. webBasePath: string;
  305. webCertFile: string;
  306. webDomain: string;
  307. webKeyFile: string;
  308. webListen: string;
  309. webPort: number;
  310. }
  311. export interface AmneziaWGLogs {
  312. events: string[];
  313. peers: PeerActivity[];
  314. running: boolean;
  315. }
  316. export interface ApiToken {
  317. createdAt: number;
  318. enabled: boolean;
  319. expiresAt: number;
  320. id: number;
  321. name: string;
  322. scope: string;
  323. token: string;
  324. }
  325. export interface ApiTokenView {
  326. createdAt: number;
  327. enabled: boolean;
  328. expiresAt: number;
  329. id: number;
  330. name: string;
  331. scope: string;
  332. token?: string;
  333. }
  334. export interface Client {
  335. adTag?: string;
  336. allowedIPs?: string[];
  337. allowedIPsByInbound?: Record<number, string[]>;
  338. auth?: string;
  339. comment: string;
  340. created_at?: number;
  341. email: string;
  342. enable: boolean;
  343. expiryTime: number;
  344. flow?: string;
  345. forwardedPorts?: string;
  346. group?: string;
  347. id?: string;
  348. keepAlive?: number | null;
  349. limitIp: number;
  350. password?: string;
  351. preSharedKey?: string;
  352. privateKey?: string;
  353. publicKey?: string;
  354. reset: number;
  355. resetDay: number;
  356. resetMax: number;
  357. reverse?: ClientReverse | null;
  358. secret?: string;
  359. security: string;
  360. subId: string;
  361. tgId: number;
  362. totalGB: number;
  363. trafficReset?: string;
  364. trafficResetDay?: number;
  365. updated_at?: number;
  366. }
  367. export interface ClientInbound {
  368. clientId: number;
  369. createdAt: number;
  370. flowOverride: string;
  371. inboundId: number;
  372. }
  373. export interface ClientPageResponse {
  374. filtered: number;
  375. groups: string[];
  376. items: ClientSlim[];
  377. page: number;
  378. pageSize: number;
  379. summary: ClientsSummary;
  380. total: number;
  381. }
  382. export interface ClientRecord {
  383. adTag: string;
  384. allowedIPs: string;
  385. auth: string;
  386. comment: string;
  387. createdAt: number;
  388. email: string;
  389. enable: boolean;
  390. expiryTime: number;
  391. flow: string;
  392. forwardedPorts: string;
  393. group: string;
  394. id: number;
  395. keepAlive: number;
  396. limitHwid: number;
  397. limitIp: number;
  398. password: string;
  399. preSharedKey: string;
  400. privateKey: string;
  401. publicKey: string;
  402. reset: number;
  403. resetDay: number;
  404. resetMax: number;
  405. reverse: unknown;
  406. secret: string;
  407. security: string;
  408. subId: string;
  409. tgId: number;
  410. totalGB: number;
  411. trafficReset: string;
  412. trafficResetDay: number;
  413. updatedAt: number;
  414. uuid: string;
  415. }
  416. export interface ClientReverse {
  417. tag: string;
  418. }
  419. export interface ClientSlim {
  420. comment?: string;
  421. createdAt: number;
  422. email: string;
  423. enable: boolean;
  424. expiryTime: number;
  425. group?: string;
  426. inboundIds: number[];
  427. limitHwid: number;
  428. limitIp: number;
  429. reset: number;
  430. resetDay: number;
  431. resetMax: number;
  432. subId: string;
  433. totalGB: number;
  434. traffic?: ClientTraffic | null;
  435. updatedAt: number;
  436. }
  437. export interface ClientTraffic {
  438. down: number;
  439. email: string;
  440. enable: boolean;
  441. expiryTime: number;
  442. id: number;
  443. inboundId: number;
  444. lastOnline: number;
  445. lastSubFetch: number;
  446. reset: number;
  447. resetCount: number;
  448. resetDay: number;
  449. resetMax: number;
  450. subId: string;
  451. total: number;
  452. up: number;
  453. uuid: string;
  454. }
  455. export interface ClientsSummary {
  456. active: number;
  457. deactive: string[];
  458. deactiveCount: number;
  459. depleted: string[];
  460. depletedCount: number;
  461. expiring: string[];
  462. expiringCount: number;
  463. online: string[];
  464. onlineCount: number;
  465. total: number;
  466. }
  467. export interface FallbackParentInfo {
  468. masterId: number;
  469. path?: string;
  470. }
  471. export interface GeoCategory {
  472. attributes: string[];
  473. code: string;
  474. entries: number;
  475. }
  476. export interface GeoCategoryPage {
  477. items: GeoCategory[];
  478. total: number;
  479. }
  480. export interface GeoEntry {
  481. kind: string;
  482. value: string;
  483. }
  484. export interface GeoEntryPage {
  485. items: GeoEntry[];
  486. total: number;
  487. }
  488. export interface GeoFile {
  489. categories: number;
  490. error?: string;
  491. kind: GeoKind;
  492. modifiedAt: number;
  493. name: string;
  494. size: number;
  495. }
  496. export interface GeodataTokenIssue {
  497. code?: string;
  498. file?: string;
  499. reason: string;
  500. token: string;
  501. }
  502. export interface HappLinkResult {
  503. encryptedLink: string;
  504. }
  505. export interface HistoryOfSeeders {
  506. id: number;
  507. seederName: string;
  508. }
  509. export interface Host {
  510. address: string;
  511. allowInsecure: boolean;
  512. alpn: string[];
  513. createdAt: number;
  514. echConfigList: string;
  515. excludeFromSubTypes: string[];
  516. finalMask: string;
  517. fingerprint: string;
  518. groupId: string;
  519. hostHeader: string;
  520. id: number;
  521. inboundId: number;
  522. isDisabled: boolean;
  523. isHidden: boolean;
  524. keepSniBlank: boolean;
  525. mihomoIpVersion: string;
  526. mihomoX25519: boolean;
  527. muxParams: unknown;
  528. nodeGuids?: string[];
  529. overrideSniFromAddress: boolean;
  530. path: string;
  531. pinnedPeerCertSha256: string[];
  532. port: number;
  533. remark: string;
  534. security: string;
  535. serverDescription: string;
  536. shuffleHost: boolean;
  537. sni: string;
  538. sockoptParams: unknown;
  539. sortOrder: number;
  540. tags: string[];
  541. updatedAt: number;
  542. verifyPeerCertByName: string;
  543. vlessRoute: string;
  544. }
  545. export interface HostGroup {
  546. allowInsecure: boolean;
  547. alpn: string[];
  548. echConfigList: string;
  549. excludeFromSubTypes: string[];
  550. finalMask: string;
  551. fingerprint: string;
  552. groupId: string;
  553. hostHeader: string;
  554. hosts: string[];
  555. inboundIds: number[];
  556. isDisabled: boolean;
  557. isHidden: boolean;
  558. keepSniBlank: boolean;
  559. mihomoIpVersion: string;
  560. mihomoX25519: boolean;
  561. muxParams: string;
  562. nodeGuids: string[];
  563. overrideSniFromAddress: boolean;
  564. path: string;
  565. pinnedPeerCertSha256: string[];
  566. port: number;
  567. remark: string;
  568. security: string;
  569. serverDescription: string;
  570. shuffleHost: boolean;
  571. sni: string;
  572. sockoptParams: string;
  573. sortOrder: number;
  574. tags: string[];
  575. verifyPeerCertByName: string;
  576. vlessRoute: string;
  577. }
  578. export interface HwidSlotStatus {
  579. active: boolean;
  580. full: boolean;
  581. limit: number;
  582. registered: number;
  583. remaining: number;
  584. }
  585. export interface Inbound {
  586. clientStats: ClientTraffic[];
  587. disableFlow: boolean;
  588. down: number;
  589. enable: boolean;
  590. expiryTime: number;
  591. fallbackParent?: FallbackParentInfo | null;
  592. id: number;
  593. lastTrafficResetTime: number;
  594. listen: string;
  595. nodeId?: number | null;
  596. originNodeGuid?: string;
  597. port: number;
  598. protocol: Protocol;
  599. remark: string;
  600. settings: unknown;
  601. shareAddr: string;
  602. shareAddrStrategy: string;
  603. sniffing: unknown;
  604. streamSettings: unknown;
  605. subSortIndex: number;
  606. tag: string;
  607. total: number;
  608. trafficReset: string;
  609. trafficResetDay: number;
  610. up: number;
  611. }
  612. export interface InboundClientIps {
  613. clientEmail: string;
  614. id: number;
  615. ips: unknown;
  616. }
  617. export interface InboundFallback {
  618. alpn: string;
  619. childId: number;
  620. dest: string;
  621. id: number;
  622. masterId: number;
  623. name: string;
  624. path: string;
  625. sortOrder: number;
  626. xver: number;
  627. }
  628. export interface InboundOption {
  629. awgServer?: ServerSettings | null;
  630. enable: boolean;
  631. id: number;
  632. listen?: string;
  633. mtprotoDomain?: string;
  634. network?: string;
  635. nodeAddress?: string;
  636. nodeId?: number | null;
  637. port: number;
  638. protocol: string;
  639. remark: string;
  640. security?: string;
  641. shareAddr?: string;
  642. shareAddrStrategy?: string;
  643. ssMethod: string;
  644. tag: string;
  645. tlsFlowCapable: boolean;
  646. tuicServer?: TuicServerSettings | null;
  647. wgDns?: string;
  648. wgMtu?: number;
  649. wgPublicKey?: string;
  650. }
  651. export interface InboundTrafficSummary {
  652. down: number;
  653. enable: boolean;
  654. id: number;
  655. total: number;
  656. up: number;
  657. }
  658. export interface LogEntry {
  659. DateTime: string;
  660. Email: string;
  661. Event: number;
  662. FromAddress: string;
  663. Inbound: string;
  664. Outbound: string;
  665. ToAddress: string;
  666. }
  667. export interface MLDSA65Response {
  668. seed: string;
  669. verify: string;
  670. }
  671. export interface MLKEM768Response {
  672. client: string;
  673. seed: string;
  674. }
  675. export interface Msg {
  676. msg: string;
  677. obj: unknown;
  678. success: boolean;
  679. }
  680. export interface NewUUIDResponse {
  681. uuid: string;
  682. }
  683. export interface Node {
  684. activeCount: number;
  685. address: string;
  686. allowPrivateAddress: boolean;
  687. basePath: string;
  688. clientCount: number;
  689. configDirty: boolean;
  690. configDirtyAt: number;
  691. cpuPct: number;
  692. createdAt: number;
  693. depletedCount: number;
  694. disabledCount: number;
  695. enable: boolean;
  696. guid: string;
  697. id: number;
  698. inboundCount: number;
  699. inboundSyncMode: string;
  700. inboundTags: string[];
  701. lastError: string;
  702. lastHeartbeat: number;
  703. latencyMs: number;
  704. memPct: number;
  705. name: string;
  706. netDown: number;
  707. netUp: number;
  708. onlineCount: number;
  709. outboundTag: string;
  710. panelVersion: string;
  711. parentGuid?: string;
  712. pinnedCertSha256: string;
  713. port: number;
  714. remark: string;
  715. scheme: string;
  716. status: string;
  717. tlsVerifyMode: string;
  718. transitive?: boolean;
  719. updatedAt: number;
  720. uptimeSecs: number;
  721. xrayError: string;
  722. xrayState: string;
  723. xrayVersion: string;
  724. }
  725. export interface NodeMutationRequest {
  726. address: string;
  727. allowPrivateAddress: boolean;
  728. apiToken?: string | null;
  729. basePath: string;
  730. clearApiToken?: boolean;
  731. enable: boolean;
  732. id: number;
  733. inboundSyncMode: string;
  734. inboundTags: string[];
  735. name: string;
  736. outboundTag: string;
  737. pinnedCertSha256: string;
  738. port: number;
  739. remark: string;
  740. scheme: string;
  741. tlsVerifyMode: string;
  742. }
  743. export interface NodeView {
  744. activeCount: number;
  745. address: string;
  746. allowPrivateAddress: boolean;
  747. basePath: string;
  748. clientCount: number;
  749. configDirty: boolean;
  750. configDirtyAt: number;
  751. cpuPct: number;
  752. createdAt: number;
  753. depletedCount: number;
  754. disabledCount: number;
  755. enable: boolean;
  756. guid: string;
  757. hasApiToken: boolean;
  758. id: number;
  759. inboundCount: number;
  760. inboundSyncMode: string;
  761. inboundTags: string[];
  762. lastError: string;
  763. lastHeartbeat: number;
  764. latencyMs: number;
  765. memPct: number;
  766. name: string;
  767. netDown: number;
  768. netUp: number;
  769. onlineCount: number;
  770. outboundTag: string;
  771. panelVersion: string;
  772. parentGuid?: string;
  773. pinnedCertSha256: string;
  774. port: number;
  775. remark: string;
  776. scheme: string;
  777. status: string;
  778. tlsVerifyMode: string;
  779. transitive?: boolean;
  780. updatedAt: number;
  781. uptimeSecs: number;
  782. xrayError: string;
  783. xrayState: string;
  784. xrayVersion: string;
  785. }
  786. export interface OutboundTraffics {
  787. down: number;
  788. id: number;
  789. tag: string;
  790. total: number;
  791. up: number;
  792. }
  793. export interface PanelUpdateStatus {
  794. exitCode: number;
  795. finishedAt: number;
  796. runId: string;
  797. state: string;
  798. }
  799. export interface PeerActivity {
  800. allowedIPs: string;
  801. down: number;
  802. email: string;
  803. endpoint: string;
  804. handshake: number;
  805. inboundId: number;
  806. interface: string;
  807. online: boolean;
  808. tag: string;
  809. up: number;
  810. }
  811. export interface ProbeResultUI {
  812. cpuPct: number;
  813. error: string;
  814. latencyMs: number;
  815. memPct: number;
  816. panelVersion: string;
  817. status: string;
  818. uptimeSecs: number;
  819. xrayError: string;
  820. xrayState: string;
  821. xrayVersion: string;
  822. }
  823. export interface RealityScanResult {
  824. alpn: string;
  825. certChainBytes: number;
  826. certChainValid: boolean;
  827. certIssuer: string;
  828. certSubject: string;
  829. certValid: boolean;
  830. curveID: string;
  831. feasible: boolean;
  832. h2: boolean;
  833. host: string;
  834. ip: string;
  835. latencyMs: number;
  836. notAfter: string;
  837. port: number;
  838. privateTarget: boolean;
  839. reason: string;
  840. serverNames: string[];
  841. target: string;
  842. tls13: boolean;
  843. tlsVersion: string;
  844. x25519: boolean;
  845. }
  846. export interface ServerSettings {
  847. contentPaddingAddition?: string;
  848. disableCookies: boolean;
  849. externalInterface?: string;
  850. h1: string;
  851. h2: string;
  852. h3: string;
  853. h4: string;
  854. headerProtectionKey?: string;
  855. i1?: string;
  856. i2?: string;
  857. i3?: string;
  858. i4?: string;
  859. i5?: string;
  860. ipv6Enabled?: boolean;
  861. ipv6ExternalInterface?: string;
  862. ipv6Subnet?: string;
  863. jc: number;
  864. jmax: number;
  865. jmin: number;
  866. keepaliveTimeout?: string;
  867. maxHandshakeAttempts?: string;
  868. mtu?: number;
  869. primaryDns: string;
  870. privateKey: string;
  871. publicKey: string;
  872. randomTrailers: boolean;
  873. rejectAfterTime?: string;
  874. rekeyAfterTime?: string;
  875. rekeyTimeout?: string;
  876. routeThroughXray?: boolean;
  877. s1: number;
  878. s2: number;
  879. s3: number;
  880. s4: number;
  881. secondaryDns: string;
  882. subnetCidr: number;
  883. subnetIp: string;
  884. }
  885. export interface Setting {
  886. id: number;
  887. key: string;
  888. value: string;
  889. }
  890. export interface SubBalancer {
  891. createdAt: number;
  892. enabled: boolean;
  893. id: number;
  894. inboundIds: number[];
  895. memberWeights?: Record<number, number>;
  896. remark: string;
  897. sortOrder: number;
  898. strategy: string;
  899. updatedAt: number;
  900. }
  901. export interface Traffic {
  902. Down: number;
  903. IsInbound: boolean;
  904. IsOutbound: boolean;
  905. Tag: string;
  906. Up: number;
  907. }
  908. export interface TuicClientSettings {
  909. email: string;
  910. password: string;
  911. uuid: string;
  912. }
  913. export interface TuicServerSettings {
  914. alpn: string[];
  915. authentication_timeout: number;
  916. certificate: string;
  917. congestion_control: string;
  918. log_level: string;
  919. max_idle_time: number;
  920. max_udp_relay_packet_size: number;
  921. private_key: string;
  922. sni?: string;
  923. udp_relay_mode: string;
  924. zero_rtt_handshake: boolean;
  925. }
  926. export interface User {
  927. id: number;
  928. password: string;
  929. username: string;
  930. }