ViRb3 / wgcf

🚀 Cross-platform, unofficial CLI for Cloudflare Warp
MIT License
6.23k stars 690 forks source link

WARP+ not work #85

Open ViRb3 opened 3 years ago

ViRb3 commented 3 years ago

According to @galpt in #84 and this Reddit discussion, some people are having problems with WARP+ after changing their key. If you are one of these people, please post here so I can track the significance of this issue. I will try to investigate in the next few days, but until then, @galpt has posted a workaround:

How to fix the WARP+ issue

Based on this post, some people are unable to get the warp=plus working and only get the warp=on even after they've changed the license key. However, you can solve this issue with some simple steps:

⚠️ Please save the WARP+ key on your phone before doing any of these steps.

  1. After generating the wgcf-account.toml, use the license_key from the file on your phone
  2. Open the 1.1.1.1 app
  3. Click on the hamburger menu button on the top-right corner
  4. Navigate to Account > Manage devices and you'll see your wgcf device there
  5. Now, copy your WARP+ key back to Account > Key and to the wgcf-account.toml
  6. After that, run this command
wgcf update
  1. After running the command, connect using WireGuard
  2. While connected, run this command to see if it works as expected
wgcf trace
  1. The result will show warp=plus instead of warp=on

[Note] If it doesn't work, you probably have to repeat step 1-5 since the fix is between these steps.

galpt commented 3 years ago

It seems that there's an unknown problem between the wgcf-account.toml and the account on the 1.1.1.1 app as they don't synchronize well β€” resulting the warp=on instead of warp=plus. Somehow doing these steps can trigger something that will affect the wgcf-account.toml warp status to be updated. It's quite easy to reproduce the issue but I'm not sure if these steps will work immediately for others since I've only tried it once and the problem's gone. But I would love to hear more from this issue as it progresses.

Leozaki commented 3 years ago

Former

TCP/IP Fingerprint

OS | Linux 2.2-3.0 Link | Ethernet MTU | 1500 Distance | 5 Hops

Now TCP/IP Fingerprint OS Windows (NT kernel) Link generic tunnel or VPN MTU 1420 Distance 13 Hops

Warp+ never uses argo tunnel now. so, now, Warp+ = Warp free .

galpt commented 3 years ago

@Leozaki While I'm not sure what're you comparing about, one thing that I'm sure of is that warp=plus β‰  warp=on and you can check it yourself by going through here. Please note that warp=plus uses Argo Smart Routing and not Argo Tunnel (they're 2 different things), and while you're using warp=plus, your ISP may route you to a faraway Cloudflare POPs instead of the nearest one because perhaps your ISP did that on purpose to save cost β€” this is resulting in you're getting extra hops because you aren't connected to the nearest Cloudflare POP.

Also Argo Smart Routing doesn't really increase your browsing speed because it doesn't cache anything. No caching means it won't get any snappier than today's warp=plus.

WinkelCode commented 3 years ago

Not sure if "after changing their key" refers to someone with a new license/subscription (I have had mine for a while now) but I have been using WGCF since the python version and set it up just recently on a new PC and everything (Warp+ included) works fine, didn't have to do anything special, just worked by following the normal instructions.

I remember when I first set it up using the python version, I did have issues where it would show up as Warp free but it just fixed itself after a bit.

Edit: I regularly check the trace website whenever I use WARP+ so it's not intermittent, it works consistently showing up as "warp=plus".

galpt commented 3 years ago

@martinsstuff Based on this Reddit post, it seems the warp=on problem can be reproduced by creating a new wgcf profile. So, if we're using the old generated wgcf profile with warp=plus, there shouldn't be any problem. But if we're generating a new wgcf profile and then using a warp+ unlimited key from the 1.1.1.1 app, the wgcf doesn't seem to switch to warp=plus.

WinkelCode commented 3 years ago

@galpt When I set it up on the new PC (a couple days ago) I ran these commands:

.\wgcf_2.2.3_windows_amd64.exe register

(then I inserted the license key into the profile)

.\wgcf_2.2.3_windows_amd64.exe update

.\wgcf_2.2.3_windows_amd64.exe generate

I then loaded the generated profile into the WireGuard client and it immediately worked with Warp+ (warp=plus).

Leozaki commented 3 years ago

but i don't think Argo Smart Routing may work in my account any more(my accound have unlimited WARP+ subscribe). by connect to my VPS.. it is slower than before(limited WARP+ subscribe)...

Sent with ProtonMail Secure Email.

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ 在 2021εΉ΄4月25ζ—₯星期ζ—₯ε‡Œζ™¨12η‚Ή41εˆ†οΌŒgalpt @.***> ε―«ι“οΌš

@Leozaki While I'm not sure what're you comparing about, one thing that I'm sure of is that warp=plus β‰  warp=on and you can check it yourself by going through here. Please note that warp=plus uses Argo Smart Routing and not Argo Tunnel (they're 2 different things), and while you're using warp=plus, your ISP may route you to a faraway Cloudflare POPs instead of the nearest one because perhaps your ISP did that on purpose to save cost β€” this is resulting in you're getting extra hops because you aren't connected to the nearest Cloudflare POP.

Also Argo Smart Routing doesn't really increase your browsing speed because it doesn't cache anything. No caching means it won't get any snappier than today's warp=plus.

β€” You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

adldeez commented 3 years ago

Same problem. It seems the private key and the deviceID won't change after my first connection to the warp, then all connection is warp rather than warp+.

I tried delete the old wgcf-account.toml and register a new account without generate or connection and then change the licence key to warp+ and It works well with warp+.

ZayRTun commented 3 years ago

I had the same issue but now I got it to work, thanks to adldeez.

step 1. Delete the wgcf-account.toml and also the generated profile step 2. Register new account with wgch register step 3. Add the license key to your generated wgcf-account.toml file using vim then wgcf update step 4. Generate the profile with wgcf generate, this should create the wgcf-profile.conf step 5. Now connect using the generated wgcf-profile.conf

I hope that works for you, it worked for me.

anees264 commented 3 years ago

I'm having the same issue, with free account it works!, but when i update the config with warp+ license key it doesn't even connect to internet.

Woundmanlol commented 3 years ago

I had the same issue but now I got it to work, thanks to adldeez.

step 1. Delete the wgcf-account.toml and also the generated profile step 2. Register new account with wgch register step 3. Add the license key to your generated wgcf-account.toml file using vim then wgcf update step 4. Generate the profile with wgcf generate, this should create the wgcf-profile.conf step 5. Now connect using the generated wgcf-profile.conf

I hope that works for you, it worked for me.

These exact steps worked for me. Thank you.

anees264 commented 3 years ago

I'm having the same issue, with free account it works!, but when i update the config with warp+ license key it doesn't even connect to internet.

Update: It worked!, in my case the issue was with the generated wireguard profile. I changed the Interface address to DHCP IP Address.

Leozaki commented 3 years ago

i think it may the issue of CloudFlare.... tls=TLSv1.3 sni=off warp=plus gateway=off but dont have argo smart route to any servers.

phlinhng commented 3 years ago

@ZayRTun your steps work for me too. Greatly appreciated.

berkant commented 3 years ago

@Leozaki how do you check if you're on Argo Smart Routing?

alexyangjie commented 3 years ago

I am having the same issue as @Leozaki,

This is what I get:

tls=TLSv1.3 sni=plaintext warp=plus gateway=off

But it seems the smart routing is not working anymore. I usually test the smart routing by using Speedtest app to connect to different test servers around the world, and the ip will usually change for different regions. E.g. when connecting to a site in Paris, the Cloudflare ip in France will appear in the result. But not anymore. The ip will always be the same local Cloudflare ip. Not sure if that's the expected behaviour now.

This happens even I am using the 1.1.1.1 app on an iPhone. So it might not be a profile issue but an issue at Cloudflare side.

Septrum101 commented 3 years ago

I had the same issue but now I got it to work, thanks to adldeez.

step 1. Delete the wgcf-account.toml and also the generated profile step 2. Register new account with wgch register step 3. Add the license key to your generated wgcf-account.toml file using vim then wgcf update step 4. Generate the profile with wgcf generate, this should create the wgcf-profile.conf step 5. Now connect using the generated wgcf-profile.conf

I hope that works for you, it worked for me.

it works for me!!!! thank you.

ivanjx commented 2 years ago

i got warp=plus even though i dont use the license key from my phone. i also never installed cloudflare warp on my windows machine. is that normal?

WinkelCode commented 2 years ago

I haven't used WARP in a while but I believe you automatically get a couple GiB of free plus bandwidth.

ihipop commented 1 month ago

I had the same issue but now I got it to work, thanks to adldeez. step 1. Delete the wgcf-account.toml and also the generated profile step 2. Register new account with wgch register step 3. Add the license key to your generated wgcf-account.toml file using vim then wgcf update step 4. Generate the profile with wgcf generate, this should create the wgcf-profile.conf step 5. Now connect using the generated wgcf-profile.conf I hope that works for you, it worked for me.

These exact steps worked for me. Thank you.

this works the sequence is very important, if you run wgcf update/generate first, then update the license key and run wgcf update/generate again, the connection still remains as a free plan

I think it might be because this PR https://github.com/ViRb3/wgcf/pull/355 to fix the IPv6 connectivity the ipv6 address is bonded to the private key at the first update/generate

so we have to update the license key with the PLUS key the very first time when the bond is done, update without changing the private key won't change your plan to PLUS I think this is a Cloudflare issue because the official client also has this problem https://community.cloudflare.com/t/losing-ipv6-connectivity-with-warp/568971

this behavior should be documented for now until the issue is resolved by Cloudflare

galpt commented 1 month ago

@ihipop I think what should be documented in the readme is that whenever you change/update the license key, you need to re-generate the config again. I believe the official warp client (either desktop/mobile) will do the same thing in the background, it's just that users don't see the process and that gives the "seamless" experience switching between free & paid version of warp.

The readme still needs to add a note to regenerate .conf after updating the license key.

ihipop commented 1 month ago

@ihipop I think what should be documented in the readme is that whenever you change/update the license key, you need to re-generate the config again. I believe the official warp client (either desktop/mobile) will do the same thing in the background, it's just that users don't see the process and that gives the "seamless" experience switching between free & paid version of warp.

The readme still needs to add a note to regenerate .conf after updating the license key.

because of this PR https://github.com/ViRb3/wgcf/pull/355 , re-generate will not work, you have to add the license key before the very first time of update