Skip to content

Commit 5aa6efe

Browse files
johndoe3058bogdanfinn
authored andcommitted
Firefox 120
1 parent cbfec5c commit 5aa6efe

File tree

2 files changed

+144
-0
lines changed

2 files changed

+144
-0
lines changed
Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,144 @@
11
package profiles
2+
3+
import (
4+
"github.com/bogdanfinn/fhttp/http2"
5+
tls "github.com/bogdanfinn/utls"
6+
)
7+
8+
var Firefox_120 = ClientProfile{
9+
clientHelloId: tls.ClientHelloID{
10+
Client: "Firefox",
11+
RandomExtensionOrder: false,
12+
Version: "120",
13+
Seed: nil,
14+
SpecFactory: func() (tls.ClientHelloSpec, error) {
15+
return tls.ClientHelloSpec{
16+
CipherSuites: []uint16{
17+
tls.TLS_AES_128_GCM_SHA256,
18+
tls.TLS_CHACHA20_POLY1305_SHA256,
19+
tls.TLS_AES_256_GCM_SHA384,
20+
tls.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
21+
tls.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
22+
tls.TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,
23+
tls.TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,
24+
tls.TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
25+
tls.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
26+
tls.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,
27+
tls.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
28+
tls.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
29+
tls.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
30+
tls.TLS_RSA_WITH_AES_128_GCM_SHA256,
31+
tls.TLS_RSA_WITH_AES_256_GCM_SHA384,
32+
tls.TLS_RSA_WITH_AES_128_CBC_SHA,
33+
tls.TLS_RSA_WITH_AES_256_CBC_SHA,
34+
},
35+
CompressionMethods: []byte{
36+
tls.CompressionNone,
37+
},
38+
Extensions: []tls.TLSExtension{
39+
&tls.SNIExtension{},
40+
&tls.ExtendedMasterSecretExtension{},
41+
&tls.RenegotiationInfoExtension{Renegotiation: tls.RenegotiateOnceAsClient},
42+
&tls.SupportedCurvesExtension{[]tls.CurveID{
43+
tls.X25519,
44+
tls.CurveP256,
45+
tls.CurveP384,
46+
tls.CurveP521,
47+
tls.FAKEFFDHE2048,
48+
tls.FAKEFFDHE3072,
49+
}},
50+
&tls.SupportedPointsExtension{SupportedPoints: []byte{
51+
tls.PointFormatUncompressed,
52+
}},
53+
54+
&tls.ALPNExtension{AlpnProtocols: []string{"h2", "http/1.1"}},
55+
&tls.StatusRequestExtension{},
56+
&tls.DelegatedCredentialsExtension{
57+
SupportedSignatureAlgorithms: []tls.SignatureScheme{
58+
tls.ECDSAWithP256AndSHA256,
59+
tls.ECDSAWithP384AndSHA384,
60+
tls.ECDSAWithP521AndSHA512,
61+
tls.ECDSAWithSHA1,
62+
},
63+
},
64+
&tls.KeyShareExtension{[]tls.KeyShare{
65+
{Group: tls.X25519},
66+
{Group: tls.CurveP256},
67+
}},
68+
&tls.SupportedVersionsExtension{[]uint16{
69+
tls.VersionTLS13,
70+
tls.VersionTLS12,
71+
}},
72+
&tls.SignatureAlgorithmsExtension{SupportedSignatureAlgorithms: []tls.SignatureScheme{
73+
tls.ECDSAWithP256AndSHA256,
74+
tls.ECDSAWithP384AndSHA384,
75+
tls.ECDSAWithP521AndSHA512,
76+
tls.PSSWithSHA256,
77+
tls.PSSWithSHA384,
78+
tls.PSSWithSHA512,
79+
tls.PKCS1WithSHA256,
80+
tls.PKCS1WithSHA384,
81+
tls.PKCS1WithSHA512,
82+
tls.ECDSAWithSHA1,
83+
tls.PKCS1WithSHA1,
84+
}},
85+
&tls.FakeRecordSizeLimitExtension{0x4001},
86+
tls.BoringGREASEECH(),
87+
}}, nil
88+
},
89+
},
90+
settings: map[http2.SettingID]uint32{
91+
http2.SettingHeaderTableSize: 65536,
92+
http2.SettingInitialWindowSize: 131072,
93+
http2.SettingMaxFrameSize: 16384,
94+
},
95+
settingsOrder: []http2.SettingID{
96+
http2.SettingHeaderTableSize,
97+
http2.SettingInitialWindowSize,
98+
http2.SettingMaxFrameSize,
99+
},
100+
pseudoHeaderOrder: []string{
101+
":method",
102+
":path",
103+
":authority",
104+
":scheme",
105+
},
106+
connectionFlow: 12517377,
107+
headerPriority: &http2.PriorityParam{
108+
StreamDep: 13,
109+
Exclusive: false,
110+
Weight: 41,
111+
},
112+
priorities: []http2.Priority{
113+
{StreamID: 3, PriorityParam: http2.PriorityParam{
114+
StreamDep: 0,
115+
Exclusive: false,
116+
Weight: 200,
117+
}},
118+
{StreamID: 5, PriorityParam: http2.PriorityParam{
119+
StreamDep: 0,
120+
Exclusive: false,
121+
Weight: 100,
122+
}},
123+
{StreamID: 7, PriorityParam: http2.PriorityParam{
124+
StreamDep: 0,
125+
Exclusive: false,
126+
Weight: 0,
127+
}},
128+
{StreamID: 9, PriorityParam: http2.PriorityParam{
129+
StreamDep: 7,
130+
Exclusive: false,
131+
Weight: 0,
132+
}},
133+
{StreamID: 11, PriorityParam: http2.PriorityParam{
134+
StreamDep: 3,
135+
Exclusive: false,
136+
Weight: 0,
137+
}},
138+
{StreamID: 13, PriorityParam: http2.PriorityParam{
139+
StreamDep: 0,
140+
Exclusive: false,
141+
Weight: 240,
142+
}},
143+
},
144+
}

profiles/profiles.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ var MappedTLSClients = map[string]ClientProfile{
3535
"firefox_108": Firefox_108,
3636
"firefox_110": Firefox_110,
3737
"firefox_117": Firefox_117,
38+
"firefox_120": Firefox_120,
3839
"opera_89": Opera_89,
3940
"opera_90": Opera_90,
4041
"opera_91": Opera_91,

0 commit comments

Comments
 (0)