1mod analytics;
4mod cli;
5mod ddns;
6mod defaults;
7mod loader;
8mod types;
9mod validate;
10
11use serde::{Deserialize, Serialize};
12
13pub use analytics::*;
14pub use cli::*;
15pub use ddns::*;
16pub use loader::*;
17pub use types::*;
18pub use validate::*;
19
20#[derive(Debug, Clone, Serialize, Deserialize)]
21pub struct Config {
22 pub server: ServerConfig,
23 pub tls: TlsConfig,
24 pub auth: AuthConfig,
25 #[serde(default)]
26 pub websocket: WebSocketConfig,
27 #[serde(default)]
28 pub metrics: MetricsConfig,
29 #[serde(default)]
30 pub logging: LoggingConfig,
31 #[serde(default)]
32 pub analytics: AnalyticsConfig,
33 #[serde(default)]
34 pub dns: trojan_dns::DnsConfig,
35 #[serde(default)]
36 pub ddns: DdnsConfig,
37}