123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- /**
- * Some interface for clash api
- */
- export namespace ApiType {
- export interface ConfigData {
- port: number;
- mode: string;
- ipv6: boolean;
- "socket-port": number;
- "allow-lan": boolean;
- "log-level": string;
- "mixed-port": number;
- "redir-port": number;
- "socks-port": number;
- "tproxy-port": number;
- }
- export interface RuleItem {
- type: string;
- payload: string;
- proxy: string;
- }
- export interface ProxyItem {
- name: string;
- type: string;
- udp: boolean;
- history: {
- time: string;
- delay: number;
- }[];
- all?: string[];
- now?: string;
- }
- export type ProxyGroupItem = Omit<ProxyItem, "all"> & {
- all: ProxyItem[];
- };
- export interface TrafficItem {
- up: number;
- down: number;
- }
- export interface LogItem {
- type: string;
- time?: string;
- payload: string;
- }
- export interface ConnectionsItem {
- id: string;
- metadata: {
- network: string;
- type: string;
- host: string;
- sourceIP: string;
- sourcePort: string;
- destinationPort: string;
- destinationIP?: string;
- };
- upload: number;
- download: number;
- start: string;
- chains: string[];
- rule: string;
- rulePayload: string;
- }
- export interface Connections {
- downloadTotal: number;
- uploadTotal: number;
- connections: ConnectionsItem[];
- }
- }
- /**
- * Some interface for command
- */
- export namespace CmdType {
- export interface ClashInfo {
- status: string;
- port?: string;
- server?: string;
- secret?: string;
- }
- export interface ProfileItem {
- uid: string;
- type?: string;
- name?: string;
- desc?: string;
- file?: string;
- url?: string;
- updated?: number;
- selected?: {
- name?: string;
- now?: string;
- }[];
- extra?: {
- upload: number;
- download: number;
- total: number;
- expire: number;
- };
- }
- export interface ProfilesConfig {
- current?: string;
- chain?: string[];
- items?: ProfileItem[];
- }
- export interface VergeConfig {
- theme_mode?: "light" | "dark";
- theme_blur?: boolean;
- traffic_graph?: boolean;
- enable_tun_mode?: boolean;
- enable_auto_launch?: boolean;
- enable_system_proxy?: boolean;
- enable_proxy_guard?: boolean;
- system_proxy_bypass?: string;
- }
- export interface ChainItem {
- item: ProfileItem;
- merge?: object;
- script?: string;
- }
- export interface EnhancedPayload {
- chain: ChainItem[];
- current: object;
- }
- }
|