受欢迎的博客标签

How to Install Cloudflare Tunnel Client On Windows 10 Step by Step(command line method)?

Published

GUI Method

CLI Method-->command line

 

Requirements

Cloudflare Account (free)
Domain added to Cloudflare (using CF nameservers, etc)
Linux server with a web server already configured on it
No ports need to be port forwarded or allowed through your firewall

Quick tutorial

CLI Method-This can be done through the following steps:

Create a Cloudflare Account 

Add Site-Add a website Domain to your Cloudflare account.
Change your domain nameservers to Cloudflare

Download the latest version of cloudflared(rename your download to cloudflared.exe)
Install Cloudflared

check cloudflared version

Authenticate cloudflared-Connect Your Cloudflare Account,cloudflared tunnel login,Generate an account certificate, the cert.pem file, in the default cloudflared directory.


Create a Tunnel
Route traffic to your tunnel


Click the Add an Xiaomi Miot Auto Integration 

 

cloudflared version
cloudflared update

cloudflared tunnel login   -->Generate an account certificate, the cert.pem file

cloudflared tunnel create xiaomi --> Create a Tunnel,建立隧道,生成 .json 凭据文件,用于当前隧道的认证
cloudflared tunnel route dns xiaomi xiaomi.msly.cn  -->Route traffic to your tunnel, 把域名然后把域名 CNAME到 7357f5c5-c274-4464-a61a-63ee07af8cca.cfargotunnel.com

cloudflared tunnel run xiaomi
cloudflared tunnel --config ./config.yml run
cloudflared  --config ./config.yml tunnel run
C:\Cloudflared\bin\cloudflared.exe --config=C:\Users\%USERNAME%\.cloudflared\config.yml tunnel run
cloudflared tunnel --url localhost:4999 --no-chunked-encoding run xiaomi
cloudflared tunnel --hostname xiaomi.msly.cn --url http://localhost:4999 --no-tls-verify

cloudflared tunnel list
cloudflared tunnel info xiaomi

https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/tunnel-useful-commands/

 

Step 1:Install cloudflared on windows

F:\CloudflareArgoTunnel>systeminfo

output

F:\CloudflareArgoTunnel>systeminfo

主机名:           SRKSERVER
OS 名称:          Microsoft Windows 10 专业版
OS 版本:          10.0.19044 暂缺 Build 19044
OS 制造商:        Microsoft Corporation
OS 配置:          独立工作站

通过GitHub下载适用于 Windows 的安装包 这里包含了两种版本 386=i1386 也就是 32 位的 Windows 系统 amd64 也就是 64 位的 Windows 系统 我们下载.exe 可执行文件

官网客户端下载

https://github.com/cloudflare/cloudflared/releases

https://github.com/cloudflare/cloudflared/releases/download/2022.6.3/cloudflared-windows-amd64.exe

rename your download to cloudflared.exe

cloudflared-windows-amd64 .exe
ren cloudflared-windows-amd64 .exe cloudflared.exe

Step 2:check Argo Tunnel run ok

下载好后把文件改名为 cloudflared.exe 然后把他复制到F:\CloudflareArgoTunnel

F:\CloudflareArgoTunnel>cloudflared.exe --version

如果跳出版本号就成功了.

output

cloudflared version 2022.5.1 (built 2022-05-11-1402 UTC)

update to latest version

F:\CloudflareArgoTunnel>cloudflared update
2022-06-23T22:30:16Z INF cloudflared has been updated version=2022.6.3
cloudflared has been updated to version 2022.6.3

F:\CloudflareArgoTunnel>cloudflared version
cloudflared version 2022.6.3 (built 2022-06-20-1350 UTC)

Step 3: Authenticate cloudflared-Connect Your Cloudflare Account,cloudflared tunnel login

cloudflared tunnel login # 登录,生成 cert.pem

output

F:\CloudflareArgoTunnel>cloudflared tunnel login
A browser window should have opened at the following URL:

https://dash.cloudflare.com/argotunnel?callback=https%3A%2F%2Flogin.cloudflareaccess.org%2F0J95PeYtUJQXW6UYwxPROIPUvBmi0%3D

If the browser failed to open, please visit the URL above directly in your browser.
You have successfully logged in.
If you wish to copy your credentials to a server, they have been saved to:
C:\Users\Administrator2\.cloudflared\cert.pem

 

 

Upload your Tunnel certificate
Your browser has downloaded the certificate required to configure the cloudflared client on your machine.
Copy the certificate to your home directory or manually configure Cloudflare Tunnel with the path to the certificate using the --origincert option.

Windows配置文件默认目录是%USERPROFILE%\.cloudflared

接着你需要打开Cloudflare Argo Tunnel 的授权页面 在里面点击你要授权 Argo Tunnel 的域名 接着会弹出来一个弹窗

 
提示你点击授权,照着文字点就行 然后你的浏览器会自动下载一个叫 cert.pem 的文件 复制它 然后进入到你的用户文件夹,创建一个.cloudflared 文件夹 将文件粘贴进去 这样就完成了对 Argo Tunnel 的配置.

Success
Cloudflared has installed a certificate allowing your origin to create a Tunnel on this zone.

You may now close this window and start your Cloudflare Tunnel!

 

Create a Tunnel-创建 Argo 隧道-建立隧道,生成 .json 凭据文件,用于当前隧道的认证

 

./cloudflared.exe tunnel create <你想要的隧道名称>
or
cloudflared tunnel create <TUNNEL-NAME>

cloudflared.exe tunnel create xiaomi

output

F:\CloudflareArgoTunnel>cloudflared.exe tunnel create xiaomi
Tunnel credentials written to C:\Users\Administrator2\.cloudflared\1b65b260-4420-40ef-bc3e-6960447f8851.json. cloudflared chose this file based on where your origin certificate was found. Keep this file secret. To revoke these credentials, delete the tunnel.

Created tunnel xiaomi with id 1b65b260-4420-40ef-bc3e-6960447f8851

C:\Users\Administrator2\.cloudflared\1b65b260-4420-40ef-bc3e-6960447f8851.json

{
"AccountTag":"dfc09f04ef21f0f5d7efab13036d41aa",
"TunnelSecret":"WFaaER25DogWyrCUCuWw/5XAK5c9HHrSffJCb8=",
"TunnelID":"1b666b260-442000-40ef-bc3e-991"
}

Note:

F:\CloudflareArgoTunnel>cloudflared tunnel --hostname xiaomi.msly.cn --url http://localhost:4999 --no-tls-verify

output

you are using Cloudflare Tunnel in a (legacy) way that is no longer supported.Migrate to Named Tunnels to continue exposing your private origin through Cloudflare's Network.You can follow this guide: https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/do-more-with-tunnels/migrate-legacy-tunnels as an example.Alternatively, you can go to https://dash.teams.cloudflare.com/ -> Access -> Tunnels -> Create and rely on the User Interface instead.

 

Route traffic to your tunnel-Adding a DNS record for the tunnel-连接 Argo 隧道

./cloudflared tunnel --config path/config.yaml run <刚刚的隧道名> --url <本地URL(可以带端口)>

# 把域名然后把域名 CNAME到 7357f5c5-c274-4464-a61a-63ee07af8cca.cfargotunnel.com
cloudflared tunnel route dns xiaomi xiaomi.msly.cn  

output

cloudflared tunnel route dns xiaomi xiaomi.msly.cn
2022-06-23T16:53:04Z INF Added CNAME xiaomi.msly.cn which will route to this tunnel tunnelID=1b6520-40ef-bc3e-6960447f8851

The command will create a CNAME record that points to the tunnel subdomain, but will not proxy traffic if the tunnel is not currently running.

you will see as follow from the Cloudflare dashboard :

 

 

 Configure a Tunnel ->Configure a Tunnel instructions to create a config file with ingress rules.
The ingress rules describe how to dispatch requests to your origins based on hostname and path. 
config.yml

#在.json 凭据文件的同一目录建立 config.yml 文件

#credentials-file: "C:/Users/Administrator/.cloudflared/7357f5c5-c274-4464-a61a-63ee07af8cca.json"
tunnel: new-website
hostname: launchpad.domain.com
url: https://localhost:443
logfile: "C:/Users/Administrator/.cloudflared/cloudflared.log"
no-tls-verify: true

 

# 然后把域名然后把域名 CNAME到 7357f5c5-c274-4464-a61a-63ee07af8cca.cfargotunnel.com

cloudflared tunnel route dns <UUID or NAME> www.app.com

cloudflared tunnel run

sc start cloudflared tunnel run

cloudflared tunnel list
cloudflared tunnel delete <NAME>
cloudflared tunnel delete -f <NAME>

Useful links

https://cloud.tencent.com/developer/article/1987534

https://www.1024sou.com/article/246656.html

https://www.cnblogs.com/yisuo/p/14882253.html

https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/installation#windows