Giter Site home page Giter Site logo

wgcf's Introduction

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.

wgcf's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

wgcf's Issues

Running on MacOS

How can I run it on MacOS? Is it the wgcf_1.0.6_darwin_amd64? how can I run it?

wgcf update error

Hello,

On version 2.0.1, wgcf update gives 'no name in bound device' error after putting in the license key.
Tried on Win x64 and arm7.

root@FriendlyWrt:~# ./wgcf* register
2020/08/04 16:29:22 Using config file: wgcf-account.toml
This project is in no way affiliated with Cloudflare
Cloudflare's Terms of Service: https://www.cloudflare.com/application/terms/
✔ Yes
2020/08/04 16:29:27 =======================================
2020/08/04 16:29:27 Device name : AAD476
2020/08/04 16:29:27 Device model : PC
2020/08/04 16:29:27 Device active : true
2020/08/04 16:29:27 Account type : free
2020/08/04 16:29:27 Role : child
2020/08/04 16:29:27 Premium data : 0
2020/08/04 16:29:27 Quota : 0
2020/08/04 16:29:27 =======================================
2020/08/04 16:29:27 Successfully created Cloudflare Warp account

root@FriendlyWrt:~ # nano wgcf
wgcf-account.toml wgcf_2.0.1_linux_armv7
root@FriendlyWrt:~# nano wgcf-account.toml

root@FriendlyWrt:~ # ./wgcf_2.0.1_linux_armv7 update
2020/08/04 16:30:23 Using config file: wgcf-account.toml
2020/08/04 16:30:24 Updated license key detected, re-binding device to new account
2020/08/04 16:30:32 no name in bound device
wgcf/cmd/update.updateAccount
/drone/src/cmd/update/update.go:56
wgcf/cmd/update.glob..func1
/drone/src/cmd/update/update.go:26
github.com/spf13/cobra.(*Command).execute
/go/pkg/mod/github.com/spf13/[email protected]/command.go:846
github.com/spf13/cobra.(*Command).ExecuteC
/go/pkg/mod/github.com/spf13/[email protected]/command.go:950
github.com/spf13/cobra.(*Command).Execute
/go/pkg/mod/github.com/spf13/[email protected]/command.go:887
wgcf/cmd.Execute
/drone/src/cmd/root.go:36
main.main
/drone/src/main.go:10
runtime.main
/usr/local/go/src/runtime/proc.go:203
runtime.goexit
/usr/local/go/src/runtime/asm_arm.s:857
root@FriendlyWrt:~#

Low Speed ( Warp+ )

I use Warp Plus. I installed WireGuard over the router. Only MTU value increases the speed, but still I cannot get very high speed. How do I find the best MTU value? The main protocol I use is pppoe and mtu value 1492. What should be the best mtu value for Warp+?

mips / openwrt

platform: gl inet 300m (mips device)
os: openwrt stable

root@greatWallOfChina:/wgcf# ./wgcf register
Illegal instruction
root@greatWallOfChina:
/wgcf#

root@greatWallOfChina:~/wgcf# strace ./wgcf register
execve("./wgcf", ["./wgcf", "register"], 0x7f73e174 /* 14 vars */) = 0
set_thread_area(0x77fe3efc) = 0
set_tid_address(0x77fdb008) = 4655
open("/etc/ld-musl-mips-sf.path", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/lib/libgcc_s.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
fcntl64(3, F_SETFD, FD_CLOEXEC) = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=78080, ...}) = 0
read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\10\0\0\0\1\0\0'\320\0\0\0004"..., 936) = 936
mmap2(NULL, 147456, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x77f0e000
mmap2(0x77f30000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x12000) = 0x77f30000
close(3) = 0
mprotect(0x77f30000, 4096, PROT_READ) = 0
--- SIGILL {si_signo=SIGILL, si_code=SI_KERNEL, si_addr=NULL} ---
+++ killed by SIGILL +++
Illegal instruction

any ideas?

Change the location of config and account file?

Is is possible to change the location of wgcf-account.toml and wgcf-profile.conf

Using ENV variables, Is there a ENV variables reserve for the path of account and profile ?

if there is please share thanks

Dont want to have it on my home directory IMHO.

warp+ license key update fails

I follow the steps in the readme.md and when I try to update after entering my warp+ license key and run wgcf update the output is as follows:
F:\Sources\wgcf>wgcf update 2020/05/04 23:18:29 Using config file: wgcf-account.toml 2020/05/04 23:18:30 Updated license key detected, re-binding device to new account 2020/05/04 23:18:31 non-200 status code wgcf/cloudflare/util.doRequest /drone/src/cloudflare/util/web.go:51 wgcf/cloudflare/util.NewAuthenticatedRequest /drone/src/cloudflare/util/web.go:33 wgcf/cloudflare/api.UpdateLicenseKey /drone/src/cloudflare/api/account.go:20 wgcf/cmd/update.updateLicenseKey /drone/src/cmd/update/update.go:94 wgcf/cmd/update.ensureLicenseKeyUpdated /drone/src/cmd/update/update.go:68 wgcf/cmd/update.updateAccount /drone/src/cmd/update/update.go:52 wgcf/cmd/update.glob..func1 /drone/src/cmd/update/update.go:27 github.com/spf13/cobra.(*Command).execute /go/pkg/mod/github.com/spf13/[email protected]/command.go:846 github.com/spf13/cobra.(*Command).ExecuteC /go/pkg/mod/github.com/spf13/[email protected]/command.go:950 github.com/spf13/cobra.(*Command).Execute /go/pkg/mod/github.com/spf13/[email protected]/command.go:887 wgcf/cmd.Execute /drone/src/cmd/root.go:36 main.main /drone/src/main.go:10 runtime.main /usr/local/go/src/runtime/proc.go:203 runtime.goexit /usr/local/go/src/runtime/asm_amd64.s:1373 code: 400, body: {"result":null,"success":false,"errors":[{"code":1046,"message":"Invalid license"}],"messages":[]}
and when running wgcf trace after adding the .conf file to wireguard and connecting to it
it shows warp=on not plus
2020/05/04 23:20:38 Using config file: wgcf-account.toml 2020/05/04 23:20:41 Trace result: fl=19f272 h=cloudflare.com ip=XX ts=1588627239.876 visit_scheme=https uag=Go-http-client/2.0 colo=CDG http=http/2 loc=EG tls=TLSv1.3 sni=plaintext warp=on

No Ip Change Manjaro

Hello,
Im using manjaro, after creating and updating profile, i imported config to vpn connection.
When i connect it says"connected" but ip is the same. Working on windows.
image

Can't run on macOS

As the title suggests, running the binary files on macOS flat out does not work and returns command not found. tried both of the darwins and both of 386 and amd64 linux builds.
Screen Shot 1399-04-26 at 16 11 00

Upload speed is less than half

Running on Windows 7, download speed seems to be normal, but the upload speed is less than half. Around 50Mbps of what it should be, which is around 90Mbps. My internet speeds are usually 100Mbps. I tried changing MTU setting, but no avail. If running the Windows 10 native client, no issues there. Picture reference.

Exclude private IPs from Wireguard profile

From Wireguard Android app:

0.0.0.0/5, 8.0.0.0/7, 11.0.0.0/8, 12.0.0.0/6, 16.0.0.0/4, 32.0.0.0/3, 64.0.0.0/2, 128.0.0.0/3, 160.0.0.0/5, 168.0.0.0/6, 172.0.0.0/12, 172.32.0.0/11, 172.64.0.0/10, 172.128.0.0/9, 173.0.0.0/8, 174.0.0.0/7, 176.0.0.0/4, 192.0.0.0/9, 192.128.0.0/11, 192.160.0.0/13, 192.169.0.0/16, 192.170.0.0/15, 192.172.0.0/14, 192.176.0.0/12, 192.192.0.0/10, 193.0.0.0/8, 194.0.0.0/7, 196.0.0.0/6, 200.0.0.0/5, 208.0.0.0/4, ::/0, 193.138.218.74/32

Support referrer param to registration request

Referral program is a feature provided by Cloudflare with header param "referrer". It would be nice if this param is also supported

Proposals:

  • in cloudflare/structs/registration.go
    Add a new property Referrer string json:"referrer"
type RegistrationData struct {
	PublicKey string `json:"key"` // WireGuard public key
	InstallID string `json:"install_id"`
	FcmToken  string `json:"fcm_token"` // Google Firebase token
	Tos       string `json:"tos"`       // RFC3339Nano timestamp of date accepted
	Model     string `json:"model"`
	Type      string `json:"type"`
	Locale    string `json:"locale"`
	Referrer  string `json:"referrer"`
}
  • in cloudflare/api/api.go:
    add a new param to the Register function, along with RegistrationData values
func Register(encodedPrivateKey string, deviceModel string, referrer string) (*resp.RegistrationData, error) {
	timestamp := util.GetTimestamp()
	privateKey, err := wireguard.NewKey(encodedPrivateKey)
	if err != nil {
		return nil, err
	}
	publicKey := privateKey.Public()
	data := request.RegistrationData{
		PublicKey: publicKey.String(),
		InstallID: "",
		FcmToken:  "",
		Tos:       timestamp,
		Model:     deviceModel,
		Type:      "Android",
		Locale:    "en_US",
		Referrer:  referrer,
	}
  • in cmd/register/register.go
    add a new variable var referrer string and a new arguments in init() function
var deviceName string
var deviceModel string
var referrer string
var existingKey = false
var acceptedTOS = false
...
func init() {
	Cmd.PersistentFlags().StringVarP(&deviceName, "name", "n", "", "Device name displayed under the 1.1.1.1 app (defaults to random)")
	Cmd.PersistentFlags().StringVarP(&deviceModel, "model", "m", "PC", "Device model displayed under the 1.1.1.1 app")
	Cmd.PersistentFlags().StringVarP(&referrer, "referrer", "r", "", "Referrer device ID")
	Cmd.PersistentFlags().BoolVar(&existingKey, "existing-key", false, "Use existing private key for the new account")
	Cmd.PersistentFlags().BoolVar(&acceptedTOS, "accept-tos", false, "Accept Cloudflare's Terms of Service non-interactively")
}

Doesn't work on Android

I've run the binary via Termux on Android. When I type the command:

wgcf register

Then comes the error:

"https://api.cloudflareclient.com/v0a884/reg": dial tcp: lookup api.cloudflareclient.com on [::1]:53: read udp [::1]:49415->[::1]:53: read: connection refused

I've disabled my VPN, a custom DNS and the problem still persists.

Status 403

Can not register

Cloudflare's Terms of Service: https://www.cloudflare.com/application/terms/
✔ Yes

getting 403

non-200 status code: 403

Donations?

You have no idea how much this tool helped me out. I'm in a rural living situation where I need Warp on all my home network devices in order to get any sort of a decent connection. This tool is super easy to use and the ability to link to my Warp+ account is phenomenal. Now all my devices are running through Warp via my Raspberry Pi.

Do you have a PayPal or something of that nature? I'd love to say thanks and contribute with a donation.

Error installing on MacOS in command line

I am running into an issue when using Homebrew to install wgcf, and it appears to be with the encoding.

Running the latest macOS, in terminal I run
brew install <location of wgcf_2.1.4_darwin_amd64>

After attempting to install, I get this error
Error: wgcf_2.1.4_darwin_amd64: /Users/kevandoyle/Downloads/wgcf_2.1.4_darwin_amd64:1: invalid multibyte char (UTF-8)

Any idea why this would be happening? It's possible this is the incorrect way to run this program in Terminal, but this is how I have installed and run CLIs on macOS in the past.

Can't reach 1.1.1.1

Everything is fine via mobile app, tried key from app, and generated through wgcf.
pings can reach 1.1.1.1 just fine but upon bringing wg interface up pinging is no longer possible
checked that I'm not going through proxy, my resolv.conf is proper 1.1.1.1/ 1.0.0.1.
My connection doesn't have ipv6

./wgcf trace
2020/04/28 18:21:58 Using config file: wgcf-account.toml
2020/04/28 18:22:08 Get "https://cloudflare.com/cdn-cgi/trace": dial tcp: lookup cloudflare.com on 1.1.1.1:53: read udp 172.16.0.2:38131->1.1.1.1:53: i/o timeout

Internet access does not work (system issue)

Basically if I run
wg-quick up wgcf-profile.conf
I have no internet access, pings fail, but somehow telegram works.
In the version without this revert commit , I had no internet at all, even in telegram. Only now when I updated to the version with this commit I find this irregularity. The same conf on other clients like android and windows work just fine.
I'm on Pop!OS 20.10, which is based on Ubuntu 20.10
Any idea what could be the problem?


Edit from maintainer (09/11/2022):

Just to give some organization to all the "internet does not work" reports. There are two known cases when this may happen:

  1. If the WireGuard tunnel works on your other computer/phone, but not on this one, then it's likely an issue with your system configuration. It's generally not something I can help with, as wgcf is only responsible for providing you with a WireGuard profile, but leaving this issue open for people to share their experiences and solutions. This is tracked in #50.
  2. If the WireGuard tunnel does not work on any of your devices, but the official client does, then this is likely an issue with your region being restricted due to abuse prevention. There is no solution to this problem, maybe hope that people stop abusing the service so the regions are unlocked. Use the official client in this case. This is tracked in #158.

Edit from maintainer (26/11/2022):

Some more advise can be found here: #50 (comment)

400 Bad Request

First Time attempting to run and when running the update switch, getting "400 Bad request", Any idea why that is or how to address it ? Tried in Arch Linux and Mac OS. Account was initiated in Android.

2020/09/07 08:21:59 Using config file: wgcf-account.toml
2020/09/07 08:22:00 Updated license key detected, re-binding device to new account
2020/09/07 08:22:01 400 Bad Request

Set mtu to 1280

Hello! Thank you so much for this.

The only problem I've faced is that no mtu value is set in the generated profile which results in the connection not working properly (ping&dns would usually work but https browsing never does).

In order to fix this, we need to set the mtu of the wg interface to 1280 which is the same value set by the official Android client. After this change the connection works just like the official Android client.

Cloudflare seems to not be responding

I used the app to register as documneted...after bringing up the interface cloudflare would barely function..something like 90% packet drop.

Seems that about 20% of my connection attempts are successful (eg wg-quick up).

Is this a common issue with them trying to snuff out unofficial clients or what is happening?

I don't have warp+, but I tried reusing key from mobile app, got:

WGCF_LICENSE_KEY="<mobile-key>" ./wgcf_1.0.5_linux_amd64 update
2020/04/19 21:27:44 Using config file: wgcf-account.toml
2020/04/19 21:27:45 Updated license key detected, re-binding device to new account
2020/04/19 21:27:46 non-200 status code
wgcf/cloudflare/util.doRequest
/drone/src/cloudflare/util/web.go:51
wgcf/cloudflare/util.NewAuthenticatedRequest
/drone/src/cloudflare/util/web.go:33
wgcf/cloudflare/api.UpdateLicenseKey
/drone/src/cloudflare/api/account.go:20
wgcf/cmd/update.updateLicenseKey
/drone/src/cmd/update/update.go:94
wgcf/cmd/update.ensureLicenseKeyUpdated
/drone/src/cmd/update/update.go:68
wgcf/cmd/update.updateAccount
/drone/src/cmd/update/update.go:52
wgcf/cmd/update.glob..func1
/drone/src/cmd/update/update.go:27
github.com/spf13/cobra.(*Command).execute
/go/pkg/mod/github.com/spf13/[email protected]/command.go:846
github.com/spf13/cobra.(*Command).ExecuteC
/go/pkg/mod/github.com/spf13/[email protected]/command.go:950
github.com/spf13/cobra.(*Command).Execute
/go/pkg/mod/github.com/spf13/[email protected]/command.go:887
wgcf/cmd.Execute
/drone/src/cmd/root.go:36
main.main
/drone/src/main.go:10
runtime.main
/usr/local/go/src/runtime/proc.go:203
runtime.goexit
/usr/local/go/src/runtime/asm_amd64.s:1373
code: 400, body: {"result":null,"success":false,"errors":[{"code":1046,"message":"Invalid license"}],"messages":[]}

Is it possible to use the same key as on mobile?

No internet connection on ubuntu virtual server

Hi.
I used wgcf on my local desktop pc to generate a conf file. There's not any problem connecting warp plus with official wireguard app on my iPhone and Windows 10 PC.
Then I uploaded the profile conf to my virtual private server. When I tried to connect on the server, everything seemed to be fine at first but then I found out that I couldn't access internet any more. Ping, nslookup etc. all stopped working.

Here're the output of sudo wg-quick up wg0 and sudo wg

wg-quick up wg0
[#] ip link add wg0 type wireguard
[#] wg setconf wg0 /dev/fd/63
[#] ip -4 address add xx.xx…/32 dev wg0
[#] ip -6 address add xxxx:xxxx…/128 dev wg0
[#] ip link set mtu 1420 up dev wg0
[#] resolvconf -a tun.wg0 -m 0 -x
[#] wg set wg0 fwmark 51820
[#] ip -6 route add ::/0 dev wg0 table 51820
[#] ip -6 rule add not fwmark 51820 table 51820
[#] ip -6 rule add table main suppress_prefixlength 0
[#] ip6tables-restore -n
[#] ip -4 route add 0.0.0.0/0 dev wg0 table 51820
[#] ip -4 rule add not fwmark 51820 table 51820
[#] ip -4 rule add table main suppress_prefixlength 0
[#] sysctl -q net.ipv4.conf.all.src_valid_mark=1
[#] iptables-restore -n

sudo wg
interface: wg0
  public key: [private key]
  private key: (hidden)
  listening port: 42533
  fwmark: 0xca6c

peer: [public key]
  endpoint: [2606:4700:d0::a29f:c001]:2408
  allowed ips: 0.0.0.0/0, ::/0
  latest handshake: 52 seconds ago
  transfer: 22.74 KiB received, 99.47 KiB sent


ifconfig 
wg0: flags=209<UP,POINTOPOINT,RUNNING,NOARP>  mtu 1420
        inet 172.16.0.2  netmask 255.255.255.255  destination 172.16.0.2
        inet6 fd01:5ca1:ab1e:8a78:95f2:4221:fadd:327c  prefixlen 128  scopeid 0x0<global>
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 1000  (UNSPEC)
        RX packets 356  bytes 26348 (26.3 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1221  bytes 116044 (116.0 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

but wg0 interface is not shown in routing table

route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         [gateway]    0.0.0.0         UG    100    0        0 ens3
[ip]    0.0.0.0         255.255.254.0   U     0      0        0 ens3
169.254.169.254 [gateway]    255.255.255.255 UGH   100    0        0 ens3

Internet connection is lost when wg0 is up. If I turn wg0 off, everything is back to normal.

Does anybody has any idea what's going wrong here? Can someone help me out?
Thanks in advance.

"Warp=plus" not working. Help!

"Warp=plus"
I have a warp plus account, but what should I do?
I Can't Run warp=plus.
( sorry for the translation I do not know English. )

20200705_020558

Can you tell me what to do progressively?

warp=off on last line, even though i have warp+

2020/04/23 21:10:13 Using config file: wgcf-account.toml
2020/04/23 21:10:15 =======================================
2020/04/23 21:10:15 Device name: Acer Laptop
2020/04/23 21:10:15 Device model: PC
2020/04/23 21:10:15 Device active: true
2020/04/23 21:10:15 Account type: unlimited
2020/04/23 21:10:15 Warp+ enabled: true
2020/04/23 21:10:15 Premium data: 0
2020/04/23 21:10:15 Quota: 0
2020/04/23 21:10:15 =======================================

2020/04/23 21:10:30 Using config file: wgcf-account.toml
2020/04/23 21:10:30 Trace result:
fl=202f35
h=cloudflare.com
ip=203.192.213.129
ts=1587656430.763
visit_scheme=https
uag=Go-http-client/2.0
colo=BOM
http=http/2
loc=IN
tls=TLSv1.3
sni=plaintext
warp=off

warp=off even though i have warp+. Updated the license key and updated the client, still the client isnt running. is there any command to run this client to get warp=on or warp=plus?? Also not sure how to run on linux.

Extending data type of premium_data

Hi,
When executing wgfc update with my license key, I got that exception

json: cannot unmarshal number 1544834000000000 into Go struct field AccountData.account.premium_data of type int

That just happens with the pre-compiled binaries. If I clone the repository and run with golang cli, it works as expected

Wireguard config for Android and iOS

Are there plans to make wgcf available for use in Android and iOS using the Wireguard app? I understand that there is a Warp app offered by Cloudflare, but it doesn't have an option to set custom DNS servers.

It'd be nice to generate a config file using wgcf and use it on Wireguard app for Android/iOS.

Guide doesn't work

Hello! Thanks so much for your work! Unfortunately, your guide to README.md does not work. Here I will outline the steps that I had to take in order to achieve the desired result.

I use Ubuntu 20.04 (18.04 there were the same problems). The first thing I want to draw attention to is the limited nature of the manual: why do you suggest registering a new account instead of using an existing one or generating configs to fill in the necessary information, such as keys? I did not understand this.

After I installed WireGuard, I had to use third-party guide, since neither yours nor the guide of the WG worked. What I've done:

I generated the public and private keys, use the following commands:

$ cd /etc/wireguard
$ umask 077  # This makes sure credentials don't leak in a race condition.
$ wg genkey | tee privatekey | wg pubkey > publickey

The next step is creatig a file called wg0.conf (for instance)
Then i just paste the content of the wgcf-profile.conf to wg0.conf
After that, i use command wg-quick up wg0 , but it doesn't work, because by default resolvconf: command not found
I install resolfconf framework by this guide just use apt install resolvconf .
Actually, before i create interface following by this guide trought use ip link add dev wg0 type wireguard and then i use command wg-quick up wg0 and it's worked!

Guides that i use: first , second - for comparison

I think it’s worth based on this information to expand your guide to help others use your development. Thank!

P.S.: I want to note that no other methods that I tried worked: your guide does not describe all the nuances listed above, and the WireGuard quick guide is too incomprehensible and not applicable to your development.

Internet gets disabled when I try to run wg client

Timeout error as the internet gets disabled when running the wg-quick up wgcf-profile.conf. In my mobile, the app 1.1.1.1 works fine. Also, I didn't get this issue on windows laptop(downloading, browsing all works fine) but on ubuntu after sometime internet gets disabled when try to run wg client.

ravinder@ravinder-Aspire-A515-51:$ wg-quick up wgcf-profile.conf
[#] ip link add wgcf-profile type wireguard
[#] wg setconf wgcf-profile /dev/fd/63
[#] ip -4 address add 172.16.0.2/32 dev wgcf-profile
[#] ip -6 address add fd01:5ca1:ab1e:8c92:3e75:2f5:4a5e:47d1/128 dev wgcf-profile
[#] ip link set mtu 1420 up dev wgcf-profile
[#] resolvconf -a tun.wgcf-profile -m 0 -x
[#] wg set wgcf-profile fwmark 51820
[#] ip -6 route add ::/0 dev wgcf-profile table 51820
[#] ip -6 rule add not fwmark 51820 table 51820
[#] ip -6 rule add table main suppress_prefixlength 0
[#] ip6tables-restore -n
[#] ip -4 route add 0.0.0.0/0 dev wgcf-profile table 51820
[#] ip -4 rule add not fwmark 51820 table 51820
[#] ip -4 rule add table main suppress_prefixlength 0
[#] sysctl -q net.ipv4.conf.all.src_valid_mark=1
[#] iptables-restore -n
ravinder@ravinder-Aspire-A515-51:$ ./wgcf_1.0.5_linux_amd64 trace --config "ravinder_private/warp+.toml"
2020/04/25 10:45:54 Using config file: ravinder_private/warp+.toml
2020/04/25 10:46:14 Get "https://cloudflare.com/cdn-cgi/trace": dial tcp: lookup cloudflare.com on 127.0.0.53:53: read udp 127.0.0.1:36291->127.0.0.53:53: i/o timeout
ravinder@ravinder-Aspire-A515-51:$ wg-quick down wgcf-profile.conf
[#] ip -4 rule delete table 51820
[#] ip -4 rule delete table main suppress_prefixlength 0
[#] ip -6 rule delete table 51820
[#] ip -6 rule delete table main suppress_prefixlength 0
[#] ip link delete dev wgcf-profile
[#] resolvconf -d tun.wgcf-profile -f
[#] iptables-restore -n
[#] ip6tables-restore -n

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.