diff --git a/docs/src/content/_index.md b/docs/src/content/_index.md
index 5aaed86bb..2f2bc6923 100644
--- a/docs/src/content/_index.md
+++ b/docs/src/content/_index.md
@@ -21,7 +21,7 @@ mitmproxy is a set of tools that provide an interactive, SSL/TLS-capable interce
- Transparent proxy mode on macOS and Linux
- Make scripted changes to HTTP traffic using Python
- SSL/TLS certificates for interception are generated on the fly
-- And [much, much more...]({{< relref "concepts-advancedfeatures">}})
+- And [much, much more...]({{< relref "overview-features">}})
## 3 Powerful Core Tools
@@ -111,7 +111,7 @@ to another:
mitmdump -nC srcfile -w dstfile
```
-See the [client-side replay]({{< relref "concepts-advancedfeatures#client-side-replay"
+See the [client-side replay]({{< relref "overview-features#client-side-replay"
>}}) section for more information.
#### Running a script
diff --git a/docs/src/content/addons-overview.md b/docs/src/content/addons-overview.md
index e286d6efc..cc35eaa28 100644
--- a/docs/src/content/addons-overview.md
+++ b/docs/src/content/addons-overview.md
@@ -20,8 +20,8 @@ Addons are an exceptionally powerful part of mitmproxy. In fact, much of
mitmproxy's own functionality is defined in [a suite of built-in
addons](https://github.com/mitmproxy/mitmproxy/tree/master/mitmproxy/addons),
implementing everything from functionality like [anticaching]({{< relref
-"concepts-advancedfeatures#anticache" >}}) and [sticky cookies]({{< relref
-"concepts-advancedfeatures#sticky-cookies" >}}) to our onboarding webapp. The built-in
+"overview-features#anticache" >}}) and [sticky cookies]({{< relref
+"overview-features#sticky-cookies" >}}) to our onboarding webapp. The built-in
addons make for instructive reading, and you will quickly see that quite complex
functionality can often boil down to a very small, completely self-contained
modules. Mitmproxy provides the exact same set of facilities it uses for its own
diff --git a/docs/src/content/concepts-howmitmproxyworks.md b/docs/src/content/concepts-howmitmproxyworks.md
index a93843b22..e8d41cb0d 100644
--- a/docs/src/content/concepts-howmitmproxyworks.md
+++ b/docs/src/content/concepts-howmitmproxyworks.md
@@ -100,7 +100,7 @@ information to initiate the pipe, even though it doesn't reveal the
remote hostname.
Mitmproxy has a cunning mechanism that smooths this over - [upstream certificate
-sniffing]({{< relref "concepts-advancedfeatures#upstream-certificates" >}}). As soon as
+sniffing]({{< relref "overview-features#upstream-certificates" >}}). As soon as
we see the CONNECT request, we pause the client part of the conversation, and
initiate a simultaneous connection to the server. We complete the TLS handshake
with the server, and inspect the certificates it used. Now, we use the Common
diff --git a/docs/src/content/howto-ignoredomains.md b/docs/src/content/howto-ignoredomains.md
index 262d0f8ec..e2bb222cf 100644
--- a/docs/src/content/howto-ignoredomains.md
+++ b/docs/src/content/howto-ignoredomains.md
@@ -21,7 +21,7 @@ mitmproxy's interception mechanism:
If you want to peek into (SSL-protected) non-HTTP connections, check out the
**tcp_proxy** feature. If you want to ignore traffic from mitmproxy's processing
-because of large response bodies, take a look at the [streaming]({{< relref "concepts-advancedfeatures#streaming" >}}) feature.
+because of large response bodies, take a look at the [streaming]({{< relref "overview-features#streaming" >}}) feature.
## ignore_hosts
diff --git a/docs/src/content/mitmproxytutorial-replayrequests.md b/docs/src/content/mitmproxytutorial-replayrequests.md
index 97a0acd73..7ee82cd25 100644
--- a/docs/src/content/mitmproxytutorial-replayrequests.md
+++ b/docs/src/content/mitmproxytutorial-replayrequests.md
@@ -15,7 +15,7 @@ Two types of replays are supported:
* **Server-side Replay:** mitmproxy replays server responses for requests that match an earlier recorded request.
In this tutorial we focus on the more common use case of client-side replays.
-See the docs for more info on [server-side replay]({{< relref "concepts-advancedfeatures#server-side-replay" >}}).
+See the docs for more info on [server-side replay]({{< relref "overview-features#server-side-replay" >}}).
{{% asciicast file="mitmproxy_replay_requests" poster="0:3" instructions=true %}}
diff --git a/docs/src/content/concepts-advancedfeatures.md b/docs/src/content/overview-features.md
similarity index 99%
rename from docs/src/content/concepts-advancedfeatures.md
rename to docs/src/content/overview-features.md
index f63e69c0f..a8b65bd1e 100644
--- a/docs/src/content/concepts-advancedfeatures.md
+++ b/docs/src/content/overview-features.md
@@ -1,11 +1,11 @@
---
-title: "Advanced features"
+title: "Features"
menu:
concepts:
weight: 4
---
-# Mitmproxy Advanced Features
+# Features
- [Anticache](#anticache)
diff --git a/mitmproxy/tools/web/static/app.js b/mitmproxy/tools/web/static/app.js
index 54d45f395..e02d7eb69 100644
Binary files a/mitmproxy/tools/web/static/app.js and b/mitmproxy/tools/web/static/app.js differ
diff --git a/web/src/js/__tests__/components/Header/__snapshots__/OptionMenuSpec.js.snap b/web/src/js/__tests__/components/Header/__snapshots__/OptionMenuSpec.js.snap
index f76a0e914..57ba99e90 100644
--- a/web/src/js/__tests__/components/Header/__snapshots__/OptionMenuSpec.js.snap
+++ b/web/src/js/__tests__/components/Header/__snapshots__/OptionMenuSpec.js.snap
@@ -17,7 +17,7 @@ exports[`OptionMenu Component should render correctly 1`] = `
- Edit Options
+ Edit Options
alpha
@@ -44,9 +44,9 @@ exports[`OptionMenu Component should render correctly 1`] = `
onChange={[Function]}
type="checkbox"
/>
- Strip cache headers
+ Strip cache headers