mirror of
https://github.com/v2fly/v2ray-core.git
synced 2026-01-04 16:25:21 -05:00
rename option to DeferInstanceDerivedWriteTime in tlsmirror
This commit is contained in:
committed by
Xiaokang Wang (Shelikhoo)
parent
089981bf49
commit
19025d330e
@@ -155,10 +155,10 @@ func (d *persistentMirrorTLSDialer) handleIncomingCarrierConnection(ctx context.
|
||||
}
|
||||
|
||||
var firstWriteDelay time.Duration
|
||||
if d.config.DeferFirstPayloadWriteTime != nil {
|
||||
firstWriteDelay = time.Duration(d.config.DeferFirstPayloadWriteTime.BaseNanoseconds)
|
||||
if d.config.DeferFirstPayloadWriteTime.UniformRandomMultiplierNanoseconds > 0 {
|
||||
uniformRandomAdd := big.NewInt(int64(d.config.DeferFirstPayloadWriteTime.UniformRandomMultiplierNanoseconds))
|
||||
if d.config.DeferInstanceDerivedWriteTime != nil {
|
||||
firstWriteDelay = time.Duration(d.config.DeferInstanceDerivedWriteTime.BaseNanoseconds)
|
||||
if d.config.DeferInstanceDerivedWriteTime.UniformRandomMultiplierNanoseconds > 0 {
|
||||
uniformRandomAdd := big.NewInt(int64(d.config.DeferInstanceDerivedWriteTime.UniformRandomMultiplierNanoseconds))
|
||||
uniformRandomAddBigInt, err := cryptoRand.Int(cryptoRand.Reader, uniformRandomAdd)
|
||||
if err != nil {
|
||||
newError("failed to generate random delay").Base(err).AtWarning().WriteToLog()
|
||||
|
||||
@@ -114,18 +114,18 @@ func (x *TransportLayerPadding) GetEnabled() bool {
|
||||
}
|
||||
|
||||
type Config struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
ForwardAddress string `protobuf:"bytes,1,opt,name=forward_address,json=forwardAddress,proto3" json:"forward_address,omitempty"`
|
||||
ForwardPort uint32 `protobuf:"varint,2,opt,name=forward_port,json=forwardPort,proto3" json:"forward_port,omitempty"`
|
||||
ForwardTag string `protobuf:"bytes,3,opt,name=forward_tag,json=forwardTag,proto3" json:"forward_tag,omitempty"`
|
||||
CarrierConnectionTag string `protobuf:"bytes,4,opt,name=carrier_connection_tag,json=carrierConnectionTag,proto3" json:"carrier_connection_tag,omitempty"`
|
||||
EmbeddedTrafficGenerator *tlstrafficgen.Config `protobuf:"bytes,5,opt,name=embedded_traffic_generator,json=embeddedTrafficGenerator,proto3" json:"embedded_traffic_generator,omitempty"`
|
||||
PrimaryKey []byte `protobuf:"bytes,6,opt,name=primary_key,json=primaryKey,proto3" json:"primary_key,omitempty"`
|
||||
ExplicitNonceCiphersuites []uint32 `protobuf:"varint,7,rep,packed,name=explicit_nonce_ciphersuites,json=explicitNonceCiphersuites,proto3" json:"explicit_nonce_ciphersuites,omitempty"`
|
||||
DeferFirstPayloadWriteTime *TimeSpec `protobuf:"bytes,8,opt,name=defer_first_payload_write_time,json=deferFirstPayloadWriteTime,proto3" json:"defer_first_payload_write_time,omitempty"`
|
||||
TransportLayerPadding *TransportLayerPadding `protobuf:"bytes,9,opt,name=transport_layer_padding,json=transportLayerPadding,proto3" json:"transport_layer_padding,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
ForwardAddress string `protobuf:"bytes,1,opt,name=forward_address,json=forwardAddress,proto3" json:"forward_address,omitempty"`
|
||||
ForwardPort uint32 `protobuf:"varint,2,opt,name=forward_port,json=forwardPort,proto3" json:"forward_port,omitempty"`
|
||||
ForwardTag string `protobuf:"bytes,3,opt,name=forward_tag,json=forwardTag,proto3" json:"forward_tag,omitempty"`
|
||||
CarrierConnectionTag string `protobuf:"bytes,4,opt,name=carrier_connection_tag,json=carrierConnectionTag,proto3" json:"carrier_connection_tag,omitempty"`
|
||||
EmbeddedTrafficGenerator *tlstrafficgen.Config `protobuf:"bytes,5,opt,name=embedded_traffic_generator,json=embeddedTrafficGenerator,proto3" json:"embedded_traffic_generator,omitempty"`
|
||||
PrimaryKey []byte `protobuf:"bytes,6,opt,name=primary_key,json=primaryKey,proto3" json:"primary_key,omitempty"`
|
||||
ExplicitNonceCiphersuites []uint32 `protobuf:"varint,7,rep,packed,name=explicit_nonce_ciphersuites,json=explicitNonceCiphersuites,proto3" json:"explicit_nonce_ciphersuites,omitempty"`
|
||||
DeferInstanceDerivedWriteTime *TimeSpec `protobuf:"bytes,8,opt,name=defer_instance_derived_write_time,json=deferInstanceDerivedWriteTime,proto3" json:"defer_instance_derived_write_time,omitempty"`
|
||||
TransportLayerPadding *TransportLayerPadding `protobuf:"bytes,9,opt,name=transport_layer_padding,json=transportLayerPadding,proto3" json:"transport_layer_padding,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *Config) Reset() {
|
||||
@@ -207,9 +207,9 @@ func (x *Config) GetExplicitNonceCiphersuites() []uint32 {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *Config) GetDeferFirstPayloadWriteTime() *TimeSpec {
|
||||
func (x *Config) GetDeferInstanceDerivedWriteTime() *TimeSpec {
|
||||
if x != nil {
|
||||
return x.DeferFirstPayloadWriteTime
|
||||
return x.DeferInstanceDerivedWriteTime
|
||||
}
|
||||
return nil
|
||||
}
|
||||
@@ -230,7 +230,7 @@ const file_transport_internet_tlsmirror_server_config_proto_rawDesc = "" +
|
||||
"\x10base_nanoseconds\x18\x01 \x01(\x04R\x0fbaseNanoseconds\x12Q\n" +
|
||||
"%uniform_random_multiplier_nanoseconds\x18\x02 \x01(\x04R\"uniformRandomMultiplierNanoseconds\"1\n" +
|
||||
"\x15TransportLayerPadding\x12\x18\n" +
|
||||
"\aenabled\x18\x01 \x01(\bR\aenabled\"\xb3\x05\n" +
|
||||
"\aenabled\x18\x01 \x01(\bR\aenabled\"\xba\x05\n" +
|
||||
"\x06Config\x12'\n" +
|
||||
"\x0fforward_address\x18\x01 \x01(\tR\x0eforwardAddress\x12!\n" +
|
||||
"\fforward_port\x18\x02 \x01(\rR\vforwardPort\x12\x1f\n" +
|
||||
@@ -240,8 +240,8 @@ const file_transport_internet_tlsmirror_server_config_proto_rawDesc = "" +
|
||||
"\x1aembedded_traffic_generator\x18\x05 \x01(\v2=.v2ray.core.transport.internet.tlsmirror.tlstrafficgen.ConfigR\x18embeddedTrafficGenerator\x12\x1f\n" +
|
||||
"\vprimary_key\x18\x06 \x01(\fR\n" +
|
||||
"primaryKey\x12>\n" +
|
||||
"\x1bexplicit_nonce_ciphersuites\x18\a \x03(\rR\x19explicitNonceCiphersuites\x12|\n" +
|
||||
"\x1edefer_first_payload_write_time\x18\b \x01(\v28.v2ray.core.transport.internet.tlsmirror.server.TimeSpecR\x1adeferFirstPayloadWriteTime\x12}\n" +
|
||||
"\x1bexplicit_nonce_ciphersuites\x18\a \x03(\rR\x19explicitNonceCiphersuites\x12\x82\x01\n" +
|
||||
"!defer_instance_derived_write_time\x18\b \x01(\v28.v2ray.core.transport.internet.tlsmirror.server.TimeSpecR\x1ddeferInstanceDerivedWriteTime\x12}\n" +
|
||||
"\x17transport_layer_padding\x18\t \x01(\v2E.v2ray.core.transport.internet.tlsmirror.server.TransportLayerPaddingR\x15transportLayerPadding:+\x82\xb5\x18'\n" +
|
||||
"\ttransport\x12\ttlsmirror\x8a\xff)\ttlsmirror\x90\xff)\x01B\xab\x01\n" +
|
||||
"2com.v2ray.core.transport.internet.tlsmirror.serverP\x01ZBgithub.com/v2fly/v2ray-core/v5/transport/internet/tlsmirror/server\xaa\x02.V2Ray.Core.Transport.Internet.Tlsmirror.Serverb\x06proto3"
|
||||
@@ -267,7 +267,7 @@ var file_transport_internet_tlsmirror_server_config_proto_goTypes = []any{
|
||||
}
|
||||
var file_transport_internet_tlsmirror_server_config_proto_depIdxs = []int32{
|
||||
3, // 0: v2ray.core.transport.internet.tlsmirror.server.Config.embedded_traffic_generator:type_name -> v2ray.core.transport.internet.tlsmirror.tlstrafficgen.Config
|
||||
0, // 1: v2ray.core.transport.internet.tlsmirror.server.Config.defer_first_payload_write_time:type_name -> v2ray.core.transport.internet.tlsmirror.server.TimeSpec
|
||||
0, // 1: v2ray.core.transport.internet.tlsmirror.server.Config.defer_instance_derived_write_time:type_name -> v2ray.core.transport.internet.tlsmirror.server.TimeSpec
|
||||
1, // 2: v2ray.core.transport.internet.tlsmirror.server.Config.transport_layer_padding:type_name -> v2ray.core.transport.internet.tlsmirror.server.TransportLayerPadding
|
||||
3, // [3:3] is the sub-list for method output_type
|
||||
3, // [3:3] is the sub-list for method input_type
|
||||
|
||||
@@ -37,7 +37,7 @@ message Config {
|
||||
|
||||
repeated uint32 explicit_nonce_ciphersuites = 7;
|
||||
|
||||
TimeSpec defer_first_payload_write_time = 8;
|
||||
TimeSpec defer_instance_derived_write_time = 8;
|
||||
|
||||
TransportLayerPadding transport_layer_padding = 9;
|
||||
}
|
||||
@@ -81,10 +81,10 @@ func (s *Server) accept(clientConn net.Conn, serverConn net.Conn) {
|
||||
ctx, cancel := context.WithCancel(s.ctx)
|
||||
|
||||
firstWriteDelay := time.Duration(0)
|
||||
if s.config.DeferFirstPayloadWriteTime != nil {
|
||||
firstWriteDelay = time.Duration(s.config.DeferFirstPayloadWriteTime.BaseNanoseconds)
|
||||
if s.config.DeferFirstPayloadWriteTime.UniformRandomMultiplierNanoseconds > 0 {
|
||||
uniformRandomAdd := big.NewInt(int64(s.config.DeferFirstPayloadWriteTime.UniformRandomMultiplierNanoseconds))
|
||||
if s.config.DeferInstanceDerivedWriteTime != nil {
|
||||
firstWriteDelay = time.Duration(s.config.DeferInstanceDerivedWriteTime.BaseNanoseconds)
|
||||
if s.config.DeferInstanceDerivedWriteTime.UniformRandomMultiplierNanoseconds > 0 {
|
||||
uniformRandomAdd := big.NewInt(int64(s.config.DeferInstanceDerivedWriteTime.UniformRandomMultiplierNanoseconds))
|
||||
uniformRandomAddBigInt, err := cryptoRand.Int(cryptoRand.Reader, uniformRandomAdd)
|
||||
if err != nil {
|
||||
newError("failed to generate random delay").Base(err).AtWarning().WriteToLog()
|
||||
|
||||
Reference in New Issue
Block a user