Skip to content
Open
4 changes: 2 additions & 2 deletions client.go
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ func buildFromConfig(logger Logger, config *httpClientConfig) (*http.Client, ban

clientProfile := config.clientProfile

transport, err := newRoundTripper(clientProfile, config.transportOptions, config.serverNameOverwrite, config.insecureSkipVerify, config.withRandomTlsExtensionOrder, config.forceHttp1, config.disableHttp3, config.certificatePins, config.badPinHandler, config.disableIPV6, config.disableIPV4, bandwidthTracker, dialer)
transport, err := newRoundTripper(clientProfile, config.transportOptions, config.serverNameOverwrite, config.insecureSkipVerify, config.withRandomTlsExtensionOrder, config.forceHttp1, config.disableHttp3, config.certificatePins, config.badPinHandler, config.disableIPV6, config.disableIPV4, config.initialStreamID, config.allowHTTP, bandwidthTracker, dialer)
if err != nil {
return nil, nil, clientProfile, err
}
Expand Down Expand Up @@ -264,7 +264,7 @@ func (c *httpClient) applyProxy() error {
dialer = proxyDialer
}

transport, err := newRoundTripper(c.config.clientProfile, c.config.transportOptions, c.config.serverNameOverwrite, c.config.insecureSkipVerify, c.config.withRandomTlsExtensionOrder, c.config.forceHttp1, c.config.disableHttp3, c.config.certificatePins, c.config.badPinHandler, c.config.disableIPV6, c.config.disableIPV4, c.bandwidthTracker, dialer)
transport, err := newRoundTripper(c.config.clientProfile, c.config.transportOptions, c.config.serverNameOverwrite, c.config.insecureSkipVerify, c.config.withRandomTlsExtensionOrder, c.config.forceHttp1, c.config.disableHttp3, c.config.certificatePins, c.config.badPinHandler, c.config.disableIPV6, c.config.disableIPV4, c.config.initialStreamID, c.config.allowHTTP, c.bandwidthTracker, dialer)
if err != nil {
return err
}
Expand Down
4 changes: 2 additions & 2 deletions profiles/internal_custom_profiles.go
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ func getMMSClientProfile2() ClientProfile {
":authority",
}

return NewClientProfile(clientHelloId, settings, settingsOrder, pseudoHeaderOrder, 15663105, nil, nil)
return NewClientProfile(clientHelloId, settings, settingsOrder, pseudoHeaderOrder, 15663105, nil, nil, 0, false)
}

var MMSIos3 = getMMSClientProfile3()
Expand Down Expand Up @@ -209,5 +209,5 @@ func getMMSClientProfile3() ClientProfile {
":authority",
}

return NewClientProfile(clientHelloId, settings, settingsOrder, pseudoHeaderOrder, 15663105, nil, nil)
return NewClientProfile(clientHelloId, settings, settingsOrder, pseudoHeaderOrder, 15663105, nil, nil, 0, false)
}
16 changes: 15 additions & 1 deletion profiles/profiles.go
Original file line number Diff line number Diff line change
Expand Up @@ -86,9 +86,12 @@ type ClientProfile struct {
pseudoHeaderOrder []string
settingsOrder []http2.SettingID
connectionFlow uint32
// [ADD THESE FIELDS]
streamID uint32
allowHTTP bool
}

func NewClientProfile(clientHelloId tls.ClientHelloID, settings map[http2.SettingID]uint32, settingsOrder []http2.SettingID, pseudoHeaderOrder []string, connectionFlow uint32, priorities []http2.Priority, headerPriority *http2.PriorityParam) ClientProfile {
func NewClientProfile(clientHelloId tls.ClientHelloID, settings map[http2.SettingID]uint32, settingsOrder []http2.SettingID, pseudoHeaderOrder []string, connectionFlow uint32, priorities []http2.Priority, headerPriority *http2.PriorityParam, streamID uint32, allowHTTP bool) ClientProfile {
return ClientProfile{
clientHelloId: clientHelloId,
settings: settings,
Expand All @@ -97,6 +100,9 @@ func NewClientProfile(clientHelloId tls.ClientHelloID, settings map[http2.Settin
connectionFlow: connectionFlow,
priorities: priorities,
headerPriority: headerPriority,
// [ASSIGN THEM]
streamID: streamID,
allowHTTP: allowHTTP,
}
}

Expand Down Expand Up @@ -135,3 +141,11 @@ func (c ClientProfile) GetClientHelloId() tls.ClientHelloID {
func (c ClientProfile) GetPriorities() []http2.Priority {
return c.priorities
}

func (c ClientProfile) GetStreamID() uint32 {
return c.streamID
}

func (c ClientProfile) GetAllowHTTP() bool {
return c.allowHTTP
}
Loading