# x-ui-yg: a one-script Xray panel with Argo tunnels, Hysteria2 and Psiphon routing

> x-ui-yg is a modified x-ui install script that adds Hysteria2, XHTTP, Argo tunnels and Psiphon egress to the familiar Xray panel. It is aimed at single-VPS operators who want a browser UI instead of hand-written Xray configs, and its binaries are not open source.

**yonggekkk/x-ui-yg** — x-ui精简修改版脚本，支持Hysteria2、Xhttp传输协议、ENC加密、MLDSA65加密，集成argo固定临时双隧道（可共存）、Psiphon赛风VPN（30个国家）分流功能，支持部分节点聚合订阅、sing-box订阅、clash-meta订阅的配置输出

- Repository: https://github.com/yonggekkk/x-ui-yg
- Website: https://ygkkk.blogspot.com/2023/05/reality-xui-chatgpt.html
- Stars: 4,069 · Forks: 1,372
- Language: Shell
- License: not declared
- Published: 2026-09-14 · Updated: 2026-09-14 · Language: en
- Canonical page: https://hysenlabs.com/projects/yonggekkk-x-ui-yg

## What x-ui-yg adds on top of the vaxilu x-ui panel

The README is explicit about its lineage: the panel settings are kept as close as possible to the original vaxilu x-ui, and the code is described as an integration of referenced projects, listing vaxilu/x-ui, MHSanaei/3x-ui, qist/xray-ui and bepass-org/warp-plus. So the base object is a web panel that manages Xray on a single machine. What x-ui-yg layers on top is the reason someone picks this fork rather than upstream.

The added surface, per the repository description, is Hysteria2, the XHTTP transport, ENC encryption, MLDSA65 encryption, Argo fixed and temporary tunnels that can coexist, Psiphon egress across 30 countries, and subscription output for aggregated nodes, sing-box and clash-meta. That is a lot of moving parts for one shell script. The audience is correspondingly narrow: a single operator with a VPS who wants a browser UI and prebuilt subscription files, not a team deploying a managed proxy fleet.

One design claim is worth repeating because it is unusual. The README states that subscription nodes are generated locally, without third-party conversion links, so the subscription content is not visible to an external link author. If you have ever pasted a node URI into a public converter to get a Clash config, that sentence is the pitch.

## How the install script and the panel fit together

The repository layout is small: README.md, config.json, install.sh, ssh.yml, version, and two binaries named xuiwpph_amd64 and xuiwpph_arm64. The architecture follows directly from that listing. install.sh is the entry point, and it selects the binary matching the machine architecture. The README says the script supports pure IPv4, pure IPv6, AMD64 and ARM64 VPS hosts, and Alpine, while recommending the latest Ubuntu.

config.json and version sit alongside the binaries, which is what you would expect from an x-ui style deployment: the panel keeps its own configuration and version marker, and the shell script orchestrates installation and updates. ssh.yml is not described in the README, so its role cannot be confirmed from what the repository states.

The important structural fact is the last line of the README: the binary files are not open source, and readers who mind that are told not to install. Everything the panel does at runtime, including the Argo tunnel handling and the Psiphon routing, lives inside those two prebuilt binaries. The shell script is readable; the program it installs is not.

## Installing x-ui-yg and reaching the panel for the first time

The README gives two equivalent one-liners. Both download install.sh from the main branch and pipe it into bash. Run one of them as root on a fresh VPS.

```bash
bash <(wget -qO- https://raw.githubusercontent.com/yonggekkk/x-ui-yg/main/install.sh)
```

The alternative uses curl instead of wget, which matters on minimal images where wget is absent:

```bash
bash <(curl -Ls https://raw.githubusercontent.com/yonggekkk/x-ui-yg/main/install.sh)
```

The script presents a menu; the README's preview screenshot shows the menu with all optional features enabled and notes that the parameters in it are arbitrary and only for illustration. After installation you reach the panel through a browser, set the listening port, and add an inbound. The README does not document default credentials, a default port, or the exact post-install output, so treat the first-run prompts as the source of truth rather than any number quoted in a third-party guide.

For the container route, the README points to a separate repository, ShaoG-R/x-ui-yg-docker, maintained by ShaoG-R. That is a distinct project, not a mode of this script, and its documentation is not part of this repository.

If you want the panel in another language, the README does not cover it; language selection is a panel setting rather than an install-time flag.

## The closed binaries are the decision point, not a footnote

Most reviews would bury this. It deserves its own section. The README's final line states that the binaries are not open source and advises anyone uncomfortable with that not to install. The repository is Shell at the top level, so a reader who skims the language badge may assume the whole thing is auditable. It is not. install.sh is auditable; xuiwpph_amd64 and xuiwpph_arm64 are opaque.

That has a practical consequence. You cannot verify how Psiphon routing selects a country, how the Argo tunnel credentials are handled, or what the ENC and MLDSA65 options actually do to traffic, because the implementation is not in the repository. The README also does not state a licence, and the repository metadata shows no licence file. Without a declared licence you have no explicit grant of rights, which is a question for your own counsel rather than something this article can settle.

A second limitation is structural: this is a single-host panel. Nothing in the README describes clustering, multi-tenant separation or a documented API for automation. If you need to manage dozens of nodes from one control plane, the design does not address it.

Finally, the README leans on external material. Configuration details, caveats and the reasoning behind the options live on a blog page and in a series of YouTube videos rather than in the repository. The README itself says to consult the blog for notes and caveats. That is a real documentation gap for anyone who prefers text they can search.

## x-ui-yg versus 3x-ui and plain vaxilu x-ui

The honest comparison is with the projects this one names as its sources. vaxilu/x-ui is the original panel the README says it keeps settings compatible with. MHSanaei/3x-ui is the actively developed upstream that most people mean when they type 3x-ui into a search box. Both are open source projects with their own repositories.

The difference in approach is scope. Upstream x-ui and 3x-ui give you the panel and the Xray management; you add transports and tunnels yourself, or through their own features, and you can read the code that runs. x-ui-yg bundles opinionated extras: Argo tunnels, Psiphon egress, Hysteria2, XHTTP, and local generation of sing-box and clash-meta subscription files. If those extras are exactly what you were going to assemble by hand, the script saves you the assembly. If they are not, you have taken on closed binaries for features you will not use.

There is also a maintenance dimension. The last push to this repository was on 2026-09-02, and the two most recent releases are xui_ygb from 2025-06-10 and xui_yg from 2025-03-12. So the script sees recent activity while tagged releases are older. Upstream 3x-ui has its own release cadence, which you should check directly rather than take from this page. The practical question is not which is better in the abstract but whether you want the extras badly enough to accept a binary you cannot read.

## Maintenance cost and what upgrading looks like

Upgrade cost is where a fork with prebuilt binaries differs from a normal package. The README gives no upgrade command, no rollback procedure, and no statement about how config.json survives a reinstall. Because config.json and version sit in the repository alongside install.sh, the plausible model is that the script writes those files on the host and the panel reads them, but the README does not document the update path, so verify it before you rely on it.

What the README does document is a video covering data reset, backup and restore operations for the panel. That is the closest thing to an upgrade story in the repository: back up first, and expect the restore path to be manual.

The maintenance burden has three parts. First, you track a fork whose release tags lag its commits, so deciding what to run means reading the commit history rather than picking a version. Second, the extras (Argo, Psiphon, Hysteria2) depend on external services with their own availability, and the README does not describe what happens when one of them is unreachable. Third, the licence is undeclared, so redistribution and commercial use are unresolved questions you would need to raise with a lawyer.

On the plus side, the install is a single command and the panel is self-contained on one host. For a personal VPS, that is a small operational surface. For anything with an uptime commitment, the absence of documented rollback is the part to weigh.

## Conclusion

Adopt x-ui-yg if you run one VPS, want a web panel rather than hand-edited Xray JSON, and accept that the shipped binaries are not open source and the licence is undeclared. Skip it if you need auditable builds, multi-tenant isolation or a documented API, and use upstream 3x-ui instead. Before installing, read the blog page linked from the README, confirm the install.sh hash you download, and decide whether you can live with binaries you cannot inspect.

## FAQ

### How do I install x-ui-yg?

Run one of the two one-liners from the README as root, either piping the install script through wget or through curl. The script then presents a menu for the optional features.

### How do I change the x-ui-yg panel language?

The README does not document a language setting or an install-time flag for it. Language selection, if present, is a panel setting you would look for after logging in.

### What does Windows X UI do?

The README describes x-ui-yg as a Linux VPS install script for Xray, with no Windows support mentioned. The supported targets it lists are pure IPv4, pure IPv6, AMD64, ARM64 and Alpine.

## Sources

- [Issues](https://github.com/yonggekkk/x-ui-yg/issues)
- [Project website](https://ygkkk.blogspot.com/2023/05/reality-xui-chatgpt.html)
- [README](https://github.com/yonggekkk/x-ui-yg/blob/main/README.md)
- [Releases](https://github.com/yonggekkk/x-ui-yg/releases)
- [yonggekkk/x-ui-yg on GitHub](https://github.com/yonggekkk/x-ui-yg)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/yonggekkk-x-ui-yg
