# Ubuntu

[**Ubuntu**](https://ubuntu.com/) is an open-source software operating system on Linux for enterprise servers, desktops, the cloud, and IoT.

There are multiple ways to set up a proxy server for Ubuntu. In this guide, you'll find two common methods: [using System (GNOME) settings](#method-1-system-settings) and [utilizing the terminal](#method-2-terminal-sessions).

### Method 1: System settings

To set up a system-wide network proxy, follow the steps below:

**Step 1.** [**Download**](https://ubuntu.com/download/desktop) and install Ubuntu Desktop.

**Step 2.** Find **Settings** from the Ubuntu launcher and go to the **Network** tab.

<figure><img src="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiwDdoZGfMbUe5cRL2417%2Fuploads%2FbDYJnF1S6PKLhmBg1kU5%2Fimage.png?alt=media&#x26;token=aa0a5b5a-f669-4b8d-975e-2375995248ee" alt="Ubuntu launcher"><figcaption></figcaption></figure>

**Step 3.** Once you click on **Network**, it will open up a new dialog. From the three options, choose **Network Proxy.**

<figure><img src="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiwDdoZGfMbUe5cRL2417%2Fuploads%2F0QpbIwlPPRIdIB3jYFza%2Fimage.png?alt=media&#x26;token=e78a2185-2744-409b-9ae8-5f0307963093" alt="Choose Network Proxy"><figcaption></figcaption></figure>

**Step 4.** Select **Manual** to configure proxy settings. Next, several text boxes will pop up from which you can set `HTTP`, `HTTPS`, or `SOCKS5` proxy. Fill in the following information:&#x20;

**HTTP Proxy:** `ddc.oxylabs.io`

**Port:** `8001`

{% hint style="info" %}
You will need to choose a port that's assigned to an IP address from the purchased [**proxy list**](https://developers.oxylabs.io/proxies/dedicated-datacenter-proxies/self-service/proxy-list)**,** that you can find in Oxylabs' dashboard.
{% endhint %}

<figure><img src="https://63892162-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzrXw45naRpCZ0Ku9AjY1%2Fuploads%2F5X1x6PsolsRgSJYRyA9G%2Fubuntu-ddc-ss.png?alt=media&#x26;token=ad75e0ef-1451-4b5c-bfe2-682b77500c69" alt="" width="563"><figcaption></figcaption></figure>

**Step 5.** Close the Network Proxy window. The changes will automatically be saved, and the system-wide proxy will be activated.&#x20;

Each time you make a web request through a browser or other application, a **pop-up window will prompt you to enter the credentials** of your Oxylabs proxy user for the session.

{% hint style="warning" %}
Remember to append the `user-` part to your username, for example: `user-USERNAME`.
{% endhint %}

***

### Method 2: Terminal sessions

To set up a network proxy for all terminal sessions, follow the steps below:

**Step 1.** [**Download**](https://ubuntu.com/download/desktop) and install Ubuntu Desktop.

**Step 2.** Open **shell** configuration using an editor.

For the ZSH terminal, the shell configuration file is by default located in the home directory. We can edit this file using `vim` with the below command:

```sh
vim ~/.zshrc
```

Instead of `vim`, you can also use `gedit`, `nano`, or any other text editor that you prefer. Also, if you are using Bash instead of ZSH, you’ll have to edit your bash shell configuration file, i.e. `~/.bashrc` instead of `~/.zshrc`.

**Step 3.** Create two new environment variables

At the bottom of this configuration file, you’ll have to define the `http_proxy,` `https_proxy`, or `ALL_PROXY` (for SOCKS5) variables.

```sh
export http_proxy="user-USERNAME:PASSWORD@ddc.oxylabs.io:8001"
export https_proxy="user-USERNAME:PASSWORD@ddc.oxylabs.io:8001"
export ALL_PROXY="socks5://user-USERNAME:PASSWORD@ddc.oxylabs.io:8001"
```

Here are the details you need to fill in:

**Proxy address:** `ddc.oxylabs.io`

**Port:** `8001`

**Username:** `user-username`

**Password:** `password`

{% hint style="warning" %}
Don't forget to add the `user-` part to your username.
{% endhint %}

**Step 4.** Reload the configuration

Now, you can reload the configuration file either by opening a new terminal or by running the following command in the existing terminal:

```sh
source ~/.zshrc
```

The proxy will always be active for the current user.  The shell configuration file gets loaded every time you open a new terminal. So, the environment variables will be always available for you even if you restart your computer.

If you want to enable it for all users then you will have to append the above two lines in the `/etc/environment`.

That’s all! You’ve successfully integrated your Oxylabs proxies.&#x20;

You can find the complete tutorial [here](https://oxylabs.io/resources/integrations/ubuntu).
