WARP-cli on a Linux server: installing and configuring Cloudflare WARP in proxy mode

ShadowSocks-solutions: Marzban | Marzban Node | x-ui | 3x-ui


This guide was created quite by accident: there was a chat discussion about ShadowSocks, and on one of the sites I found a hint about using Cloudflare WARP as a local proxy server. In this article I will show how to install warp-cli on a Linux server and switch it to proxy mode.

Why this is useful

Let’s first figure out what this could be useful for:

  1. You can route all server traffic through WARP — for example, to access OpenAI from servers where it isn’t available.
  2. You can additionally encrypt all traffic by sending it through WARP.

Potential downsides:

  • Reduced speed and increased ping.

Installing WARP on Ubuntu

Time to get to it! In reality it’s quite simple, but working with DWG builds hasn’t been tested yet.

All information is on the official site: Announcing WARP for Linux and Proxy Mode (cloudflare.com)

Additionally, read about adding keys: Cloudflare Package Repository (cloudflareclient.com)

And now a real example on Ubuntu.

  1. Add the GPG key:
curl https://pkg.cloudflareclient.com/pubkey.gpg | sudo gpg --yes --dearmor --output /usr/share/keyrings/cloudflare-warp-archive-keyring.gpg
  1. Add the repository:
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/cloudflare-warp-archive-keyring.gpg] https://pkg.cloudflareclient.com/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/cloudflare-client.list
  1. Update:
sudo apt update
  1. Install:
sudo apt install cloudflare-warp

Configuring warp-cli

Now we set things up.

  1. All help is here:
warp-cli --help
  1. You need to register:
warp-cli register
  1. Now set the operating mode (possible values: warp, doh, warp+doh, dot, warp+dot, proxy) — I choose proxy:
warp-cli set-mode proxy

You can try other options as well — for experimentation.

Using with the 3x-ui panel

  1. Use it. In my case I used WARP with the 3x-ui panel: MHSanaei/3x-ui: Xray panel supporting multi-protocol multi-user expire day & traffic & ip limit (Vmess & Vless & Trojan & ShadowSocks) (github.com)

  1. Done!

Now we have access to the resources checked off.

A separate article will cover how to install x-ui, what it is, how to use it, and how to configure it.


The article was first published on 31.05.2023 on openode.xyz; migrated and updated on 04.08.2026.