@@ -78,12 +78,14 @@ public static string Build(RayType xrayType, V2raySettings settings)
78
78
case RayType . VLESS_TCP_XTLS :
79
79
case RayType . VLESS_WS :
80
80
case RayType . VLESS_KCP :
81
+ case RayType . VLESS_QUIC :
81
82
case RayType . VLESS_gRPC :
82
83
case RayType . Trojan_TCP :
83
84
return BuildVlessShareLink ( xrayType , settings ) ;
84
85
case RayType . VMESS_TCP :
85
86
case RayType . VMESS_WS :
86
87
case RayType . VMESS_KCP :
88
+ case RayType . VMESS_QUIC :
87
89
return BuildVmessShareLink ( xrayType , settings ) ;
88
90
case RayType . ShadowsocksAEAD :
89
91
return BuildShadowSocksShareLink ( settings ) ;
@@ -142,6 +144,15 @@ private static string BuildVmessShareLink(RayType xrayType, V2raySettings settin
142
144
vmess . path = settings . VMESS_KCP_Seed ;
143
145
vmess . tls = "" ;
144
146
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 ;
145
156
default :
146
157
return string . Empty ;
147
158
}
@@ -162,8 +173,6 @@ private static string BuildVlessShareLink(RayType xrayType, V2raySettings settin
162
173
var _path = "/" ;
163
174
var _host = settings . Domain ;
164
175
var _descriptiveText = string . Empty ;
165
- var _headerType = "none" ;
166
- var _seed = string . Empty ;
167
176
168
177
switch ( xrayType )
169
178
{
@@ -187,12 +196,17 @@ private static string BuildVlessShareLink(RayType xrayType, V2raySettings settin
187
196
case RayType . VLESS_KCP :
188
197
_protocol = "vless" ;
189
198
_type = "kcp" ;
190
- _headerType = settings . VLESS_KCP_Type ;
191
- _seed = settings . VLESS_KCP_Seed ;
192
199
_port = settings . VLESS_KCP_Port ;
193
200
_security = "none" ;
194
201
_descriptiveText = "vless-mKCP" ;
195
202
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 ;
196
210
case RayType . VLESS_gRPC :
197
211
_protocol = "vless" ;
198
212
_type = "grpc" ;
@@ -213,19 +227,32 @@ private static string BuildVlessShareLink(RayType xrayType, V2raySettings settin
213
227
if ( xrayType != RayType . Trojan_TCP )
214
228
{
215
229
// 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 ) } ";
217
231
218
232
// kcp
219
233
if ( xrayType == RayType . VLESS_KCP )
220
234
{
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 } ";
222
246
}
223
247
224
248
// 4.4 TLS 相关段
225
249
if ( settings is XraySettings )
226
250
{
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
+ }
229
256
}
230
257
231
258
0 commit comments