• Stars
    star
    2,850
  • Rank 15,242 (Top 0.4 %)
  • Language
    Go
  • License
    MIT License
  • Created about 4 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

🚤 Cross-platform, unofficial CLI for Cloudflare Warp

wgcf

wgcf is an unofficial, cross-platform CLI for Cloudflare Warp

Features

  • Register new account
  • Change license key to use existing Warp+ subscription
  • Generate WireGuard profile
  • Check account status
  • Print trace information to debug Warp/Warp+ status

Download

You can find pre-compiled binaries on the releases page.

Usage

Run wgcf in a terminal without any arguments to display the help screen. All commands and parameters are documented.

Register new account

Run the following command in a terminal:

wgcf register

The new account will be saved under wgcf-account.toml

Generate WireGuard profile

Run the following command in a terminal:

wgcf generate

The WireGuard profile will be saved under wgcf-profile.conf. For more information on how to use it, please check the official WireGuard Quick Start.

Maximum transmission unit (MTU)

To ensure maximum compatibility, the generated profile will have a MTU of 1280, just like the official Android app. If you are experiencing performance issues, you may be able to improve your speed by increasing this value. For more information, please check #40.

Change license key

If you have an existing Warp+ subscription, for an example on your phone, you can bind the account generated by this tool to your phone's account, sharing its Warp+ status. Please note that there is a current limit of maximum 5 linked devices active at a time.

⚠️ This device's private key will be changed!

First, get your Warp+ account license key. To view it on Android:

  1. Open the 1.1.1.1 app
  2. Click on the hamburger menu button on the top-right corner
  3. Navigate to: Account > Key

Edit wgcf-account.toml directly with the new license key and run:

wgcf update

or, using an environment variable:

WGCF_LICENSE_KEY="123412341234" wgcf update

The license will be applied, and a new private key will be created for your account. Regenerate your WireGuard configuration and use the new private key.

Check device status

Run the following command in a terminal:

wgcf status

Verify Warp/Warp+ works

Connect to the WireGuard profile generated by this tool, then run:

wgcf trace

If you look at the last line, it should say warp=on or warp=plus, depending on whether you have Warp or Warp+ respectively.

Development

Sub-packages

  • api_tests - Tests for API documentation generation
  • spec_format - OpenAPI3 specification formatter to post-process the spec generated by Optic

API

This project uses Optic to automatically generate API documentation using the tests defined in api_tests. These tests cover all endpoints used by wgcf. The documentation is exported as an OpenAPI3 specification, which is then used with openapi-generator to generate the Go client API code under wgcf/openapi.

To update the API documentation, install Optic, then run:

api start

Resolve and save all the differences in the Web UI.

To regenerate the Go client API code, install openapi-generator, then run:

bash generate-api.sh

This script supports both Linux and WSL.

Notice of Non-Affiliation and Disclaimer

We are not affiliated, associated, authorized, endorsed by, or in any way officially connected with Cloudflare, or any of its subsidiaries or its affiliates. The official Cloudflare website can be found at https://www.cloudflare.com/.

The names Cloudflare Warp and Cloudflare as well as related names, marks, emblems and images are registered trademarks of their respective owners.

More Repositories

1

TrustMeAlready

🔓 Disable SSL verification and pinning on Android, system-wide
Java
967
star
2

magisk-frida

🔐 Run frida-server on boot with Magisk, always up-to-date
Shell
495
star
3

de4dot-cex

📦 de4dot deobfuscator with full support for vanilla ConfuserEx
C#
387
star
4

apk-utilities

🛠 Tools and scripts to manipulate Android APKs
Python
186
star
5

LenovoController

🎮 A lightweight alternative to Lenovo Vantage
C#
164
star
6

cloudflare-warp-wireguard-client

Generate WireGuard profile from Cloudflare Warp account
Python
132
star
7

pi-encrypted-boot-ssh

🔑 Raspberry Pi Encrypted Boot with Remote SSH
130
star
8

dnEditor

💾 A .NET assembly editor based on dnlib
C#
122
star
9

jvm-dump-proxy

A proxy DLL for Windows to dump JVM classes at JNI level
C
61
star
10

nMAC

📱 An Android device MAC changer
C#
56
star
11

z3-python-ctf

🐍 Solving CTF challenges using Z3 and Python
Python
24
star
12

poweruser

💪 Collection of tips, tricks and scripts for becoming a true poweruser
Shell
22
star
13

authelia-basic-2fa

🗝 Use Authelia 2FA through only standard basic auth
Go
18
star
14

avast-ctf-cambridge-2018

🎖 A complete write-up of the Avast challenge given at Hack Cambridge 2018
18
star
15

nginx-gotchas

⁉ My personal list of gotchas and other tricky situations with nginx
15
star
16

SmaliHelper

An offline documentation browser for Smali
C#
14
star
17

wg-reverse-proxy

🛤 Ansible setup for building a WireGuard reverse proxy server
Shell
14
star
18

webdav-server

A simple WebDAV server in Go
Go
11
star
19

tailscale-bolt

Create self-contained, 1-click scripts, which connect any computer to your TailScale network
Shell
11
star
20

brookshear-vm

A brookshear virtual machine written in Go
Go
11
star
21

PerfectProxyDLL

A simple and stable proxy DLL for Windows x64
C
10
star
22

ProcessPrivileges

Query, enable, disable or remove privileges on a process
C#
9
star
23

CompatTelOverride

Persistently disable the Compatibility Telemetry in Windows 10
C#
8
star
24

RunInTray

Run a program in tray with its own icon
C#
7
star
25

scanogram

Scan your pictures and videos for corruption, and sort them by EXIF or modification time
Go
7
star
26

BinaryPatcher

A library to patch binaries
C#
7
star
27

proxy-redirector

A HTTP/S proxy that redirects connections
Go
7
star
28

windows-ansible

Ansible playbook to configure a Windows machine
PowerShell
7
star
29

anvil-calc

Optimal enchantment order calculator for modded Minecraft
Rust
6
star
30

pwnEd-ctf

Write-ups for pwnEd CTF in Edinburgh 2020
Python
6
star
31

WhiteScrolls

📃 Articles, papers and presentations
6
star
32

http-ci-deployer

An extremely simple HTTP-based deployment solution for Continuous Integration services
Go
5
star
33

docker-elk-arm64

ELK stack for Docker ARM64
Shell
5
star
34

devpost-api

📜 An unofficial API for DevPost
Python
4
star
35

simplewall-utils

Simple utilities for simplewall
Go
4
star
36

drunk-sshd

🍺 Byte replace patterns to make sshd accept any password as valid
4
star
37

winsock-dump-proxy

A proxy DLL for Windows to dump Windows Socket connections
C
4
star
38

overseer

Search an Android device for files containing its MAC address
C
3
star
39

android-kernel-ci

Generic auto-build repo for Android kernels using various CI
Shell
3
star
40

serve-zip

Simple HTTP server that streams directories as a ZIP
XSLT
3
star
41

byte-pattern-patcher

A minimalistic, performant, cross-platform byte pattern patcher
Go
3
star
42

sdconv

Automatic SD video conversion script
Python
2
star
43

text2pic

A text to picture translator understandable by anyone
C#
2
star
44

stirling-workshop-2

The materials for the Raspberry Pi workshop
Shell
2
star
45

sigint-workshop-1

The materials for the Dissecting Android Apps workshop
2
star
46

iddqdBot

A PvE bot for the RESTful DOOM engine
Java
2
star
47

TimetableManager

A simple timetable manager, written for a university assignment project
Java
2
star
48

jre-side-channel

Various JRE patches to aid side-channel analysis in Java
Java
2
star
49

stirling-workshop-1

The materials for the Introduction to Cyber Security workshop
2
star
50

cdx2018-ransomware-decryptor

CDX 2018 Ransomware Decryptor
Go
2
star
51

upscale-win

Workflow for upscaling and interpolating videos with NVIDIA TensorRT acceleration
Python
2
star
52

handbraked

Watch and convert videos in a directory using Handbrake
Go
2
star
53

vscode-essay

A VSCode template for HTML and PDF generation from Markdown with GitHub-style theme and extras
CSS
2
star
54

APlusGenerator

A code generator for the APlus project
C#
2
star
55

gomobiler

A stripped-down gomobile to easily build go executables for Android
Go
2
star
56

APlus

An application aiming to create truly anonymous school examination sheets while keeping things simple
C#
2
star
57

z3-wasm

Run Z3 entirely in your browser using WebAssembly
JavaScript
1
star
58

tcp-packet-parser

A PCAP analyzer that filters TCP packets and dumps them with appropriate labels
Go
1
star
59

docker-windows-process-isolation

🛳 Install Docker in process isolation mode on Windows
PowerShell
1
star
60

gitlab-gitea-migrator

Batch repository migrator from GitLab to Gitea using their APIs
Python
1
star
61

APlusServer

The server part of the APlus project
PHP
1
star
62

ieReplace

Replace Internet Explorer 11 with a stub that redirects URLs to Edge
C++
1
star
63

human-bot

A bot for МSTanks with a twist
Python
1
star
64

vscode-smali

Smali syntax highlighting for VS Code
CoffeeScript
1
star
65

NaniteProtector-demo

A demo of the Nanite Protector for Java
1
star
66

optic-go

Utilities for API generation using Optic in Go
Go
1
star
67

jekyll-bootstrap-mermaid-template

A clean and simple Jekyll + Bootstrap 4 + Mermaid template
SCSS
1
star
68

docker-windows-patcher

🚢 A memory patch to workaround Windows bug with Docker
C++
1
star