X-ui翻牆工具安裝教程,及舊版v2-ui安裝多協議多用戶的 Xray 面板

v2-ui已經停止維護,目前建議新手使用x-ui部署伺服器。X-ui項目鏈接:https://github.com/vaxilu/x-ui

X-ui:支持多協議多用戶的 xray 面板

功能介紹

  • 系統狀態監控
  • 支持多用戶多協議,網頁可視化操作
  • 支持的協議:vmess、vless、trojan、shadowsocks、dokodemo-door、socks、http
  • 支持配置更多傳輸配置
  • 流量統計,限制流量,限制到期時間
  • 可自定義 xray 配置模板
  • 支持 https 訪問面板(自備域名 + ssl 證書)
  • 更多高級配置項,詳見面板

安裝&升級

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

手動安裝&升級

  1. 首先從 https://github.com/vaxilu/x-ui/releases 下載最新的壓縮包,一般選擇amd64架構
  2. 然後將這個壓縮包上傳到伺服器的/root/目錄下,並使用root用戶登錄伺服器

如果你的伺服器 cpu 架構不是amd64,自行將命令中的amd64替換為其他架構

cd /root/
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

使用docker安裝

此 docker 教程與 docker 鏡像由Chasing66提供

  1. 安裝docker
curl -fsSL https://get.docker.com | sh
  1. 安裝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 自己的鏡像

docker build -t x-ui .

建議系統

  • CentOS 7+
  • Ubuntu 16+
  • Debian 8+

1、安裝x-ui

SSH登錄至你的VPS
複製粘貼以下代碼

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

等待安裝
待命令行出現如下提示時,表明安裝成功
2021-12-18T043238
修改面板密碼
瀏覽器打開http://伺服器ip地址:54321,登錄面板(用戶名和密碼都是admin)
2021-12-18T043314
轉到面板設置→用戶設置,修改用戶名密碼
2021-12-18T043335

2、配置節點

非CDN模式

登錄面板
轉到入站列表,點擊藍色的+號
2021-12-18T043356
輸入備註,埠一般保持默認即可,傳輸協議建議選ws。流量,到期時間的可以設置,不過一般不設。然後點擊添加
2021-12-18T043422
剛剛創建的節點旁邊依次點擊操作→二維碼
2021-12-18T043441
使用手機掃描屏幕上的二維碼,或者是點擊複製按鈕導出剛剛創建的節點
2021-12-18T043624

CDN模式

打開CloudFlare的域名管理,新增一條解析記錄到自己的VPS,小雲朵保持打開狀態,點擊Save保存
2021-12-18T043712
轉到Origin Server,點擊Create Certificate
2021-12-18T043827
修改證書到期時間,點擊Create
2021-12-18T043906
複製公鑰和私鑰,備用
2021-12-18T043958
登錄面板
轉到入站列表,點擊藍色的+號
2021-12-18T044018
參考下圖來設置,然後點擊添加
2021-12-18T044107
在剛剛創建的節點旁邊依次點擊操作→二維碼
2021-12-18T044142
使用手機掃描屏幕上的二維碼,或者是點擊複製按鈕導出剛剛創建的節點
2021-12-18T044225

常見問題
為什麼我無法連接結點?

  1. 請檢查配置
  2. 轉到CF的域名管理頁面,轉到SSL選項卡,選擇Full選項即可

2021-12-18T043123

常見問題

從 v2-ui 遷移

首先在安裝了 v2-ui 的伺服器上安裝最新版 x-ui,然後使用以下命令進行遷移,將遷移本機 v2-ui 的所有 inbound 賬號數據至 x-ui,面板設置和用戶名密碼不會遷移

遷移成功後請關閉 v2-ui並且重啟 x-ui,否則 v2-ui 的 inbound 會與 x-ui 的 inbound 會產生埠衝突

x-ui v2-ui

v2-ui

支持多協議多用戶的 v2ray 面板,Support multi-protocol multi-user v2ray panel

幫助翻譯

面板目前支持中文與英文,如果你發現了錯誤的翻譯想幫助修正,或者想幫助翻譯成更多的語言,可以在 translations 文件夾中找到各語言對應的翻譯,例如 translations/zh/LC_MESSAGES/message.po 文件是中文翻譯內容。其中 msgid 是英文原文,msgstr 是翻譯後的內容,每個 msgid 對應一個 msgstr。

當然,文檔目前也只支持中文和英文,如果你想幫助翻譯,那麼創建一個文件 README.lang.md,lang 是該語言的英文縮寫,例如 en 代表英文。

詳細教程

一、前言

sprov-ui 從 2 月份發布,到現在也差不多半年了,中間停更了一段時間。之後就不回歸 sprov-ui 了,而是重新做一個新的出來,主要原因是 sprov-ui 使用的是 Java 語言,內存佔用較高,對低內存的機器不太友好。於是這次用 Python 來寫,內存佔用會有明顯改善,Python 還是比 Java 更適合寫這類小工具。

二、功能介紹

使用中出現了問題、BUG 報告及功能建議請前往 Github – issues,請務必先查看別人是否已經提過同樣的問題,確認沒有再提 issue。

  • 系統狀態監控
  • 支持多用戶多協議,瀏覽器可視化操作,無需敲命令
  • 支持的協議:vmess、shadowsocks、dokodemo-door、socks、http
  • vmess 支持的傳輸配置:tcp(http偽裝、tls)、kcp(偽裝)、ws(tls)、http(tls)、quic(tls)
  • 支持賬號流量統計
  • 支持自定義 v2ray 配置模板
  • 支持 https 訪問面板(需自備域名 + ssl 證書)
  • 更多高級配置項,詳見面板

三、安裝&升級

用戶注意事項(必看)

v2-ui 與其它所有關於修改 v2ray 配置文件的工具完全不兼容(包括 sprov-ui),安裝 v2-ui 後會導致 v2ray 配置文件被重寫,導致原有 v2ray 賬號丟失,如有必要,請自行提前做好備份,以免造成不必要的後果。

建議系統

面板建議以下系統安裝,建議盡量使用新版的系統:

  • CentOS 7+
  • Ubuntu 16+
  • Debian 8+

一鍵安裝&升級

此腳本會使用 v2ray 官方腳本自動安裝最新版 v2ray,無需再自己安裝 v2ray,若之前安裝過非官方的 v2ray,建議先卸載,否則可能會造成衝突。

若出現 bash curl: command not found 等錯誤,請先安裝 curl

CentOS 系統:yum install curl -y

Debian 或 Ubuntu 系統:apt install curl -y

1
bash <(curl -Ls https://blog.sprov.xyz/v2-ui.sh)

更新與升級都是這條命令,升級不會造成數據丟失,你所做的個性化面板設置也會保留。

全新安裝後,在瀏覽器中打開 http://<伺服器IP>:65432 即可訪問面板,默認用戶名和密碼都是 admin。

升級後,仍然使用你升級前的方式進入面板。

四、面板其它操作

01
02
03
04
05
06
07
08
09
10
11
v2-ui                  # 顯示管理菜單 (功能更多)
v2-ui start            # 啟動 v2-ui 面板
v2-ui stop             # 停止 v2-ui 面板
v2-ui restart          # 重啟 v2-ui 面板
v2-ui status           # 查看 v2-ui 狀態
v2-ui enable           # 設置 v2-ui 開機自啟
v2-ui disable          # 取消 v2-ui 開機自啟
v2-ui log              # 查看 v2-ui 日誌
v2-ui update           # 更新 v2-ui 面板
v2-ui install          # 安裝 v2-ui 面板
v2-ui uninstall        # 卸載 v2-ui 面板

重置流量

如圖所示,點擊【總用量】的標籤即可重置對應的流量

e7781-image
重置流量

啟用禁用賬號

a615f-image-2
啟用禁用賬號

配置 https 訪問

配置 https 需要域名和對應的證書,如果你連域名都沒有的話,需要先買一個,並將一個子域名解析到伺服器 IP。

證書申請教程:在 FreeSSL 上為你的域名申請免費 SSL 證書

方式①

域名和證書都搞定後,將證書文件上傳至伺服器任意位置,並進入面板配置如下兩項並重啟,配置錯誤會導致無法啟動面板,需參考下面的教程重置面板設置。

2d397-image-1
配置 ssl 證書

方式②

當然你也可以使用 nginx、caddy 等 web 伺服器反向代理面板,並在面板中設置【面板網頁根路徑】來達到路徑分流的效果,我只在此提供思路,具體實施請自行研究。

以下為 nginx 參考配置,面板根路徑為 /v2-ui,設置完之後訪問路徑就變成了 /v2-ui。假設之前的訪問網址是:http(s)://xxx.com:65432,那麼按照以下設置之後訪問網址是:http(s)://xxx.com/v2-ui。總之最後要加個 /v2-ui

1
2
3
4
5
6
location /v2-ui {
    proxy_pass http://127.0.0.1:65432/v2-ui;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
8d396-image-3
面板配置根路徑

面板數據備份與遷移

面板所有數據包括賬號信息等都存在 /etc/v2-ui/v2-ui.db 中,只要備份此文件即可。在新伺服器安裝了面板之後,先關閉面板,再將備份的文件覆蓋新安裝的,最後啟動面板即可。

注意,若配置了面板 ssl 證書,確保新伺服器的同樣的路徑下有相同的證書文件,否則將無法在新伺服器啟動面板。同樣的,若配置了 v2ray 的 tls,並且使用了證書文件配置,也要確保新伺服器有證書文件,否則將無法啟動 v2ray,若使用證書內容配置,則無需關心。

卸載面板

執行以下命令即可完全卸載面板,如果還需要卸載 v2ray,請自行找相關教程。

1
2
3
4
5
6
systemctl stop v2-ui
systemctl disable v2-ui
rm /usr/local/v2-ui/ -rf
rm /etc/v2-ui/ -rf
rm /etc/systemd/system/v2-ui.service -f
systemctl daemon-reload

五、常見問題(點擊問題顯示解答)

安裝完打不開面板

檢查面板狀態,確認正在運行後再確保 65432 埠已經放行,我再說三遍:埠放行、埠放行、埠放行

裝了寶塔後打不開面板也無法使用 v2ray

面板與寶塔本身並沒有衝突,只不過是因為寶塔啟用了防火牆,只開啟了常用的埠,所以需要進入寶塔管理界面放行面板監聽埠(65432)和你所使用的其它 v2ray 賬號埠。

沒有 mtproto 協議?

就目前來說,mtproto 已經不再建議使用,所以我就沒有加了,除非 v2ray 之後優化了 mtproto,做了一個新的 mtproto 來,我才會加上此協議。如果確實需要的話,請自行在面板設置中修改配置模板。

如何自定義 v2ray 配置文件

進入【面板設置】,有一項 【v2ray 配置模板】,你可以在此修改配置模板,例如修改路由,自己添加一個 mtproto 等等,都可以。如果你對 v2ray 配置文件不夠熟悉的話,那麼還是建議多去 v2ray 官方文檔學習學習。

忘記用戶名和密碼

使用以下命令重置用戶名和密碼,默認都為 admin

1
/usr/local/v2-ui/v2-ui resetuser

面板設置修改錯誤導致面板無法啟動

使用以下命令重置所有面板設置,默認面板埠修改為 65432,其它的也會重置為默認值,注意,這個命令不會重置用戶名和密碼。

1
/usr/local/v2-ui/v2-ui resetconfig

面板啟動失敗

出現:『ascii』 codec can』t encode characters in position 0-6: ordinal not in range(128)

這是因為系統編碼不支持中文的緣故,將系統編碼設置為 UTF-8 即可,具體請自行搜索方法。

怎麼沒有重啟 v2ray 的按鈕了

本面板與 sprov-ui 手動重啟 v2ray 的方式不同,採用自動的方式,當添加、修改、刪除賬號後,默認會在 60 秒內自動更新 v2ray 配置文件,並重啟 v2ray。可在面板設置中修改【賬號生效時間】,不宜設置過小的數值,否則會造成 CPU 使用率上升。

因時間誤差導致 vmess 無法連接

引用 v2ray 官方的一句話:VMess 依賴於系統時間,請確保使用 V2Ray 的系統 UTC 時間誤差在 90 秒之內,時區無關。在 Linux 系統中可以安裝ntp服務來自動同步系統時間。

進去面板之後語言是英文的

確保你的瀏覽器設置瀏覽網頁時優先使用中文,有些時候瀏覽器語言是中文的,但是瀏覽網頁時優先顯示英文,其次才是中文,這樣就會造成面板語言是英文的,具體請根據瀏覽器設置,將中文排在第一位。

電腦版 Chrome 設置方法:設置 – 高級 – 語言 – 展開語言設置 – 根據您的偏好設置對語言進行排序 – 將中文排在第一位。

運行截圖

1 2

功能介紹

  • 系統狀態監控
  • 支持多用戶多協議,瀏覽器可視化操作,無需敲命令
  • 支持的協議:vmess、shadowsocks、dokodemo-door、socks、http
  • vmess 支持的傳輸配置:tcp(http偽裝、tls)、kcp(偽裝)、ws(tls)、http(tls)、quic(tls)
  • 支持賬號流量統計
  • 支持自定義 v2ray 配置模板
  • 支持 https 訪問面板(需自備域名 + ssl 證書)
  • 更多高級配置項,詳見面板

安裝&升級

用戶注意事項(必看)

v2-ui 與其它所有關於修改 v2ray 配置文件的工具完全不兼容(包括 sprov-ui),安裝 v2-ui 後會導致 v2ray 配置文件被重寫,導致原有 v2ray 賬號丟失,如有必要,請自行提前做好備份,以免造成不必要的後果。

建議系統

  • CentOS 7+
  • Ubuntu 16+
  • Debian 8+

一鍵安裝&升級

bash <(curl -Ls https://blog.sprov.xyz/v2-ui.sh)

面板其它操作

v2-ui                  # 顯示管理菜單 (功能更多)
v2-ui start            # 啟動 v2-ui 面板
v2-ui stop             # 停止 v2-ui 面板
v2-ui restart          # 重啟 v2-ui 面板
v2-ui status           # 查看 v2-ui 狀態
v2-ui enable           # 設置 v2-ui 開機自啟
v2-ui disable          # 取消 v2-ui 開機自啟
v2-ui log              # 查看 v2-ui 日誌
v2-ui update           # 更新 v2-ui 面板
v2-ui install          # 安裝 v2-ui 面板
v2-ui uninstall        # 卸載 v2-ui 面板

數據備份與遷移

面板所有數據包括賬號信息等都存在 /etc/v2-ui/v2-ui.db 中,只要備份此文件即可。在新伺服器安裝了面板之後,先關閉面板,再將備份的文件覆蓋新安裝的,最後啟動面板即可。

卸載面板

執行以下命令即可完全卸載面板,如果還需要卸載 v2ray,請自行找相關教程。

systemctl stop v2-ui
systemctl disable v2-ui
rm /usr/local/v2-ui/ -rf
rm /etc/v2-ui/ -rf
rm /etc/systemd/system/v2-ui.service -f
systemctl daemon-reload

常見問題

安裝完了打不開面板

檢查面板狀態,確認正在運行後再確保 65432 埠已經放行,我再說三遍:埠放行、埠放行、埠放行

沒有 mtproto 協議?

就目前來說,mtproto 已經不再建議使用,所以我就沒有加了,除非 v2ray 之後優化了 mtproto,做了一個新的 mtproto 來,我才會加上此協議。如果確實需要的話,請自行在面板設置中修改v2ray配置模板。

如何自定義 v2ray 配置文件

進入【面板設置】,有一項 【v2ray 配置模板】,你可以在此修改配置模板,例如修改路由,自己添加一個 mtproto 等等,都可以。如果你對 v2ray 配置文件不夠熟悉的話,那麼還是建議多去 v2ray 官方文檔學習學習。

忘記用戶名和密碼

使用以下命令重置用戶名和密碼,默認都為 admin

/usr/local/v2-ui/v2-ui resetuser

面板設置修改錯誤導致面板無法啟動

使用以下命令重置所有面板設置,默認面板埠修改為 65432,其它的也會重置為默認值,注意,這個命令不會重置用戶名和密碼。

/usr/local/v2-ui/v2-ui resetconfig

面板啟動失敗

出現:『ascii』 codec can』t encode characters in position 0-6: ordinal not in range(128)

這是因為系統編碼不支持中文的緣故,將系統編碼設置為 UTF-8 即可,具體請自行搜索方法。

怎麼沒有重啟 v2ray 的按鈕了

本面板與 sprov-ui 手動重啟 v2ray 的方式不同,採用自動的方式,當添加、修改、刪除賬號後,默認會在 60 秒內自動更新 v2ray 配置文件,並重啟 v2ray。可在面板設置中修改【賬號生效時間】,不宜設置過小的數值,否則會造成 CPU 使用率上升。

因時間誤差導致 vmess 無法連接

引用 v2ray 官方的一句話:VMess 依賴於系統時間,請確保使用 V2Ray 的系統 UTC 時間誤差在 90 秒之內,時區無關。在 Linux 系統中可以安裝ntp服務來自動同步系統時間。

進去面板之後語言是英文的

確保你的瀏覽器設置瀏覽網頁時優先使用中文,有些時候瀏覽器語言是中文的,但是瀏覽網頁時優先顯示英文,其次才是中文,這樣就會造成面板語言是英文的,具體請根據瀏覽器設置,將中文排在第一位。

電腦版 Chrome 設置方法:設置 – 高級 – 語言 – 展開語言設置 – 根據您的偏好設置對語言進行排序 – 將中文排在第一位。

怎麼限制賬號網速和連接數

面板只是個方便你配置 v2ray 的工具,v2ray 沒有的功能就不要問了,給 v2ray 官方捐個 100 萬,讓他們實現這些功能,然後面板就可以配置了。

怎麼讓面板的賬號 IP 顯示為我的域名

  • 將域名解析到你的 VPS 的 IP
  • 使用域名訪問面板,如:http://blog.sprov.xyz:65432 ,具體域名和埠號以你的實際域名和埠號為準
  • 如果面板設置里正確配置了域名證書和密鑰,那麼就使用:https://blog.sprov.xyz:65432 訪問面板

使用 CDN 的同志們注意了,CDN 通常只支持常見的 http 和 https 埠,所以使用 65432 是訪問不了的,建議將面板埠設置為 CDN 商家支持的埠,肯定受支持的埠號是 80(http)和 443(https)