From 2f9005f1e40189077676c21196eceaddb5034a4b Mon Sep 17 00:00:00 2001 From: Keivan-sf Date: Sat, 14 Oct 2023 11:01:28 +0330 Subject: [PATCH] feat: add tag and protocol to vless outbound --- src/parser/vless.rs | 34 +++++++++++++++++++++++----------- 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/src/parser/vless.rs b/src/parser/vless.rs index fef49c2..9fe1795 100644 --- a/src/parser/vless.rs +++ b/src/parser/vless.rs @@ -34,6 +34,8 @@ pub struct VlessData { address_data: VlessAddress, } +// Outbound structs + struct VlessUser { id: String, encryption: String, @@ -51,18 +53,28 @@ struct VlessOutboundSettings { vnext: Vec, } -fn create_outbound_object(data: VlessData) -> VlessOutboundSettings { - return VlessOutboundSettings { - vnext: vec![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 struct VlessOutbound { + settings: VlessOutboundSettings, + protocol: String, + tag: String, +} + +fn create_outbound_object(data: VlessData) -> VlessOutbound { + return VlessOutbound { + protocol: String::from("vless"), + tag: String::from("proxy"), + settings: VlessOutboundSettings { + vnext: vec![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, + }], }], - }], + }, }; }