sawAdmin/src/types/vpn.ts

76 lines
1.6 KiB
TypeScript

export interface VPNStatus {
status: number;
receive_packets: number;
send_packets: number;
receive_bytes: number;
send_bytes: number;
last_update_time: number;
online_user_info: OnlineUserInfo[] | null;
}
export interface OnlineUserInfo {
session_id: string;
user_id: number;
upload_packets: number;
download_packets: number;
upload_bytes: number;
download_bytes: number;
last_update_time: number;
client_ip: string;
}
export interface ServerConfig {
name: string;
server_id: string;
server_ip: string;
server_ipv6: string;
server_ip_type: number;
server_info: string;
udp_port: number;
tcp_port: number;
protocol: number;
ip_type: number;
ipv4_address_pool: string;
ipv6_address_pool: string;
dns_server: string;
tunnel: string;
allow_user_id: any[];
encryption: string;
hash: string;
no_policy_action:number;
user_max_device: number;
duration_time: number;
ipv4_router: any[];
ipv6_router: any[];
vpn_status: VPNStatus;
}
export interface OnlineUserInfoList {
id: number;
user_id: number;
user_name: string;
private_ipv4: string;
private_ipv6: string;
vpn_dp_secret: string;
uuid: string;
last_update_time: number;
host_info: HostInfo | null;
}
export interface HostInfo {
hostname: string;
uptime: number;
bootTime: number;
procs: number;
os: string;
platform: string;
platformFamily: string;
platformVersion: string;
kernelVersion: string;
kernelArch: string;
virtualizationSystem: string;
virtualizationRole: string;
hostId: string;
client_version: string;
}