Files
hi-frontend/apps/admin/src/sections/servers/form-schema/defaults.ts
T
shanshanzhong147 830430645c
Build and Release / Build (push) Has been cancelled
merge: 同步 origin/main (v1.4.0) 到定制版本
2026-03-19 02:56:42 -07:00

198 lines
4.7 KiB
TypeScript

import { XHTTP_MODES } from "./constants";
import type { ProtocolType } from "./types";
export function getProtocolDefaultConfig(proto: ProtocolType) {
switch (proto) {
case "shadowsocks":
return {
type: "shadowsocks",
enable: false,
port: null,
cipher: "chacha20-ietf-poly1305",
server_key: null,
obfs: "none",
obfs_host: null,
obfs_path: null,
sni: null,
allow_insecure: null,
cert_mode: "none",
cert_dns_provider: null,
cert_dns_env: null,
ratio: 1,
} as any;
case "vmess":
return {
type: "vmess",
enable: false,
host: null,
port: null,
transport: "tcp",
security: "none",
path: null,
service_name: null,
sni: null,
allow_insecure: null,
fingerprint: "chrome",
cert_mode: "none",
cert_dns_provider: null,
cert_dns_env: null,
ratio: 1,
} as any;
case "vless":
return {
type: "vless",
enable: false,
host: null,
port: null,
transport: "tcp",
security: "none",
flow: "none",
path: null,
service_name: null,
sni: null,
allow_insecure: null,
fingerprint: "chrome",
reality_server_addr: null,
reality_server_port: null,
reality_private_key: null,
reality_public_key: null,
reality_short_id: null,
xhttp_mode: XHTTP_MODES[0], // 'auto'
xhttp_extra: null,
encryption: "none",
encryption_mode: null,
encryption_rtt: null,
encryption_ticket: null,
encryption_server_padding: null,
encryption_private_key: null,
encryption_client_padding: null,
encryption_password: null,
cert_mode: "none",
cert_dns_provider: null,
cert_dns_env: null,
ratio: 1,
} as any;
case "trojan":
return {
type: "trojan",
enable: false,
host: null,
port: null,
transport: "tcp",
security: "tls",
path: null,
service_name: null,
sni: null,
allow_insecure: null,
fingerprint: "chrome",
cert_mode: "none",
cert_dns_provider: null,
cert_dns_env: null,
ratio: 1,
} as any;
case "hysteria":
return {
type: "hysteria",
enable: false,
port: null,
hop_ports: null,
hop_interval: null,
obfs: "none",
obfs_password: null,
security: "tls",
up_mbps: null,
down_mbps: null,
sni: null,
allow_insecure: null,
fingerprint: "chrome",
cert_mode: "none",
cert_dns_provider: null,
cert_dns_env: null,
ratio: 1,
} as any;
case "tuic":
return {
type: "tuic",
enable: false,
port: null,
disable_sni: false,
reduce_rtt: false,
udp_relay_mode: "native",
congestion_controller: "bbr",
security: "tls",
sni: null,
allow_insecure: false,
fingerprint: "chrome",
cert_mode: "none",
cert_dns_provider: null,
cert_dns_env: null,
ratio: 1,
} as any;
case "socks":
return {
type: "socks",
enable: false,
port: null,
ratio: 1,
} as any;
case "naive":
return {
type: "naive",
enable: false,
port: null,
security: "none",
sni: null,
allow_insecure: null,
fingerprint: "chrome",
cert_mode: "none",
cert_dns_provider: null,
cert_dns_env: null,
ratio: 1,
} as any;
case "http":
return {
type: "http",
enable: false,
port: null,
security: "none",
sni: null,
allow_insecure: null,
fingerprint: "chrome",
cert_mode: "none",
cert_dns_provider: null,
cert_dns_env: null,
ratio: 1,
} as any;
case "mieru":
return {
type: "mieru",
enable: false,
port: null,
multiplex: "none",
transport: "tcp",
} as any;
case "anytls":
return {
type: "anytls",
enable: false,
port: null,
security: "tls",
padding_scheme: null,
sni: null,
allow_insecure: false,
fingerprint: "chrome",
cert_mode: "none",
cert_dns_provider: null,
cert_dns_env: null,
reality_server_addr: null,
reality_server_port: null,
reality_private_key: null,
reality_public_key: null,
reality_short_id: null,
ratio: 1,
} as any;
default:
return {} as any;
}
}