Expand description
Core data models for the application
This module contains the primary data structures used throughout the application, separated from the logic that operates on them.
§Usage
Import the models directly from this module:
use subconverter_rs::models::{Proxy, ProxyType};
// Create a new proxy
let mut proxy = Proxy::default();
proxy.proxy_type = ProxyType::VMess;
proxy.hostname = "example.com".to_string();
proxy.port = 443;Or use the re-exports from the crate root:
use subconverter_rs::{Proxy, ProxyType};
// Create a new proxy
let mut proxy = Proxy::default();
proxy.proxy_type = ProxyType::VMess;§Working with Option fields
Many fields in the Proxy struct are wrapped in Option, which requires
special handling:
use subconverter_rs::Proxy;
let proxy = Proxy::default();
// Check if an Option<String> field is Some and not empty
if proxy.encrypt_method.as_ref().map_or(false, |s| !s.is_empty()) {
println!("Encryption method: {}", proxy.encrypt_method.as_ref().unwrap());
}
// Provide a default value
let method = proxy.encrypt_method.as_deref().unwrap_or("none");See the examples directory for more detailed usage examples.
Re-exports§
pub use extra_settings::ExtraSettings;pub use proxy_group_config::BalanceStrategy;pub use proxy_group_config::ProxyGroupConfig;pub use proxy_group_config::ProxyGroupConfigs;pub use proxy_group_config::ProxyGroupType;pub use regex_match_config::RegexMatchConfig;pub use regex_match_config::RegexMatchConfigs;pub use subconverter_target::SubconverterTarget;pub use proxy::Proxy;pub use proxy::ProxyType;pub use ruleset::RulesetConfig;pub use ruleset::RulesetContent;pub use ruleset::RulesetType;pub use ciphers::SSR_CIPHERS;pub use ciphers::SS_CIPHERS;pub use proxy::HTTP_DEFAULT_GROUP;pub use proxy::HYSTERIA2_DEFAULT_GROUP;pub use proxy::HYSTERIA_DEFAULT_GROUP;pub use proxy::SNELL_DEFAULT_GROUP;pub use proxy::SOCKS_DEFAULT_GROUP;pub use proxy::SSR_DEFAULT_GROUP;pub use proxy::SS_DEFAULT_GROUP;pub use proxy::TROJAN_DEFAULT_GROUP;pub use proxy::V2RAY_DEFAULT_GROUP;pub use proxy::WG_DEFAULT_GROUP;