warp-yg: a one-command WARP installer that switches between warp-go and wgcf
warp多功能一键脚本,支持warp-go与wgcf切换,无限生成warp配置文件,支持升级warp+、warp团队账户,查看VPS本地IP、netflix、chatgpt解锁状态
At a glance
- What is it?
- warp-yg is a Shell script collection for registering Cloudflare WARP on a VPS, generating WireGuard profiles on demand, and checking which streaming services the resulting IP unlocks. It is convenient, but the README is thin on rollback and the licence is not stated.
- Who is it for?
- warp-yg suits people who already run a Linux VPS and want WARP registered without reading the wgcf or warp-go documentation themselves, especially if they want to compare the two backends or produce WireGuard profiles for phones and routers.
- Can I use it commercially?
- Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
- Is it still maintained?
- Yes. The repository last received commits 106 days ago.
- What is it written in?
- Mainly Shell, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
What warp-yg actually does that wgcf and warp-go do not
Cloudflare WARP is a WireGuard-based tunnel, and the two upstream tools that register it, wgcf and warp-go, are separate projects with separate configuration formats. wgcf writes a WireGuard profile you can hand to wg-quick or a client; warp-go runs its own daemon and account handling. Choosing between them normally means reading two READMEs, learning two sets of commands, and deciding which one behaves better on your particular VPS.
warp-yg collapses that decision into a menu. The README describes it as a multi-function one-click script that supports switching between warp-go and wgcf, generates WARP configuration files without a fixed limit, upgrades an account to WARP+ or a WARP team account, and reports the VPS local IP along with Netflix and ChatGPT unlock status. The audience is narrow and specific: someone with a VPS, usually a pure IPv4 or pure IPv6 one, who wants WARP running and wants to know whether the exit IP is worth anything for streaming or for reaching services that block datacentre ranges. It is not a general VPN manager and it does not target desktop users, apart from a separate Windows application bundled as a zip archive.
The two backends, the endpoint selection, and where the files land
The repository is a small set of top-level entries: CFwarp.sh, the Windows archive, english.md, a version file, warp.exe and ygkkkkeys.txt. CFwarp.sh is the VPS entry point, and the README's menu description implies it dispatches to either warp-go or wgcf depending on what you pick. That matters because the two backends fail differently. warp-go runs as a process you terminate with a signal, while wgcf is driven through wg-quick and stopped as a systemd unit. The README's troubleshooting section reflects exactly this split, giving one command per backend rather than a single stop command.
Endpoint selection is handled by a second script, distributed from a GitLab raw URL, which probes candidate WARP peer IPs and writes out WireGuard configurations. The README recommends running it on phones on a local network, which suggests the output is a profile you import into a WireGuard client rather than something the script applies to the host. A Replit-hosted registration page is offered as an alternative way to generate profiles without a VPS, with the note that you must log in and fork before it will run. The VPS script also reports the local IP and the unlock status for Netflix and ChatGPT, which is the part most users actually care about, since WARP exit addresses are shared and their reputation changes over time.
Installing warp-yg on a VPS and taking the first look
The README gives two equivalent one-liners. Both download CFwarp.sh and pipe it straight into bash, so nothing is written to disk and there is no package to manage afterwards. Run one of them as root on a supported Linux system.
bash <(wget -qO- https://raw.githubusercontent.com/yonggekkk/warp-yg/main/CFwarp.sh)The alternative uses curl instead of wget, which matters on minimal images where wget is missing.
bash <(curl -Ls https://raw.githubusercontent.com/yonggekkk/warp-yg/main/CFwarp.sh)Either command should present the interactive menu shown in the README screenshot. From there you choose the backend and let the script register the account and bring the tunnel up. Because the script is fetched from raw.githubusercontent.com, a VPS that cannot resolve or reach that host will fail before the menu appears, which the README lists as one of the symptoms that calls for stopping WARP and restarting or reinstalling it.
For a WireGuard profile rather than a tunnel on the VPS itself, the README points at the endpoint script. It downloads, marks executable, and runs in one line.
curl -sSL https://gitlab.com/rwkgyg/CFwarp/raw/main/point/endip.sh -o endip.sh && chmod +x endip.sh && bash endip.shThis one does leave endip.sh in the working directory. The README suggests running it on a phone on a local network, so treat the output as a profile to import rather than a change to the host.
When the tunnel breaks: the stop commands and the missing uninstall
The README's warning paragraph is the most honest part of the document. It lists IP loss, sluggish VPS performance, failed downloads, and an unreachable script menu as symptoms, and tells you to terminate WARP before rebooting or reinstalling. The two commands are backend-specific.
kill -15 $(pgrep warp-go)For wgcf, the equivalent is a systemd stop, which is a different failure model: the tunnel is a unit, so it can be disabled and re-enabled rather than killed.
systemctl stop wg-quick@wgcfWhat the README does not document is rollback. There is no uninstall command, no list of files the script adds to the system, and no statement about whether a previously working network configuration is restored. If the script edits routing or DNS and you then lose SSH, the recovery path is your VPS provider's console, not the script. That is the real cost of a piped one-liner: convenience at install time, and no documented exit. Treat a VPS where you have no out-of-band console as the wrong place to try this.
How warp-yg compares with running wgcf or warp-go directly
The honest alternative is the two upstream projects the README credits: ViRb3/wgcf and ProjectWARP/warp-go. Running wgcf directly means you install a single Go binary, run its register and generate commands, and end up with a standard WireGuard profile you can copy anywhere. The difference is not capability, it is where the decision lives. With wgcf alone you decide the profile format and manage wg-quick yourself; with warp-yg the script makes those choices through a menu and adds account upgrade and unlock checking on top.
warp-go takes a different route again. It is a daemon that manages the account and the tunnel together, so there is no profile file to move to another device. That makes it convenient on a server and useless for a phone. warp-yg's value is that it lets you try both without committing, and adds the endpoint probing and unlock checks that neither upstream tool ships. If you only ever want a WireGuard profile, wgcf plus wg-quick is fewer moving parts and a smaller thing to trust. If you want the unlock status and the endpoint scan, the script is doing work you would otherwise script yourself.
Maintenance, updates, and the licence question
The repository carries no releases, so there is no versioned artefact to pin. The last push was on 2026-06-02, which is recent enough that the code is not abandoned, but the update channel described in the README is a blog changelog and a YouTube playlist rather than tags or release notes. Upgrading therefore means re-running the same one-liner and hoping the current main branch is compatible with whatever state your VPS is in. There is no documented downgrade, and the version file at the top level is the only in-repo signal of what you are running.
The licence is not stated anywhere in the repository. Without a licence file, the default position is that no permission is granted, which is a problem for anyone who wants to redistribute the script, bundle it into an image, or use it inside a company. That is not a legal opinion, just a description of what the repository does and does not say. If you need a clear licence, wgcf and warp-go are the projects to check instead, since the README links to them as the upstream sources.
Editorial conclusion
warp-yg suits people who already run a Linux VPS and want WARP registered without reading the wgcf or warp-go documentation themselves, especially if they want to compare the two backends or produce WireGuard profiles for phones and routers. It is a poor fit for anyone who needs a supported product with a stated licence, a documented uninstall path, or an upgrade policy: the repository states no licence, the README documents only how to kill the two WARP daemons, and the project moves through blog and video updates rather than tagged releases. Before running it on a machine you care about, confirm that the VPS has working outbound HTTPS, that you can reach raw.githubusercontent.com, and that you are willing to reinstall the VPS if the IP is lost.
Frequently asked questions
What does warp-yg do?
It is a Shell script collection that installs Cloudflare WARP on a Linux VPS, lets you switch between the warp-go and wgcf backends, generates WARP WireGuard configuration files, and reports the VPS local IP with Netflix and ChatGPT unlock status.
How do I install warp-yg on a VPS?
The README gives a one-liner that pipes CFwarp.sh into bash, using either wget or curl, for example bash <(wget -qO- https://raw.githubusercontent.com/yonggekkk/warp-yg/main/CFwarp.sh). It supports pure IPv4 and pure IPv6 VPS on mainstream Linux systems and presents an interactive menu.
How do I stop warp-yg if my VPS loses its IP or slows down?
The README says to terminate WARP first, then reboot or reinstall. For warp-go it gives kill -15 $(pgrep warp-go), and for wgcf it gives systemctl stop wg-quick@wgcf.
Can I generate WARP WireGuard configs without a VPS?
Yes. The README offers a Replit registration page for generating WARP WireGuard configurations, noting that you must log in and fork before it will run, and a separate endpoint script that the README suggests using on phones on a local network.
Does warp-yg support WARP+ or WARP team accounts?
The README lists upgrading to WARP+ and upgrading to a WARP team account among the script's functions, alongside switching between warp-go and wgcf.
Community notes