# Forward Proxy

## Configuration

### System Wide

Intercepting requests system-wide can be convenient, but has the chance of capturing unintended traffic. To intercept requests from a specific application, see the [following section](#per-terminal-session).

{% tabs %}
{% tab title="Mac" %}
{% hint style="warning" %}
This guide was written for macOS 15 Sequoia but should be similar for other versions
{% endhint %}

1. Open **System Preferences**, then click **Network**
2. Select the network service you use from the list on the left — for example, Ethernet or Wi-Fi
3. Click **Advanced...** on the bottom right
4. Select the **Proxies** tab
5. Check **Web Proxy (HTTP)** and/or optionally **Secure Web Proxy (HTTPS)**
6. For each checked protocol, under **Web Proxy Server** enter
   * `localhost` as the host
   * `8080` as the port
7. Click **OK** on the bottom right and then **Apply** on the bottom right
   {% endtab %}

{% tab title="Linux" %}
{% hint style="warning" %}
The guide was written for Ubuntu 24.04 LTS, but should be similar for other Linux distributions
{% endhint %}

1. Open **Settings**, then click **Network**
2. To the right side of the **Network Proxy** section, click the⚙️icon
3. Check **Manual**
4. Enter `localhost` as the host and `8080` as the port for one or both **HTTP Proxy** and **HTTPS Proxy**
   {% endtab %}
   {% endtabs %}

{% hint style="warning" %}
Don't forget to disable the above configuration when not in use :innocent:
{% endhint %}

### Per Terminal Session

{% hint style="info" %}
Optional if already configured system-wide
{% endhint %}

To proxy HTTP requests, set these environment variables:

```
export http_proxy=localhost:8080
export HTTP_PROXY=localhost:8080
```

To proxy HTTPS requests, set environment variables:

```
export https_proxy=localhost:8080
export HTTPS_PROXY=localhost:8080
```

To specify IP addresses or domain names to not proxy:

```
export no_proxy=localhost:1234
export NO_PROXY=localhost:1234
```
