@@ -78,12 +78,14 @@ public static string Build(RayType xrayType, V2raySettings settings)
7878 case RayType . VLESS_TCP_XTLS :
7979 case RayType . VLESS_WS :
8080 case RayType . VLESS_KCP :
81+ case RayType . VLESS_QUIC :
8182 case RayType . VLESS_gRPC :
8283 case RayType . Trojan_TCP :
8384 return BuildVlessShareLink ( xrayType , settings ) ;
8485 case RayType . VMESS_TCP :
8586 case RayType . VMESS_WS :
8687 case RayType . VMESS_KCP :
88+ case RayType . VMESS_QUIC :
8789 return BuildVmessShareLink ( xrayType , settings ) ;
8890 case RayType . ShadowsocksAEAD :
8991 return BuildShadowSocksShareLink ( settings ) ;
@@ -142,6 +144,15 @@ private static string BuildVmessShareLink(RayType xrayType, V2raySettings settin
142144 vmess . path = settings . VMESS_KCP_Seed ;
143145 vmess . tls = "" ;
144146 break ;
147+ case RayType . VMESS_QUIC :
148+ vmess . ps = "vmess-quic" ;
149+ vmess . port = settings . VMESS_QUIC_Port . ToString ( ) ;
150+ vmess . net = "quic" ;
151+ vmess . type = settings . VMESS_QUIC_Type ;
152+ vmess . path = settings . VMESS_QUIC_Key ;
153+ vmess . host = settings . VMESS_QUIC_Security ;
154+ vmess . tls = "tls" ;
155+ break ;
145156 default :
146157 return string . Empty ;
147158 }
@@ -162,8 +173,6 @@ private static string BuildVlessShareLink(RayType xrayType, V2raySettings settin
162173 var _path = "/" ;
163174 var _host = settings . Domain ;
164175 var _descriptiveText = string . Empty ;
165- var _headerType = "none" ;
166- var _seed = string . Empty ;
167176
168177 switch ( xrayType )
169178 {
@@ -187,12 +196,17 @@ private static string BuildVlessShareLink(RayType xrayType, V2raySettings settin
187196 case RayType . VLESS_KCP :
188197 _protocol = "vless" ;
189198 _type = "kcp" ;
190- _headerType = settings . VLESS_KCP_Type ;
191- _seed = settings . VLESS_KCP_Seed ;
192199 _port = settings . VLESS_KCP_Port ;
193200 _security = "none" ;
194201 _descriptiveText = "vless-mKCP" ;
195202 break ;
203+ case RayType . VLESS_QUIC :
204+ _protocol = "vless" ;
205+ _port = settings . VLESS_QUIC_Port ;
206+ _type = "quic" ;
207+ _security = "tls" ;
208+ _descriptiveText = "vless-quic" ;
209+ break ;
196210 case RayType . VLESS_gRPC :
197211 _protocol = "vless" ;
198212 _type = "grpc" ;
@@ -213,19 +227,32 @@ private static string BuildVlessShareLink(RayType xrayType, V2raySettings settin
213227 if ( xrayType != RayType . Trojan_TCP )
214228 {
215229 // 4.3 传输层相关段
216- parametersURL = $ "?type={ _type } &encryption={ _encryption } &security={ _security } &path={ HttpUtility . UrlEncode ( _path ) } &headerType= { _headerType } ";
230+ parametersURL = $ "?type={ _type } &encryption={ _encryption } &security={ _security } &path={ HttpUtility . UrlEncode ( _path ) } ";
217231
218232 // kcp
219233 if ( xrayType == RayType . VLESS_KCP )
220234 {
221- parametersURL += $ "&seed={ _seed } ";
235+ parametersURL += $ "&seed={ settings . VLESS_KCP_Seed } &headerType={ settings . VLESS_KCP_Type } ";
236+ }
237+
238+ if ( xrayType == RayType . VLESS_QUIC )
239+ {
240+ parametersURL += $ "&quicSecurity={ settings . VLESS_QUIC_Security } ";
241+ if ( settings . VLESS_QUIC_Security != "none" )
242+ {
243+ parametersURL += $ "&key={ HttpUtility . UrlEncode ( settings . VLESS_QUIC_Key ) } ";
244+ }
245+ parametersURL += $ "&headerType={ settings . VLESS_QUIC_Type } ";
222246 }
223247
224248 // 4.4 TLS 相关段
225249 if ( settings is XraySettings )
226250 {
227- var xraySettings = settings as XraySettings ;
228- parametersURL += $ "&flow={ xraySettings . Flow } ";
251+ if ( xrayType == RayType . VLESS_TCP_XTLS )
252+ {
253+ var xraySettings = settings as XraySettings ;
254+ parametersURL += $ "&flow={ xraySettings . Flow } ";
255+ }
229256 }
230257
231258
0 commit comments