@@ -91,6 +91,15 @@ class FinalMaskTcpType(str, Enum):
9191
9292class FinalMaskUdpType (str , Enum ):
9393 header_custom = "header-custom"
94+ mkcp_legacy = "mkcp-legacy"
95+ noise = "noise"
96+ salamander = "salamander"
97+ sudoku = "sudoku"
98+ xdns = "xdns"
99+ xicmp = "xicmp"
100+ realm = "realm"
101+
102+ # Legacy aliases
94103 header_dns = "header-dns"
95104 header_dtls = "header-dtls"
96105 header_srtp = "header-srtp"
@@ -99,11 +108,6 @@ class FinalMaskUdpType(str, Enum):
99108 header_wireguard = "header-wireguard"
100109 mkcp_original = "mkcp-original"
101110 mkcp_aes128gcm = "mkcp-aes128gcm"
102- noise = "noise"
103- salamander = "salamander"
104- sudoku = "sudoku"
105- xdns = "xdns"
106- xicmp = "xicmp"
107111
108112
109113class FinalMaskQuicCongestion (str , Enum ):
@@ -136,21 +140,52 @@ class FinalMaskSudokuSettings(FinalMaskPasswordSettings):
136140 padding_max : int | None = Field (default = None , alias = "paddingMax" )
137141
138142
143+ class FinalMaskXmcProfile (FinalMaskBaseModel ):
144+ username : str
145+ uuid : str
146+ textures_value : str = Field (alias = "texturesValue" )
147+ textures_signature : str = Field (alias = "texturesSignature" )
148+
149+
139150class FinalMaskXmcSettings (FinalMaskBaseModel ):
140151 hostname : str | None = Field (default = None )
141- usernames : list [str ] | None = Field (default = None )
142152 password : str | None = Field (default = None )
153+ profiles : list [FinalMaskXmcProfile ] | None = Field (default = None )
154+ usernames : list [str ] | None = Field (default = None )
143155
144156
145157class FinalMaskDomainSettings (FinalMaskBaseModel ):
146158 domain : str | None = Field (default = None )
147159
148160
161+ class FinalMaskXdnsSettings (FinalMaskBaseModel ):
162+ domains : list [str ] | None = Field (default = None )
163+ resolvers : list [str ] | None = Field (default = None )
164+ domain : str | None = Field (default = None )
165+
166+
149167class FinalMaskXicmpSettings (FinalMaskBaseModel ):
168+ dgram : bool | None = Field (default = None )
169+ ips : list [str ] | None = Field (default = None )
150170 listen_ip : str | None = Field (default = None , alias = "listenIp" )
151171 id : int | None = Field (default = None )
152172
153173
174+ class FinalMaskSalamanderSettings (FinalMaskPasswordSettings ):
175+ packet_size : Any | None = Field (default = None , alias = "packetSize" )
176+
177+
178+ class FinalMaskRealmSettings (FinalMaskBaseModel ):
179+ url : str | None = Field (default = None )
180+ stun_servers : list [str ] | None = Field (default = None , alias = "stunServers" )
181+ tls_config : dict [str , Any ] | None = Field (default = None , alias = "tlsConfig" )
182+
183+
184+ class FinalMaskMkcpLegacySettings (FinalMaskBaseModel ):
185+ header : str | None = Field (default = None )
186+ value : str | None = Field (default = None )
187+
188+
154189class FinalMaskNoiseSettings (FinalMaskBaseModel ):
155190 reset : int | None = Field (default = None )
156191 noise : list [XrayNoiseSettings ] | None = Field (default = None )
@@ -164,8 +199,9 @@ class FinalMaskUdpHop(FinalMaskBaseModel):
164199class FinalMaskQuicParams (FinalMaskBaseModel ):
165200 congestion : FinalMaskQuicCongestion | None = Field (default = None )
166201 debug : bool | None = Field (default = None )
167- brutal_up : str | int | None = Field (default = None , alias = "brutalUp" )
168- brutal_down : str | int | None = Field (default = None , alias = "brutalDown" )
202+ bbr_profile : str | None = Field (default = None , alias = "bbrProfile" )
203+ brutal_up : str | int | float | None = Field (default = None , alias = "brutalUp" )
204+ brutal_down : str | int | float | None = Field (default = None , alias = "brutalDown" )
169205 udp_hop : FinalMaskUdpHop | None = Field (default = None , alias = "udpHop" )
170206 init_stream_receive_window : int | None = Field (default = None , alias = "initStreamReceiveWindow" )
171207 max_stream_receive_window : int | None = Field (default = None , alias = "maxStreamReceiveWindow" )
@@ -189,8 +225,12 @@ class FinalMaskQuicParams(FinalMaskBaseModel):
189225 | FinalMaskPasswordSettings
190226 | FinalMaskSudokuSettings
191227 | FinalMaskDomainSettings
228+ | FinalMaskXdnsSettings
192229 | FinalMaskXicmpSettings
193230 | FinalMaskNoiseSettings
231+ | FinalMaskSalamanderSettings
232+ | FinalMaskRealmSettings
233+ | FinalMaskMkcpLegacySettings
194234 | dict [str , Any ]
195235)
196236
@@ -204,7 +244,8 @@ class FinalMaskQuicParams(FinalMaskBaseModel):
204244
205245FINAL_MASK_UDP_SETTINGS_MODELS = {
206246 FinalMaskUdpType .header_custom : FinalMaskUdpHeaderCustomSettings ,
207- FinalMaskUdpType .header_dns : FinalMaskDomainSettings ,
247+ FinalMaskUdpType .mkcp_legacy : FinalMaskMkcpLegacySettings ,
248+ FinalMaskUdpType .header_dns : FinalMaskXdnsSettings ,
208249 FinalMaskUdpType .header_dtls : FinalMaskPasswordSettings ,
209250 FinalMaskUdpType .header_srtp : FinalMaskPasswordSettings ,
210251 FinalMaskUdpType .header_utp : FinalMaskPasswordSettings ,
@@ -213,10 +254,11 @@ class FinalMaskQuicParams(FinalMaskBaseModel):
213254 FinalMaskUdpType .mkcp_original : FinalMaskPasswordSettings ,
214255 FinalMaskUdpType .mkcp_aes128gcm : FinalMaskPasswordSettings ,
215256 FinalMaskUdpType .noise : FinalMaskNoiseSettings ,
216- FinalMaskUdpType .salamander : FinalMaskPasswordSettings ,
257+ FinalMaskUdpType .salamander : FinalMaskSalamanderSettings ,
217258 FinalMaskUdpType .sudoku : FinalMaskSudokuSettings ,
218- FinalMaskUdpType .xdns : FinalMaskDomainSettings ,
259+ FinalMaskUdpType .xdns : FinalMaskXdnsSettings ,
219260 FinalMaskUdpType .xicmp : FinalMaskXicmpSettings ,
261+ FinalMaskUdpType .realm : FinalMaskRealmSettings ,
220262}
221263
222264
0 commit comments