use serde_json::json;
use crate::utils::base64::base64_encode;
pub fn vmess_link_construct(
remarks: &str,
add: &str,
port: &str,
type_str: &str,
id: &str,
aid: &str,
net: &str,
path: &str,
host: &str,
tls: &str,
) -> String {
let json_obj = json!({
"v": "2",
"ps": remarks,
"add": add,
"port": port,
"id": id,
"aid": aid,
"net": net,
"type": type_str,
"host": host,
"path": path,
"tls": tls
});
let json_string = serde_json::to_string(&json_obj).unwrap_or_default();
let encoded = base64_encode(&json_string);
format!("vmess://{}", encoded)
}