mirror of
https://github.com/shtorm-7/sing-box-extended.git
synced 2026-10-09 23:55:42 +00:00
mieru: add mtu and handshake_mode options
This commit is contained in:
@@ -309,13 +309,17 @@ func buildMieruServerConfig(_ context.Context, options option.MieruInboundOption
|
||||
UserHintIsMandatory: proto.Bool(true),
|
||||
}
|
||||
}
|
||||
config := &mierupb.ServerConfig{
|
||||
PortBindings: portBindings,
|
||||
Users: users,
|
||||
TrafficPattern: trafficPattern,
|
||||
AdvancedSettings: advancedSettings,
|
||||
}
|
||||
if options.MTU != 0 {
|
||||
config.Mtu = proto.Int32(int32(options.MTU))
|
||||
}
|
||||
return &mieruserver.ServerConfig{
|
||||
Config: &mierupb.ServerConfig{
|
||||
PortBindings: portBindings,
|
||||
Users: users,
|
||||
TrafficPattern: trafficPattern,
|
||||
AdvancedSettings: advancedSettings,
|
||||
},
|
||||
Config: config,
|
||||
}, userNames, nil
|
||||
}
|
||||
|
||||
|
||||
@@ -235,6 +235,12 @@ func buildMieruClientConfig(options option.MieruOutboundOptions, dialer mieruDia
|
||||
Level: mierupb.MultiplexingLevel(multiplexing).Enum(),
|
||||
}
|
||||
}
|
||||
if options.MTU != 0 {
|
||||
config.Profile.Mtu = proto.Int32(int32(options.MTU))
|
||||
}
|
||||
if handshakeMode, ok := mierupb.HandshakeMode_value[options.HandshakeMode]; ok {
|
||||
config.Profile.HandshakeMode = mierupb.HandshakeMode(handshakeMode).Enum()
|
||||
}
|
||||
if options.TrafficPattern != "" {
|
||||
trafficPattern, _ := mierutp.Decode(options.TrafficPattern)
|
||||
config.Profile.TrafficPattern = trafficPattern
|
||||
@@ -278,6 +284,11 @@ func validateMieruOptions(options option.MieruOutboundOptions) error {
|
||||
return fmt.Errorf("invalid multiplexing level: %s", options.Multiplexing)
|
||||
}
|
||||
}
|
||||
if options.HandshakeMode != "" {
|
||||
if _, ok := mierupb.HandshakeMode_value[options.HandshakeMode]; !ok {
|
||||
return fmt.Errorf("invalid handshake mode: %s", options.HandshakeMode)
|
||||
}
|
||||
}
|
||||
if options.TrafficPattern != "" {
|
||||
trafficPattern, err := mierutp.Decode(options.TrafficPattern)
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user