Skip to content


Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time
Aug 28, 2020
Oct 1, 2019
Aug 21, 2020
Oct 1, 2019
Oct 25, 2020
Oct 5, 2020
Aug 28, 2020


A simple cli to get Warp+ as WireGuard configuration

For people who just want a easy way to get a WireGuard of Warp, just download this file: Source code of the backend can be found here.


By using this, you agree the Privacy Policy and Terms of Service of Cloudflare

With Node.js (Recommended)

Step 1

Install cf-warp globally through yarn or npm.

yarn global add cf-warp # npm i -g cf-warp

Step 2

Initialize your Warp+ account by running cf-warp command.


$ cf-warp
Your Warp credentials are located at "C:\Users\maple3142\.cf-warp\data.json", and WireGuard connection file is "C:\Users\maple3142\.cf-warp\cf-warp.conf".
You currently have 1GB Warp+ quota.
To get your current Warp+ quota, simply run "cf-warp".
To increase your Warp+ quota by 10 GB, simply run "cf-warp 10".

Step 3

Obtain cf-warp.conf from ~/.cf-warp/cf-warp.conf and use it normally.

Without Node.js

Step 1

Go ahead to releases page and download a binary for your platform.

Step 2

Open your cmd/terminal and locate the binary you just downloaded, such as cf-warp-win.exe ...

Step 3

Use it just like cf-warp installed by npm.

With Docker

Step 1

docker run --rm -v ~/.cf-warp:/root/.cf-warp maple3142/cf-warp [args]


How does cf-warp get Warp+ quota for free?

It currently get quota by faking referrers since there is no way to pay for premium version outside of app, but it is recommended to pay for it on your phone if you think their service is good.

How do link this to a WARP+ license from the mobile app?

  1. Find your license key on your mobile app
    • It should be under settings/account/key, in the form of "1a2b3d4e-1a2b3d4e-1a2b3d4e"
  2. Copy that key, and run the command:
cf-warp --license 1a2b3d4e-1a2b3d4e-1a2b3d4e #Your own license key goes here
  1. When done, the current config should be sharing the same data quota as the mobile
    • If you've paid on your phone, this config should enjoy unlimited data and WARP+.

IPv6 doesn't works in Linux by default

Due to the private tunnel local address Linux needs getaddrinfo configuration.