--mk3-850a6ce661774e59bbe12717a76ca4db
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Hi,

A little while ago you signed up for email updates about [HTTP Toolkit](htt=
ps://httptoolkit.com?utm_source=3Dnewsletter&utm_medium=3Demail&utm_campaig=
n=3Dblack-friday-2025).

This mailing list has been quiet for a little while (I had a baby!) but it'=
s back to business now - I have been very busy recently (alongside many won=
derful open-source contributors) and there's plenty to cover. Let's dive in=
:

Black Friday Deal
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

First up: this weekend is Black Friday/Cyber Monday, and so until Tuesday (=
December 2nd) there's now a **50% discount on all annual Pro subscriptions*=
*. Just enter `BLACKFRIDAY25` as the coupon code during checkout.

That's on top of the normal discount for annual subscriptions (approximatel=
y 30%, compared to paying monthly) and that's a recurring discount - sign u=
p at that price now, and your subscription stays discounted for as long as =
it runs. Enjoy :-)

If you were thinking about signing up for Pro eventually, or you=E2=80=99re=
just looking for an easy way to help contribute to HTTP Toolkit=E2=80=99s =
development and support open source, this is the perfect time.

=F0=9F=9A=80 Sound good? [Sign up for HTTP Toolkit Pro now](https://httptoo=
lkit.com/get-pro/?utm_source=3Dnewsletter&utm_medium=3Demail&utm_campaign=3D=
black-friday-2025) =F0=9F=9A=80

(But also: keep reading for product updates, or scroll to the end to **vote=
for what comes next**)

Product Updates
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

With that out of the way, let's run through some of the big new highlights =
in HTTP Toolkit recently:

Automatic Interception with Frida on Android & iOS
------------------------------------------------------

On rooted Android & jailbroken iOS devices, HTTP Toolkit can now:

- Automatically set up & launch [Frida](https://frida.re/?utm_source=3D=
newsletter&utm_medium=3Demail&utm_campaign=3Dblack-friday-2025)
- List the targetable apps directly on your computer
- In one click, capture all traffic from any specific app, without interfer=
ing with any of the rest of the system
- Automatically disable certificate pinning along the way, capturing most o=
f the hardest cases even normal ADB-powered setup can't intercept

This includes quite a few tricks to ensure that *all* traffic can be captur=
ed, and to disable various kinds of Frida & root/jailbreak detection as=
well. All the scripts are open source, so if you want to use & remix t=
hem yourself with Frida manually, it's easy to do: [https://github.com/http=
toolkit/frida-interception-and-unpinning/](https://github.com/httptoolkit/f=
rida-interception-and-unpinning/?utm_source=3Dnewsletter&utm_medium=3Demail=
&utm_campaign=3Dblack-friday-2025)

Want to see what it can do? Try installing & intercepting the [Android =
SSL Pinning Demo App](https://github.com/httptoolkit/android-ssl-pinning-de=
mo/?utm_source=3Dnewsletter&utm_medium=3Demail&utm_campaign=3Dblack-friday-=
2025) to see how traffic using all modern pinning libraries is successfully=
captured.

![The Android and iOS Frida interception options](https://storage.mailcoach=
.app/b969fc78-043d-488e-a014-273fe6017dea/248863/conversions/9e62df3eb1bd52=
65-image.png)

Keylog Support
--------------

Pro users can now configure a keylog file in the HTTP Toolkit settings, whi=
ch records the encryption keys for all incoming & outgoing connections.

Using this, you can use HTTP Toolkit together with tools like Wireshark, al=
lowing you to easily intercept, inspect & modify traffic at the applica=
tion level with HTTP Toolkit *and* inspect the raw byte-by-byte contents of=
every connection, including TLS fingerprint details, HTTP/2 framing, and a=
ny other low-level details that you might be interested in.

Protobuf & gRPC Inspection
------------------------------

HTTP Toolkit can now detect protobuf messages (with or without gRPC) and au=
tomatically decode them into raw data, with zero configuration or schemas r=
equired. This immediately turns a big blob of binary data into a readable s=
tructure that you can explore at your leisure.

Of course, this includes support for all your favourite edge cases too: com=
pressed messages, multiple messages in a single body, gRPC over websockets,=
gRPC-JSON, you name it.

In future, this could also support custom schema for known APIs too - jump =
down to the end to vote for this if that sounds useful to you.

![An example protobuf message body](https://storage.mailcoach.app/b969fc78-=
043d-488e-a014-273fe6017dea/248862/conversions/af754d390de4c527-image.png)

Traffic Perspectives
--------------------

When proxying traffic through HTTP Toolkit, if you transform it en route, t=
here's effectively multiple versions of the same request or response. There=
's the original request you received from the client, the transformed reque=
st that was forwarded to the server, and the equivalent server & maybe-=
modified client response on the way back (and that's before we even start t=
alking about websockets and everything else).

Previously HTTP Toolkit always showed the client perspective (initial reque=
st, final response) but now whenever there's been a modification, you'll se=
e a toggle on the request to switch between each interesting combination of=
perspectives: what the client saw, what the server saw, the original traff=
ic in both directions or the modified traffic in both directions.

As part of this, all rows are also automatically marked with a little red p=
encil icon if any transformation has happened, along with a link taking you=
to the specific rule that was applied that's shown at the top when the row=
is selected.

Moving into a multi-perspective world like this has been a very complex cha=
nge internally, but as a user this gives you a huge amount more visibility =
into exactly what's being proxied, so you can see how & where your rule=
s are being applied and exactly what the before & after looks like.

Advanced Modify Rules
---------------------

Speaking of rules & complex internal changes, HTTP Toolkit now supports=
:

- Multi-step rules (do X, then Y).
- Delay rules, allowing you to simulate latency, combinable with any other =
rule steps.
- Webhook rules, allowing you to log requests and/or responses from HTTP To=
olkit into another API elsewhere, also combinable with any other rule steps=
.
- URL transformation rules, that let you define precise match-replace trans=
formations on the host, path & query, replace them entirely, and overri=
de the protocol, so you can build complex traffic forwarding rules.
- Regex match-replace & JSON-patch body update rules, so you can precis=
ely modify any part of any HTTP message body you're interested in.

There's a lot of new firepower here! With this, it's possible to define rul=
es to do basically any transformation on any part of any request or respons=
e you might be interested in (want more similar powers over websocket traff=
ic too? Jump to the end of the email and vote for it!)

![An example complex rule, showing a webhook step, delay step & URL transfo=
rm all together](https://storage.mailcoach.app/b969fc78-043d-488e-a014-273f=
e6017dea/248872/conversions/screenshot-from-2025-11-27-16-42-37-image.png)

Mockttp v4
----------

Powering all of the low-level network interception within HTTP Toolkit is [=
Mockttp](https://github.com/httptoolkit/mockttp/?utm_source=3Dnewsletter&ut=
m_medium=3Demail&utm_campaign=3Dblack-friday-2025). Mockttp offers all the =
interception power of HTTP Toolkit, as a headless open-source library, so y=
ou can build your own custom intercepting proxies or network automation.

Mockttp v4 was recently published, which includes the core of many of the f=
eatures powering the rest of this email (all the rules changes described ab=
ove, keylogging, multiple traffic events to capture perspectives, ...) and =
also some breaking changes along the way to tighten up behaviour and better=
support edge cases, particularly around traffic routing for tunneling case=
s like SOCKS. There's a detailed explanation of all the breaking changes [h=
ere](https://github.com/httptoolkit/mockttp/releases/tag/v4.0.0?utm_source=3D=
newsletter&utm_medium=3Demail&utm_campaign=3Dblack-friday-2025).

And more...
-----------

- **Huge performance & memory usage improvements** - in intense process=
ing scenarios where you're handling tens of thousands of requests a second =
(or importing an enormous HAR file) this can speed up traffic processing by=
up to 50x, and drop memory usage for the loaded data up to 40%.
- A complete **website & product theme redesign**, with a new logo, new=
colours, and dark mode everywhere (and custom theme support for Pro users =
too).
- Support for **incoming SOCKS proxying**, in addition to the existing norm=
al HTTP proxying.
- **Pasted curl command support on the Send page** - just paste a curl comm=
and into the URL bar and it'll autofill every field for you.
- **Stricter certificate generation**, fully rewritten to closely follow th=
e rules for real-world CAs to maximize support & trust with all clients=
.
- Automatic interception for **Android TVs**, the JVM up to Java 26 (before=
it's even released!), and more browsers including Firefox dev/nightly buil=
ds & Global Chromium.
- **Code snippet support for more languages**, including Faraday in Ruby, R=
eqwest in Rust, Crystal, and Spring RestClient on the JVM.
- **Official ARM64 builds** for both Mac (Apple Silicon) and Linux (want Wi=
ndows ARM64 too? Vote [here](https://github.com/httptoolkit/httptoolkit/iss=
ues/821?utm_source=3Dnewsletter&utm_medium=3Demail&utm_campaign=3Dblack-fri=
day-2025))
- **Context menus & new keyboard shortcuts** throughout the UI for quic=
ker access to more functionality.
- HTTP Toolkit is a founding member of the **[Open Source Pledge](https://o=
pensourcepledge.com/?utm_source=3Dnewsletter&utm_medium=3Demail&utm_campaig=
n=3Dblack-friday-2025)**, committing to funding maintainers HTTP Toolkit de=
pends on, and appearing [in Times Square](https://bsky.app/profile/httptool=
kit.com/post/3m2ro5kr5ux23?utm_source=3Dnewsletter&utm_medium=3Demail&utm_c=
ampaign=3Dblack-friday-2025) along the way.
- Last but not least, HTTP Toolkit recently hit **[1 million downloads](htt=
ps://x.com/HttpToolkit/status/1993013176342855718?utm_source=3Dnewsletter&u=
tm_medium=3Demail&utm_campaign=3Dblack-friday-2025)!**

What's Next? Vote for Features!
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D

Good question. There's a few big things in the works, and some other routes=
available - it's up to you!

Click any of the links to view the issue on GitHub, and add a thumbs-up the=
re to vote for it. Feel free to vote for as many as you like, and you can a=
lso comment too to share any suggestions or feedback before design & de=
velopment fully kicks off.

- [Automatic iOS interception](https://github.com/httptoolkit/httptoolkit/i=
ssues/11?utm_source=3Dnewsletter&utm_medium=3Demail&utm_campaign=3Dblack-fr=
iday-2025). This has been on the list for quite a while, and I think it's d=
efinitely time. With this, the iOS experience will move from the current ma=
nual setup to a largely automated flow with its own app, just like Android.
- [Non-HTTP interception](https://github.com/httptoolkit/httptoolkit/issues=
/822?utm_source=3Dnewsletter&utm_medium=3Demail&utm_campaign=3Dblack-friday=
-2025). By using SOCKS for interception (recently added) we can now carry e=
xtra connection metadata, meaning we can detect & successfully proxy mo=
st non-HTTP connections as well (including decrypting any TLS, as with HTTP=
S). This would let you see the raw bytes being transferred by these other p=
rotocols alongside your HTTP traffic, and reduce issues caused by interfere=
nce with non-HTTP traffic especially on mobile devices.
- [Streaming support](https://github.com/httptoolkit/httptoolkit/issues/312=
?utm_source=3Dnewsletter&utm_medium=3Demail&utm_campaign=3Dblack-friday-202=
5). Currently in most cases only completed messages are visible. If you wan=
t to debug server-side events, this can be problematic, since you can't see=
the data until the response finishes. Internally there is now the structur=
e to dynamically stream data into the UI live - there's just a major UI ref=
actoring required to use that and make it visible.
- [Public URL support](https://github.com/httptoolkit/httptoolkit/issues/82=
3?utm_source=3Dnewsletter&utm_medium=3Demail&utm_campaign=3Dblack-friday-20=
25). With a public URL (similar to ngrok/localtunnel/Cloudflare tunnels/etc=
) for your HTTP Toolkit instance, you could test webhooks, test OAuth flows=
and safely expose local servers remotely, with all the existing power of H=
TTP Toolkit on top to debug & modify traffic as it happens.
- View page improvements in the UI, allowing [configurable columns](https:/=
/github.com/httptoolkit/httptoolkit/issues/222?utm_source=3Dnewsletter&utm_=
medium=3Demail&utm_campaign=3Dblack-friday-2025) & [multiple row select=
ions & actions](https://github.com/httptoolkit/httptoolkit/issues/76?ut=
m_source=3Dnewsletter&utm_medium=3Demail&utm_campaign=3Dblack-friday-2025).
- [Support for custom gRPC & protobuf schemas](https://github.com/httpt=
oolkit/httptoolkit/issues/559?utm_source=3Dnewsletter&utm_medium=3Demail&ut=
m_campaign=3Dblack-friday-2025), to turn raw data into a fully parsed &=
structured format for known APIs.
- [System-wide interception](https://github.com/httptoolkit/httptoolkit/iss=
ues/8?utm_source=3Dnewsletter&utm_medium=3Demail&utm_campaign=3Dblack-frida=
y-2025). This would allow you to see *everything* sent from your Windows, L=
inux or Mac machine. Noisier than targeted interception but powerful for br=
oad collection or awkward desktop apps.
- [WebSocket transform rules](https://github.com/httptoolkit/httptoolkit/is=
sues/516?utm_source=3Dnewsletter&utm_medium=3Demail&utm_campaign=3Dblack-fr=
iday-2025). Extending the existing WebSocket rules to support more transfor=
mations and automatic behaviours, similar to the many recent additions for =
plain HTTP.
- [Scripting support](https://github.com/httptoolkit/httptoolkit/issues/37?=
utm_source=3Dnewsletter&utm_medium=3Demail&utm_campaign=3Dblack-friday-2025=
) so you can write your own custom scripts within HTTP Toolkit to handle tr=
affic dynamically in any way you like.

Please vote for whichever of these would be valuable to you! You can also e=
xplore [the full list](https://github.com/httptoolkit/httptoolkit/issues?q=3D=
is:issue+state:open+sort:reactions-desc&utm_source=3Dnewsletter&utm_medium=3D=
email&utm_campaign=3Dblack-friday-2025) of issues, and [submit your own ide=
as](https://github.com/httptoolkit/httptoolkit/issues/new?template=3Dfeedba=
ck.md&utm_source=3Dnewsletter&utm_medium=3Demail&utm_campaign=3Dblack-frida=
y-2025) as well (but please check they haven't been submitted already first=
).

Oh, and don't forget - **the `BLACKFRIDAY25` deal on annual Pro accounts is=
only live until Tuesday!** Support the project by [signing up for HTTP Too=
lkit Pro now](https://httptoolkit.com/get-pro/?utm_source=3Dnewsletter&utm_=
medium=3Demail&utm_campaign=3Dblack-friday-2025).

Have any other feedback or questions? Reply to this email and let me know.

[Online version](https://http-toolkit.mailcoach.app/webview/ca=
mpaign/4f0ca2e7-3c9a-4316-8e86-a1202f2c218b) =E2=80=A2 [Unsubscribe](https:=
//http-toolkit.mailcoach.app/unsubscribe/303a5ead-69e7-4591-a0df-00a00cfe75=
d1/9fd1fc01-2a82-424f-8a58-a3c601909b9d) [Sent with Mailcoach](https://=
mailcoach.app/?utm_campaign=3Dpowered&utm_source=3Dcampaign)

--mk3-850a6ce661774e59bbe12717a76ca4db
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html>
<html><head>
<meta name=3D"viewport" content=3D"width=3Ddevice-width, initial-scale=3D=
1.0">
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3DUTF-8=
">
<meta name=3D"color-scheme" content=3D"light">
<meta name=3D"supported-color-schemes" content=3D"light">

<title>Black Friday, big new features, and the next steps for HTTP Tool=
kit</title>

<style>
/* Breakpoints */

@media only screen and (max-width: 600px) {
.inner-body {
width: 100% !important;
}

.footer {
width: 100% !important;
}
}

@media only screen and (max-width: 500px) {
.button {
width: 100% !important;
}
}

/* Base */

body,
body *:not(html):not(style):not(br):not(tr):not(code) {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Rob=
oto,
Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Em=
oji",
"Segoe UI Symbol";
box-sizing: border-box;
}

body {
height: 100%;
width: 100% !important;
background-color: #fff;
color: #333;
line-height: 1.4;
margin: 0;
-webkit-text-size-adjust: none;
}

a {
color: #3045c1;
}

a img {
border: none;
}

img {
max-width: 100%;
}

/* Typography */

h1 {
color: #333;
font-size: 21px;
font-weight: bold;
line-height: 1.2;
margin-top: 21px;
margin-bottom: 21px;
text-align: left;
}

h2 {
color: #333;
font-size: 16px;
font-weight: bold;
line-height: 1.2;
margin-top: 0;
margin-bottom: 16px;
text-align: left;
}

h3 {
color: #333;
font-size: 12px;
font-weight: bold;
line-height: 1.2;
margin-top: 0;
margin-bottom: 3px;
text-align: left;
text-transform: uppercase;
}

p {
color: #333;
font-size: 16px;
line-height: 1.5;
margin-top: 0;
text-align: left;
}

ul,
ol {
font-size: 16px;
line-height: 1.5;
padding-left: 35px;
text-align: left;
}

strong {
font-weight: 600;
}

blockquote {
background: #fafafa;
border-radius: 4px;
color: #666;
font-size: 19px;
margin: 35px 0;
padding: 25px 35px;
font-style: italic;
}

blockquote p {
font-size: 19px;
color: #666;
margin: 0px;
}

code {
font-family: ui-monospace,
Menlo, Monaco,
"Cascadia Mono", "Segoe UI Mono",
"Roboto Mono",
"Oxygen Mono",
"Ubuntu Monospace",
"Source Code Pro",
"Fira Mono",
"Droid Sans Mono",
"Courier New", monospace;
}

pre {
white-space: pre;
}

pre code {
font-size: 14px;
line-height: 1.5;
border-radius: 4px;
padding: 25px;
margin: 25px 0;
display: block;
overflow-x: auto;
white-space: pre;
}

/* Layout */

.wrapper {
background-color: #fff;
margin: 40px 0 0 0;
padding: 0;
width: 100%;
-premailer-cellpadding: 0;
-premailer-cellspacing: 0;
-premailer-width: 100%;
}

.content {
margin: 0;
padding: 0;
width: 100%;
-premailer-cellpadding: 0;
-premailer-cellspacing: 0;
-premailer-width: 100%;
}

/* Header */

.header {
padding: 50px 0;
text-align: center;
}

.header a {
color: #333;
font-size: 19px;
font-weight: 900;
text-decoration: none;
text-transform: uppercase;
letter-spacing: 1px;
}

/* Body */

.body {
margin: 0;
padding: 0;
width: 100%;
-premailer-cellpadding: 0;
-premailer-cellspacing: 0;
-premailer-width: 100%;
}

.inner-body {
background-color: #ffffff;
margin: 0 auto;
padding: 0 20px;
width: 600px;
-premailer-cellpadding: 0;
-premailer-cellspacing: 0;
-premailer-width: 600px;
}

/* Footer */

.footer {
margin: 0 auto;
padding: 50px 0;
text-align: center;
width: 600px;
color: #999;
font-size: 12px;
-premailer-cellpadding: 0;
-premailer-cellspacing: 0;
-premailer-width: 600px;
}

.footer p {
color: #999;
font-size: 12px;
text-align: center;
}

.footer a {
color: #999;
font-size: 12px;
text-decoration: none;
}

/* Buttons */

.button-wrapper {
margin: 35px 0;
text-align: center;
}

.button {
display: inline-block;
padding: 10px 24px;
background-color: #3045c1;
color: #fff;
white-space: nowrap;
border-radius: 4px;
font-weight: 700;
text-decoration: none;
}

/* Table */

.inner-body table {
width: 100%;
border-collapse: collapse;
border-spacing: 0;
margin: 25px 0;
}

.inner-body table th {
font-size: 10px;
text-align: left;
padding: 6px 10px;
background: #fafafa;
border-bottom: 1px solid #ddd;
text-transform: uppercase;
}

.inner-body table td {
font-size: 14px;
text-align: left;
padding: 6px 10px;
border-bottom: 1px solid #ddd;
}

.inner-body table td p,
.inner-body table td ul,
.inner-body table td ol {
font-size: 14px;
}
</style>
</head>

<body style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', =
Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji'=
, 'Segoe UI Symbol'; box-sizing: border-box; height: 100%; width: 100% !imp=
ortant; background-color: #fff; color: #333; line-height: 1.4; margin: 0; -=
webkit-text-size-adjust: none;">
<table class=3D"wrapper" width=3D"100%" cellpadding=3D"0" cellspacing=3D"0"=
role=3D"presentation" style=3D"font-family: -apple-system, BlinkMacSystemF=
ont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji',=
'Segoe UI Emoji', 'Segoe UI Symbol'; box-sizing: border-box; background-co=
lor: #fff; margin: 40px 0 0 0; padding: 0; width: 100%; -premailer-cellpadd=
ing: 0; -premailer-cellspacing: 0; -premailer-width: 100%;">
<tr>
<td align=3D"center" style=3D"font-family: -apple-system, BlinkMacS=
ystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color E=
moji', 'Segoe UI Emoji', 'Segoe UI Symbol'; box-sizing: border-box;">
<table class=3D"content" width=3D"100%" cellpadding=3D"0" cells=
pacing=3D"0" role=3D"presentation" style=3D"font-family: -apple-system, Bli=
nkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple C=
olor Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; box-sizing: border-box; m=
argin: 0; padding: 0; width: 100%; -premailer-cellpadding: 0; -premailer-ce=
llspacing: 0; -premailer-width: 100%;">
<!-- Body -->
<tr>
<td class=3D"body" width=3D"100%" cellpadding=3D"0" cel=
lspacing=3D"0" style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Se=
goe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe =
UI Emoji', 'Segoe UI Symbol'; box-sizing: border-box; margin: 0; padding: 0=
; width: 100%; -premailer-cellpadding: 0; -premailer-cellspacing: 0; -prema=
iler-width: 100%;">
<table class=3D"inner-body" align=3D"center" width=3D=
"600" cellpadding=3D"0" cellspacing=3D"0" role=3D"presentation" style=3D"fo=
nt-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica=
, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbo=
l'; box-sizing: border-box; background-color: #ffffff; margin: 0 auto; padd=
ing: 0 20px; width: 600px; -premailer-cellpadding: 0; -premailer-cellspacin=
g: 0; -premailer-width: 600px;">
<tr>
<td style=3D"font-family: -apple-system, Bl=
inkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple =
Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; box-sizing: border-box;"=
>
<!-- Body Content -->
<p style=3D"font-family: -apple-system,=
BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'App=
le Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; box-sizing: border-bo=
x; color: #333; font-size: 16px; line-height: 1.5; margin-top: 0; text-alig=
n: left;">Hi,</p>
<p style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Rob=
oto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', '=
Segoe UI Symbol'; box-sizing: border-box; color: #333; font-size: 16px; lin=
e-height: 1.5; margin-top: 0; text-align: left;">A little while ago you sig=
ned up for email updates about <a href=3D"https://httptoolkit.com?utm_sourc=
e=3Dnewsletter&utm_medium=3Demail&utm_campaign=3Dblack-friday-2025"=
style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Robot=
o, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Se=
goe UI Symbol'; box-sizing: border-box; color: #3045c1;">HTTP Toolkit</a>.<=
/p>
<p style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Rob=
oto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', '=
Segoe UI Symbol'; box-sizing: border-box; color: #333; font-size: 16px; lin=
e-height: 1.5; margin-top: 0; text-align: left;">This mailing list has been=
quiet for a little while (I had a baby!) but it's back to business now - I=
have been very busy recently (alongside many wonderful open-source contrib=
utors) and there's plenty to cover. Let's dive in:</p>
<h1 style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Ro=
boto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', =
'Segoe UI Symbol'; box-sizing: border-box; color: #333; font-size: 21px; fo=
nt-weight: bold; line-height: 1.2; margin-top: 21px; margin-bottom: 21px; t=
ext-align: left;">Black Friday Deal</h1>
<p style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Rob=
oto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', '=
Segoe UI Symbol'; box-sizing: border-box; color: #333; font-size: 16px; lin=
e-height: 1.5; margin-top: 0; text-align: left;">First up: this weekend is =
Black Friday/Cyber Monday, and so until Tuesday (December 2nd) there's now =
a <strong style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe U=
I', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Em=
oji', 'Segoe UI Symbol'; box-sizing: border-box; font-weight: 600;">50% dis=
count on all annual Pro subscriptions</strong>. Just enter <code style=3D"f=
ont-family: ui-monospace, Menlo, Monaco, 'Cascadia Mono', 'Segoe UI Mono', =
'Roboto Mono', 'Oxygen Mono', 'Ubuntu Monospace', 'Source Code Pro', 'Fira =
Mono', 'Droid Sans Mono', 'Courier New', monospace;">BLACKFRIDAY25</code> a=
s the coupon code during checkout.</p>
<p style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Rob=
oto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', '=
Segoe UI Symbol'; box-sizing: border-box; color: #333; font-size: 16px; lin=
e-height: 1.5; margin-top: 0; text-align: left;">That's on top of the norma=
l discount for annual subscriptions (approximately 30%, compared to paying =
monthly) and that's a recurring discount - sign up at that price now, and y=
our subscription stays discounted for as long as it runs. Enjoy :-)</p>
<p style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Rob=
oto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', '=
Segoe UI Symbol'; box-sizing: border-box; color: #333; font-size: 16px; lin=
e-height: 1.5; margin-top: 0; text-align: left;">If you were thinking about=
signing up for Pro eventually, or you=E2=80=99re just looking for an easy =
way to help contribute to HTTP Toolkit=E2=80=99s development and support op=
en source, this is the perfect time.</p>
<p style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Rob=
oto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', '=
Segoe UI Symbol'; box-sizing: border-box; color: #333; font-size: 16px; lin=
e-height: 1.5; margin-top: 0; text-align: left;">=F0=9F=9A=80 Sound good? <=
a href=3D"https://httptoolkit.com/get-pro/?utm_source=3Dnewsletter&utm_=
medium=3Demail&utm_campaign=3Dblack-friday-2025" style=3D"font-family: =
-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sa=
ns-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; box-siz=
ing: border-box; color: #3045c1;">Sign up for HTTP Toolkit Pro now</a> =F0=9F=
=9A=80</p>
<p style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Rob=
oto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', '=
Segoe UI Symbol'; box-sizing: border-box; color: #333; font-size: 16px; lin=
e-height: 1.5; margin-top: 0; text-align: left;">(But also: keep reading fo=
r product updates, or scroll to the end to <strong style=3D"font-family: -a=
pple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans=
-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; box-sizin=
g: border-box; font-weight: 600;">vote for what comes next</strong>)</p>
<h1 style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Ro=
boto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', =
'Segoe UI Symbol'; box-sizing: border-box; color: #333; font-size: 21px; fo=
nt-weight: bold; line-height: 1.2; margin-top: 21px; margin-bottom: 21px; t=
ext-align: left;">Product Updates</h1>
<p style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Rob=
oto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', '=
Segoe UI Symbol'; box-sizing: border-box; color: #333; font-size: 16px; lin=
e-height: 1.5; margin-top: 0; text-align: left;">With that out of the way, =
let's run through some of the big new highlights in HTTP Toolkit recently:<=
/p>
<h2 style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Ro=
boto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', =
'Segoe UI Symbol'; box-sizing: border-box; color: #333; font-size: 16px; fo=
nt-weight: bold; line-height: 1.2; margin-top: 0; margin-bottom: 16px; text=
-align: left;">Automatic Interception with Frida on Android & iOS</h2>
<p style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Rob=
oto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', '=
Segoe UI Symbol'; box-sizing: border-box; color: #333; font-size: 16px; lin=
e-height: 1.5; margin-top: 0; text-align: left;">On rooted Android & ja=
ilbroken iOS devices, HTTP Toolkit can now:</p>
<ul style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Ro=
boto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', =
'Segoe UI Symbol'; box-sizing: border-box; font-size: 16px; line-height: 1.=
5; padding-left: 35px; text-align: left;">
<li style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Ro=
boto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', =
'Segoe UI Symbol'; box-sizing: border-box;">Automatically set up & laun=
ch <a href=3D"https://frida.re/?utm_source=3Dnewsletter&utm_medium=3Dem=
ail&utm_campaign=3Dblack-friday-2025" style=3D"font-family: -apple-syst=
em, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, '=
Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; box-sizing: border=
-box; color: #3045c1;">Frida</a>
</li>
<li style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Ro=
boto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', =
'Segoe UI Symbol'; box-sizing: border-box;">List the targetable apps direct=
ly on your computer</li>
<li style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Ro=
boto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', =
'Segoe UI Symbol'; box-sizing: border-box;">In one click, capture all traff=
ic from any specific app, without interfering with any of the rest of the s=
ystem</li>
<li style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Ro=
boto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', =
'Segoe UI Symbol'; box-sizing: border-box;">Automatically disable certifica=
te pinning along the way, capturing most of the hardest cases even normal A=
DB-powered setup can't intercept</li>
</ul>
<p style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Rob=
oto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', '=
Segoe UI Symbol'; box-sizing: border-box; color: #333; font-size: 16px; lin=
e-height: 1.5; margin-top: 0; text-align: left;">This includes quite a few =
tricks to ensure that <em style=3D"font-family: -apple-system, BlinkMacSyst=
emFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoj=
i', 'Segoe UI Emoji', 'Segoe UI Symbol'; box-sizing: border-box;">all</em> =
traffic can be captured, and to disable various kinds of Frida & root/j=
ailbreak detection as well. All the scripts are open source, so if you want=
to use & remix them yourself with Frida manually, it's easy to do: <a =
href=3D"https://github.com/httptoolkit/frida-interception-and-unpinning/?ut=
m_source=3Dnewsletter&utm_medium=3Demail&utm_campaign=3Dblack-frida=
y-2025" style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI'=
, Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoj=
i', 'Segoe UI Symbol'; box-sizing: border-box; color: #3045c1;">https://git=
hub.com/httptoolkit/frida-interception-and-unpinning/</a></p>
<p style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Rob=
oto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', '=
Segoe UI Symbol'; box-sizing: border-box; color: #333; font-size: 16px; lin=
e-height: 1.5; margin-top: 0; text-align: left;">Want to see what it can do=
? Try installing & intercepting the <a href=3D"https://github.com/httpt=
oolkit/android-ssl-pinning-demo/?utm_source=3Dnewsletter&utm_medium=3De=
mail&utm_campaign=3Dblack-friday-2025" style=3D"font-family: -apple-sys=
tem, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, =
'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; box-sizing: borde=
r-box; color: #3045c1;">Android SSL Pinning Demo App</a> to see how traffic=
using all modern pinning libraries is successfully captured.</p>
<p style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Rob=
oto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', '=
Segoe UI Symbol'; box-sizing: border-box; color: #333; font-size: 16px; lin=
e-height: 1.5; margin-top: 0; text-align: left;"><img src=3D"https://storag=
e.mailcoach.app/b969fc78-043d-488e-a014-273fe6017dea/248863/conversions/9e6=
2df3eb1bd5265-image.png" alt=3D"The Android and iOS Frida interception opti=
ons" style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', R=
oboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',=
'Segoe UI Symbol'; box-sizing: border-box; max-width: 100%;"></p>
<h2 style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Ro=
boto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', =
'Segoe UI Symbol'; box-sizing: border-box; color: #333; font-size: 16px; fo=
nt-weight: bold; line-height: 1.2; margin-top: 0; margin-bottom: 16px; text=
-align: left;">Keylog Support</h2>
<p style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Rob=
oto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', '=
Segoe UI Symbol'; box-sizing: border-box; color: #333; font-size: 16px; lin=
e-height: 1.5; margin-top: 0; text-align: left;">Pro users can now configur=
e a keylog file in the HTTP Toolkit settings, which records the encryption =
keys for all incoming & outgoing connections.</p>
<p style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Rob=
oto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', '=
Segoe UI Symbol'; box-sizing: border-box; color: #333; font-size: 16px; lin=
e-height: 1.5; margin-top: 0; text-align: left;">Using this, you can use HT=
TP Toolkit together with tools like Wireshark, allowing you to easily inter=
cept, inspect & modify traffic at the application level with HTTP Toolk=
it <em style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI',=
Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji=
', 'Segoe UI Symbol'; box-sizing: border-box;">and</em> inspect the raw byt=
e-by-byte contents of every connection, including TLS fingerprint details, =
HTTP/2 framing, and any other low-level details that you might be intereste=
d in.</p>
<h2 style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Ro=
boto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', =
'Segoe UI Symbol'; box-sizing: border-box; color: #333; font-size: 16px; fo=
nt-weight: bold; line-height: 1.2; margin-top: 0; margin-bottom: 16px; text=
-align: left;">Protobuf & gRPC Inspection</h2>
<p style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Rob=
oto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', '=
Segoe UI Symbol'; box-sizing: border-box; color: #333; font-size: 16px; lin=
e-height: 1.5; margin-top: 0; text-align: left;">HTTP Toolkit can now detec=
t protobuf messages (with or without gRPC) and automatically decode them in=
to raw data, with zero configuration or schemas required. This immediately =
turns a big blob of binary data into a readable structure that you can expl=
ore at your leisure.</p>
<p style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Rob=
oto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', '=
Segoe UI Symbol'; box-sizing: border-box; color: #333; font-size: 16px; lin=
e-height: 1.5; margin-top: 0; text-align: left;">Of course, this includes s=
upport for all your favourite edge cases too: compressed messages, multiple=
messages in a single body, gRPC over websockets, gRPC-JSON, you name it.</=
p>
<p style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Rob=
oto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', '=
Segoe UI Symbol'; box-sizing: border-box; color: #333; font-size: 16px; lin=
e-height: 1.5; margin-top: 0; text-align: left;">In future, this could also=
support custom schema for known APIs too - jump down to the end to vote fo=
r this if that sounds useful to you.</p>
<p style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Rob=
oto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', '=
Segoe UI Symbol'; box-sizing: border-box; color: #333; font-size: 16px; lin=
e-height: 1.5; margin-top: 0; text-align: left;"><img src=3D"https://storag=
e.mailcoach.app/b969fc78-043d-488e-a014-273fe6017dea/248862/conversions/af7=
54d390de4c527-image.png" alt=3D"An example protobuf message body" style=3D"=
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helveti=
ca, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Sym=
bol'; box-sizing: border-box; max-width: 100%;"></p>
<h2 style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Ro=
boto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', =
'Segoe UI Symbol'; box-sizing: border-box; color: #333; font-size: 16px; fo=
nt-weight: bold; line-height: 1.2; margin-top: 0; margin-bottom: 16px; text=
-align: left;">Traffic Perspectives</h2>
<p style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Rob=
oto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', '=
Segoe UI Symbol'; box-sizing: border-box; color: #333; font-size: 16px; lin=
e-height: 1.5; margin-top: 0; text-align: left;">When proxying traffic thro=
ugh HTTP Toolkit, if you transform it en route, there's effectively multipl=
e versions of the same request or response. There's the original request yo=
u received from the client, the transformed request that was forwarded to t=
he server, and the equivalent server & maybe-modified client response o=
n the way back (and that's before we even start talking about websockets an=
d everything else).</p>
<p style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Rob=
oto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', '=
Segoe UI Symbol'; box-sizing: border-box; color: #333; font-size: 16px; lin=
e-height: 1.5; margin-top: 0; text-align: left;">Previously HTTP Toolkit al=
ways showed the client perspective (initial request, final response) but no=
w whenever there's been a modification, you'll see a toggle on the request =
to switch between each interesting combination of perspectives: what the cl=
ient saw, what the server saw, the original traffic in both directions or t=
he modified traffic in both directions.</p>
<p style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Rob=
oto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', '=
Segoe UI Symbol'; box-sizing: border-box; color: #333; font-size: 16px; lin=
e-height: 1.5; margin-top: 0; text-align: left;">As part of this, all rows =
are also automatically marked with a little red pencil icon if any transfor=
mation has happened, along with a link taking you to the specific rule that=
was applied that's shown at the top when the row is selected.</p>
<p style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Rob=
oto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', '=
Segoe UI Symbol'; box-sizing: border-box; color: #333; font-size: 16px; lin=
e-height: 1.5; margin-top: 0; text-align: left;">Moving into a multi-perspe=
ctive world like this has been a very complex change internally, but as a u=
ser this gives you a huge amount more visibility into exactly what's being =
proxied, so you can see how & where your rules are being applied and ex=
actly what the before & after looks like.</p>
<h2 style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Ro=
boto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', =
'Segoe UI Symbol'; box-sizing: border-box; color: #333; font-size: 16px; fo=
nt-weight: bold; line-height: 1.2; margin-top: 0; margin-bottom: 16px; text=
-align: left;">Advanced Modify Rules</h2>
<p style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Rob=
oto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', '=
Segoe UI Symbol'; box-sizing: border-box; color: #333; font-size: 16px; lin=
e-height: 1.5; margin-top: 0; text-align: left;">Speaking of rules & co=
mplex internal changes, HTTP Toolkit now supports:</p>
<ul style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Ro=
boto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', =
'Segoe UI Symbol'; box-sizing: border-box; font-size: 16px; line-height: 1.=
5; padding-left: 35px; text-align: left;">
<li style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Ro=
boto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', =
'Segoe UI Symbol'; box-sizing: border-box;">Multi-step rules (do X, then Y)=
.</li>
<li style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Ro=
boto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', =
'Segoe UI Symbol'; box-sizing: border-box;">Delay rules, allowing you to si=
mulate latency, combinable with any other rule steps.</li>
<li style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Ro=
boto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', =
'Segoe UI Symbol'; box-sizing: border-box;">Webhook rules, allowing you to =
log requests and/or responses from HTTP Toolkit into another API elsewhere,=
also combinable with any other rule steps.</li>
<li style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Ro=
boto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', =
'Segoe UI Symbol'; box-sizing: border-box;">URL transformation rules, that =
let you define precise match-replace transformations on the host, path &amp=
; query, replace them entirely, and override the protocol, so you can build=
complex traffic forwarding rules.</li>
<li style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Ro=
boto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', =
'Segoe UI Symbol'; box-sizing: border-box;">Regex match-replace & JSON-=
patch body update rules, so you can precisely modify any part of any HTTP m=
essage body you're interested in.</li>
</ul>
<p style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Rob=
oto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', '=
Segoe UI Symbol'; box-sizing: border-box; color: #333; font-size: 16px; lin=
e-height: 1.5; margin-top: 0; text-align: left;">There's a lot of new firep=
ower here! With this, it's possible to define rules to do basically any tra=
nsformation on any part of any request or response you might be interested =
in (want more similar powers over websocket traffic too? Jump to the end of=
the email and vote for it!)</p>
<p style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Rob=
oto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', '=
Segoe UI Symbol'; box-sizing: border-box; color: #333; font-size: 16px; lin=
e-height: 1.5; margin-top: 0; text-align: left;"><img src=3D"https://storag=
e.mailcoach.app/b969fc78-043d-488e-a014-273fe6017dea/248872/conversions/scr=
eenshot-from-2025-11-27-16-42-37-image.png" alt=3D"An example complex rule,=
showing a webhook step, delay step & URL transform all together" style=
=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Hel=
vetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI=
Symbol'; box-sizing: border-box; max-width: 100%;"></p>
<h2 style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Ro=
boto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', =
'Segoe UI Symbol'; box-sizing: border-box; color: #333; font-size: 16px; fo=
nt-weight: bold; line-height: 1.2; margin-top: 0; margin-bottom: 16px; text=
-align: left;">Mockttp v4</h2>
<p style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Rob=
oto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', '=
Segoe UI Symbol'; box-sizing: border-box; color: #333; font-size: 16px; lin=
e-height: 1.5; margin-top: 0; text-align: left;">Powering all of the low-le=
vel network interception within HTTP Toolkit is <a href=3D"https://github.c=
om/httptoolkit/mockttp/?utm_source=3Dnewsletter&utm_medium=3Demail&=
utm_campaign=3Dblack-friday-2025" style=3D"font-family: -apple-system, Blin=
kMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Co=
lor Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; box-sizing: border-box; co=
lor: #3045c1;">Mockttp</a>. Mockttp offers all the interception power of HT=
TP Toolkit, as a headless open-source library, so you can build your own cu=
stom intercepting proxies or network automation.</p>
<p style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Rob=
oto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', '=
Segoe UI Symbol'; box-sizing: border-box; color: #333; font-size: 16px; lin=
e-height: 1.5; margin-top: 0; text-align: left;">Mockttp v4 was recently pu=
blished, which includes the core of many of the features powering the rest =
of this email (all the rules changes described above, keylogging, multiple =
traffic events to capture perspectives, ...) and also some breaking changes=
along the way to tighten up behaviour and better support edge cases, parti=
cularly around traffic routing for tunneling cases like SOCKS. There's a de=
tailed explanation of all the breaking changes <a href=3D"https://github.co=
m/httptoolkit/mockttp/releases/tag/v4.0.0?utm_source=3Dnewsletter&utm_m=
edium=3Demail&utm_campaign=3Dblack-friday-2025" style=3D"font-family: -=
apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, san=
s-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; box-sizi=
ng: border-box; color: #3045c1;">here</a>.</p>
<h2 style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Ro=
boto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', =
'Segoe UI Symbol'; box-sizing: border-box; color: #333; font-size: 16px; fo=
nt-weight: bold; line-height: 1.2; margin-top: 0; margin-bottom: 16px; text=
-align: left;">And more...</h2>
<ul style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Ro=
boto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', =
'Segoe UI Symbol'; box-sizing: border-box; font-size: 16px; line-height: 1.=
5; padding-left: 35px; text-align: left;">
<li style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Ro=
boto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', =
'Segoe UI Symbol'; box-sizing: border-box;">
<strong style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI'=
, Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoj=
i', 'Segoe UI Symbol'; box-sizing: border-box; font-weight: 600;">Huge perf=
ormance & memory usage improvements</strong> - in intense processing sc=
enarios where you're handling tens of thousands of requests a second (or im=
porting an enormous HAR file) this can speed up traffic processing by up to=
50x, and drop memory usage for the loaded data up to 40%.</li>
<li style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Ro=
boto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', =
'Segoe UI Symbol'; box-sizing: border-box;">A complete <strong style=3D"fon=
t-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica,=
Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol=
'; box-sizing: border-box; font-weight: 600;">website & product theme r=
edesign</strong>, with a new logo, new colours, and dark mode everywhere (a=
nd custom theme support for Pro users too).</li>
<li style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Ro=
boto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', =
'Segoe UI Symbol'; box-sizing: border-box;">Support for <strong style=3D"fo=
nt-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica=
, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbo=
l'; box-sizing: border-box; font-weight: 600;">incoming SOCKS proxying</str=
ong>, in addition to the existing normal HTTP proxying.</li>
<li style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Ro=
boto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', =
'Segoe UI Symbol'; box-sizing: border-box;">
<strong style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI'=
, Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoj=
i', 'Segoe UI Symbol'; box-sizing: border-box; font-weight: 600;">Pasted cu=
rl command support on the Send page</strong> - just paste a curl command in=
to the URL bar and it'll autofill every field for you.</li>
<li style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Ro=
boto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', =
'Segoe UI Symbol'; box-sizing: border-box;">
<strong style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI'=
, Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoj=
i', 'Segoe UI Symbol'; box-sizing: border-box; font-weight: 600;">Stricter =
certificate generation</strong>, fully rewritten to closely follow the rule=
s for real-world CAs to maximize support & trust with all clients.</li>
<li style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Ro=
boto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', =
'Segoe UI Symbol'; box-sizing: border-box;">Automatic interception for <str=
ong style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Ro=
boto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', =
'Segoe UI Symbol'; box-sizing: border-box; font-weight: 600;">Android TVs</=
strong>, the JVM up to Java 26 (before it's even released!), and more brows=
ers including Firefox dev/nightly builds & Global Chromium.</li>
<li style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Ro=
boto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', =
'Segoe UI Symbol'; box-sizing: border-box;">
<strong style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI'=
, Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoj=
i', 'Segoe UI Symbol'; box-sizing: border-box; font-weight: 600;">Code snip=
pet support for more languages</strong>, including Faraday in Ruby, Reqwest=
in Rust, Crystal, and Spring RestClient on the JVM.</li>
<li style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Ro=
boto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', =
'Segoe UI Symbol'; box-sizing: border-box;">
<strong style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI'=
, Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoj=
i', 'Segoe UI Symbol'; box-sizing: border-box; font-weight: 600;">Official =
ARM64 builds</strong> for both Mac (Apple Silicon) and Linux (want Windows =
ARM64 too? Vote <a href=3D"https://github.com/httptoolkit/httptoolkit/issue=
s/821?utm_source=3Dnewsletter&utm_medium=3Demail&utm_campaign=3Dbla=
ck-friday-2025" style=3D"font-family: -apple-system, BlinkMacSystemFont, 'S=
egoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe=
UI Emoji', 'Segoe UI Symbol'; box-sizing: border-box; color: #3045c1;">her=
e</a>)</li>
<li style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Ro=
boto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', =
'Segoe UI Symbol'; box-sizing: border-box;">
<strong style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI'=
, Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoj=
i', 'Segoe UI Symbol'; box-sizing: border-box; font-weight: 600;">Context m=
enus & new keyboard shortcuts</strong> throughout the UI for quicker ac=
cess to more functionality.</li>
<li style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Ro=
boto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', =
'Segoe UI Symbol'; box-sizing: border-box;">HTTP Toolkit is a founding memb=
er of the <strong style=3D"font-family: -apple-system, BlinkMacSystemFont, =
'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Seg=
oe UI Emoji', 'Segoe UI Symbol'; box-sizing: border-box; font-weight: 600;"=
><a href=3D"https://opensourcepledge.com/?utm_source=3Dnewsletter&utm_m=
edium=3Demail&utm_campaign=3Dblack-friday-2025" style=3D"font-family: -=
apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, san=
s-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; box-sizi=
ng: border-box; color: #3045c1;">Open Source Pledge</a></strong>, committin=
g to funding maintainers HTTP Toolkit depends on, and appearing <a href=3D"=
https://bsky.app/profile/httptoolkit.com/post/3m2ro5kr5ux23?utm_source=3Dne=
wsletter&utm_medium=3Demail&utm_campaign=3Dblack-friday-2025" style=
=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Hel=
vetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI=
Symbol'; box-sizing: border-box; color: #3045c1;">in Times Square</a> alon=
g the way.</li>
<li style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Ro=
boto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', =
'Segoe UI Symbol'; box-sizing: border-box;">Last but not least, HTTP Toolki=
t recently hit <strong style=3D"font-family: -apple-system, BlinkMacSystemF=
ont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji',=
'Segoe UI Emoji', 'Segoe UI Symbol'; box-sizing: border-box; font-weight: =
600;"><a href=3D"https://x.com/HttpToolkit/status/1993013176342855718?utm_s=
ource=3Dnewsletter&utm_medium=3Demail&utm_campaign=3Dblack-friday-2=
025" style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', R=
oboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',=
'Segoe UI Symbol'; box-sizing: border-box; color: #3045c1;">1 million down=
loads</a>!</strong>
</li>
</ul>
<h1 style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Ro=
boto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', =
'Segoe UI Symbol'; box-sizing: border-box; color: #333; font-size: 21px; fo=
nt-weight: bold; line-height: 1.2; margin-top: 21px; margin-bottom: 21px; t=
ext-align: left;">What's Next? Vote for Features!</h1>
<p style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Rob=
oto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', '=
Segoe UI Symbol'; box-sizing: border-box; color: #333; font-size: 16px; lin=
e-height: 1.5; margin-top: 0; text-align: left;">Good question. There's a f=
ew big things in the works, and some other routes available - it's up to yo=
u!</p>
<p style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Rob=
oto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', '=
Segoe UI Symbol'; box-sizing: border-box; color: #333; font-size: 16px; lin=
e-height: 1.5; margin-top: 0; text-align: left;">Click any of the links to =
view the issue on GitHub, and add a thumbs-up there to vote for it. Feel fr=
ee to vote for as many as you like, and you can also comment too to share a=
ny suggestions or feedback before design & development fully kicks off.=
</p>
<ul style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Ro=
boto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', =
'Segoe UI Symbol'; box-sizing: border-box; font-size: 16px; line-height: 1.=
5; padding-left: 35px; text-align: left;">
<li style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Ro=
boto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', =
'Segoe UI Symbol'; box-sizing: border-box;">
<a href=3D"https://github.com/httptoolkit/httptoolkit/issues/11?utm_source=3D=
newsletter&utm_medium=3Demail&utm_campaign=3Dblack-friday-2025" sty=
le=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, H=
elvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe =
UI Symbol'; box-sizing: border-box; color: #3045c1;">Automatic iOS intercep=
tion</a>. This has been on the list for quite a while, and I think it's def=
initely time. With this, the iOS experience will move from the current manu=
al setup to a largely automated flow with its own app, just like Android.</=
li>
<li style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Ro=
boto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', =
'Segoe UI Symbol'; box-sizing: border-box;">
<a href=3D"https://github.com/httptoolkit/httptoolkit/issues/822?utm_source=
=3Dnewsletter&utm_medium=3Demail&utm_campaign=3Dblack-friday-2025" =
style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto=
, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Seg=
oe UI Symbol'; box-sizing: border-box; color: #3045c1;">Non-HTTP intercepti=
on</a>. By using SOCKS for interception (recently added) we can now carry e=
xtra connection metadata, meaning we can detect & successfully proxy mo=
st non-HTTP connections as well (including decrypting any TLS, as with HTTP=
S). This would let you see the raw bytes being transferred by these other p=
rotocols alongside your HTTP traffic, and reduce issues caused by interfere=
nce with non-HTTP traffic especially on mobile devices.</li>
<li style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Ro=
boto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', =
'Segoe UI Symbol'; box-sizing: border-box;">
<a href=3D"https://github.com/httptoolkit/httptoolkit/issues/312?utm_source=
=3Dnewsletter&utm_medium=3Demail&utm_campaign=3Dblack-friday-2025" =
style=3D"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto=
,