types.ts 18 KB

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