libsubconverter/models/proxy_node/
shadowsocks.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Serialize, Deserialize)]
4pub struct ShadowsocksProxy {
5    pub server: String,
6    pub port: u16,
7    pub password: String,
8    // cipher is the alias for encryption method.
9    pub cipher: String,
10    pub udp: Option<bool>,
11    pub tfo: Option<bool>,
12    pub skip_cert_verify: Option<bool>,
13    pub plugin: Option<String>,
14    pub plugin_opts: Option<String>,
15    pub udp_over_tcp: Option<bool>,
16    pub udp_over_tcp_version: Option<u8>,
17    pub client_fingerprint: Option<String>,
18}
19
20impl Default for ShadowsocksProxy {
21    fn default() -> Self {
22        Self {
23            server: String::new(),
24            port: 0,
25            password: String::new(),
26            cipher: String::new(),
27            udp: None,
28            tfo: None,
29            skip_cert_verify: None,
30            plugin: None,
31            plugin_opts: None,
32            udp_over_tcp: None,
33            udp_over_tcp_version: None,
34            client_fingerprint: None,
35        }
36    }
37}