explaingit

wulabing/xray_onekey

9,274ShellAudience · ops devopsComplexity · 3/5Setup · moderate

TLDR

A one-click shell script that fully configures an Xray proxy server on Linux using Nginx, VLESS, and XTLS, with automatic TLS certificate setup from Let's Encrypt, so traffic looks like normal HTTPS.

Mindmap

mindmap
  root((repo))
    What It Does
      Set up proxy server
      One command install
      Auto TLS certificate
    Tech Used
      Xray core
      Nginx web server
      VLESS and XTLS
      Let's Encrypt
    Requirements
      Domain name
      Linux VPS
      Clean environment
    Use Cases
      Proxy server setup
      Encrypted web traffic
      Manage with systemctl
    Audience
      Server admins
      Network privacy users
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Set up a fully configured Xray proxy server on a fresh Debian or Ubuntu VPS with a single command.

USE CASE 2

Automatically obtain and renew a TLS certificate from Let's Encrypt for your domain as part of the setup.

USE CASE 3

Retrieve the generated client connection settings from a known file path and connect with a compatible client app.

Tech stack

ShellNginxXrayLet's Encrypt

Getting it running

Difficulty · moderate Time to first run · 30min

Requires a domain name with DNS A record pointing to your server before running, must be on a clean server without a pre-existing Nginx installation.

License not mentioned in the explanation.

In plain English

This repository is a one-click shell script that sets up an Xray proxy server on a Linux machine using Nginx, VLESS, and XTLS. Xray is an open source network proxy tool. VLESS and XTLS are protocols used by Xray to route traffic through a server. Nginx is a web server that the script uses to handle incoming connections and make the traffic appear as normal HTTPS web traffic. The script automates the full server configuration so that once it finishes running, you can connect a compatible client using the output configuration it prints. It automatically obtains and renews a TLS certificate from Let's Encrypt, which handles the encryption for the connection. The script is targeted at Debian 9 or later, Ubuntu 18.04 or later, and CentOS 7 or later running on a server where you control the domain name. Before running it you need a domain name with its DNS A record pointing to your server. The script installs Nginx and the latest Xray core, configures them together, and writes the resulting client connection details to a file at a known path so you can retrieve them after setup. Basic start and stop commands use systemctl to manage the V2ray and Nginx services. The README is written primarily in Chinese and includes notes about system time accuracy requirements, a warning not to use the script on systems that already have Nginx installed through another method, and a recommendation to run it on a clean server environment. Community support is available through a Telegram group.

Copy-paste prompts

Prompt 1
Walk me through running the xray_onekey script on a fresh Ubuntu 20.04 VPS with my domain's DNS A record already pointing to it.
Prompt 2
After running xray_onekey, where do I find the client connection configuration file and how do I import it into a client app?
Prompt 3
How do I start or stop the Xray and Nginx services that the xray_onekey script installed, using systemctl?
Prompt 4
What DNS and system time requirements does xray_onekey check for before running the setup?
Prompt 5
How do I update the Xray core to the latest version after the initial xray_onekey setup is complete?
Open on GitHub → Explain another repo

← wulabing on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.