NidukaAkalanka / x-ui-english

English Version of X-UI, A Multi-protocol & Multi-user Xray Panel with a Web UI and a TG Bot
GNU General Public License v3.0
722 stars 237 forks source link
go go-telegram-bot-api golang javascript tls trojan tunnel-server v2ray vless vmess vpn vuejs ws x-ui xray

Total Downloads Last Version Last Release Date GitHub Stars GitHub Stars GitHub Forks

X-UI ENGLISH VERSION

For X-UI FARSI VERSION

Another Translated-to-English Version of X-UI; with some of more advanced features implemented.

A furthur development from my previous repo and kind a fork from taffychan's x-ui + hossinasaadi's x-ui, which all are forked from vaxilu's awesome project : a Multi-protocol Multi-user Xray Panel

Features

Preview

Telegram Bot Preview (Currently, only for V0.2)

Single Command Install & upgrade

bash <(curl -Ls https://raw.githubusercontent.com/NidukaAkalanka/x-ui-english/master/install.sh)

Manual install & upgrade

  1. First update your system and run the following commands. (Must have root user permissions)
    sudo su
    cd
  2. Then download the latest compressed package from /releases/latest, generally choose amd64 architecture
  3. Run the following commands respectively:

If your server cpu architecture is not amd64, replace * in the command with another architecture

rm x-ui/ /usr/local/x-ui/ /usr/bin/x-ui -rf
tar zxvf x-ui-linux-amd64.tar.gz
chmod +x x-ui/x-ui x-ui/bin/xray-linux-* x-ui/x-ui.sh
cp x-ui/x-ui.sh /usr/bin/x-ui
cp -f x-ui/x-ui.service /etc/systemd/system/
mv x-ui/ /usr/local/
systemctl daemon-reload
systemctl enable x-ui
systemctl restart x-ui

Install using docker

  1. Install docker
curl -fsSL https://get.docker.com | sh
  1. Install x-ui
mkdir x-ui && cd x-ui
docker run -itd --network=host \
    -v $PWD/db/:/etc/x-ui/ \
    -v $PWD/cert/:/root/cert/ \
    --name x-ui --restart=unless-stopped \
    enwaiax/x-ui:latest

Build your own image

docker build -t x-ui .

SSL certificate application

The script has 3 built-in SSL certificate application functions. Using a sub-domain is recommended.

How to get the Cloudflare Global API Key:

  1. Visit the link https://dash.cloudflare.com/profile/api-tokens
  2. Click on View Global API Key (See the screenshot below)
  3. You may have to re-authenticate your account. After that, the API Key will be shown (See the screenshot below)\

When using, just enter domain name, email, API KEY, the diagram is as follows:

Precautions:

IP Limitation and Multi-User on Same Port

There is almost nothing to explain abount Multi-User thing. You will have separate QR codes along with traffic calculation, expiry date setting and stuff.

The IP limitation woks as follows:

Occasion:

Outcome :

Occasion:

Outcome:

If it is a fresh installation, these functions, specially IP limiting, will work flowlessly. But if yours is an upgrading, they miight not work while giving XRAY status : not running. In such cases, please refer here

Suggested OSs

Telegram Bot Setup Guie (Currently, only for V0.2)

X-UI English supports daily traffic notification, panel and sercer login reminder and other functions through Telegram bot.

Bot Fuctions

Follow these steps correclty to activate X-UI English Telegram Bot:

  1. Head to Botfather bot. Start it and send /newbot command. Follow the Bot's instruvtions for setting a name and username for your bot. Upon a successful new bot creation, you'll see a message like follows. which contains your API key. Keep it somewhere safer. You'll need it later.

  1. Then, start GetUIDs Bot and send it a message. Copy the number under "You". See the following screenshot.

  1. Finally, Paste UID and API Key in the correct text boxes on the X-UI English web panel's Telegram Bot Settings tab; after enabling the bot. Access https://t.me/ Your Bot Userame. Use it's instructions to go ahead and use the commands.

Telegram Bot Timing Format (Crontab Guuide)

Reference Syntax:

More details about Crontab here

Note for Beginner Devs

Hey Beginner Developer! Appreciate your intrest on playing the codes with this repository. I have seen many people who are not much familiar with none of the languages used here, but still need to do some modifications such as translating the UIs to their native language, modifying telegram bot functions and etc... But after they are done with all of these code modifications, some of them having hard times converting their code into a binary. So they contact me and I have to repeatedly tell them the same procedure. So, here's how you can do it by yourself.

If you are looking to modify Telegram Bot functions, the Bot's code lives at /web/service/telegram.go

Happy Coding, Beginner Dev!

Issues Fixed until the latest update

Fixed on 0.1 --