mirror of
https://github.com/house-of-vanity/v2-uri-parser.git
synced 2025-12-16 15:07:53 +00:00
feat: create outbound proxy object from vless data
This commit is contained in:
5
src/parser/structs.rs
Normal file
5
src/parser/structs.rs
Normal file
@@ -0,0 +1,5 @@
|
||||
|
||||
|
||||
pub struct Outboud {
|
||||
vnext: Option<Vec<ServerObject>>,
|
||||
}
|
||||
@@ -34,6 +34,38 @@ pub struct VlessData {
|
||||
address_data: VlessAddress,
|
||||
}
|
||||
|
||||
struct VlessUser {
|
||||
id: String,
|
||||
encryption: String,
|
||||
flow: String,
|
||||
level: u8,
|
||||
}
|
||||
|
||||
struct VlessServerObject {
|
||||
address: String,
|
||||
port: u16,
|
||||
users: Vec<VlessUser>,
|
||||
}
|
||||
|
||||
pub struct VlessOutbound {
|
||||
vnext: VlessServerObject,
|
||||
}
|
||||
|
||||
pub fn create_outbound_object(data: VlessData) -> VlessOutbound {
|
||||
return VlessOutbound {
|
||||
vnext: VlessServerObject {
|
||||
port: data.address_data.port,
|
||||
address: data.address_data.address,
|
||||
users: vec![VlessUser {
|
||||
id: data.address_data.uuid,
|
||||
flow: data.query.flow,
|
||||
encryption: data.query.encryption,
|
||||
level: 0,
|
||||
}],
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
pub fn get_vless_data(uri: &str) -> VlessData {
|
||||
let data = uri.split_once("vless://").unwrap().1;
|
||||
let query_and_name = uri.split_once("?").unwrap().1;
|
||||
|
||||
Reference in New Issue
Block a user