├── .github └── workflows │ └── release.yml ├── .gitignore ├── Dockerfile ├── LICENSE ├── README.md ├── am_restart_x_ui.sh ├── bin ├── geoip.dat ├── geosite.dat ├── xray-linux-amd64 └── xray-linux-arm64 ├── config ├── config.go ├── name └── version ├── database ├── db.go └── model │ └── model.go ├── go.mod ├── go.sum ├── install.sh ├── logger └── logger.go ├── main.go ├── media ├── 2022-04-04_141259.png ├── 2022-04-17_110907.png ├── 2022-04-17_111321.png ├── 2022-04-17_111705.png ├── 2022-04-17_111910.png ├── bda84fbc2ede834deaba1c173a932223.png └── d13ffd6a73f938d1037d0708e31433bf.png ├── util ├── common │ ├── err.go │ ├── format.go │ ├── multi_error.go │ └── stringUtil.go ├── context.go ├── json_util │ └── json.go ├── random │ └── random.go ├── reflect_util │ └── reflect.go └── sys │ ├── a.s │ ├── psutil.go │ ├── sys_darwin.go │ ├── sys_freebsd.go │ └── sys_linux.go ├── v2ui ├── db.go ├── models.go └── v2ui.go ├── web ├── assets │ ├── ant-design-vue@1.7.2 │ │ ├── antd-with-locales.min.js │ │ ├── antd.less │ │ ├── antd.min.css │ │ └── antd.min.js │ ├── axios │ │ └── axios.min.js │ ├── base64 │ │ └── base64.min.js │ ├── clipboard │ │ └── clipboard.min.js │ ├── css │ │ └── custom.css │ ├── element-ui@2.15.0 │ │ └── theme-chalk │ │ │ └── display.css │ ├── js │ │ ├── axios-init.js │ │ ├── model │ │ │ ├── models.js │ │ │ └── xray.js │ │ └── util │ │ │ ├── common.js │ │ │ ├── date-util.js │ │ │ └── utils.js │ ├── moment │ │ └── moment.min.js │ ├── qrcode │ │ └── qrious.min.js │ ├── qs │ │ └── qs.min.js │ ├── uri │ │ └── URI.min.js │ └── vue@2.6.12 │ │ ├── vue.common.dev.js │ │ ├── vue.common.js │ │ ├── vue.common.prod.js │ │ ├── vue.esm.browser.min.js │ │ ├── vue.esm.js │ │ ├── vue.min.js │ │ ├── vue.runtime.common.dev.js │ │ ├── vue.runtime.common.js │ │ ├── vue.runtime.common.prod.js │ │ ├── vue.runtime.esm.js │ │ ├── vue.runtime.js │ │ └── vue.runtime.min.js ├── controller │ ├── base.go │ ├── inbound.go │ ├── index.go │ ├── server.go │ ├── setting.go │ ├── util.go │ └── xui.go ├── entity │ └── entity.go ├── global │ └── global.go ├── html │ ├── common │ │ ├── head.html │ │ ├── js.html │ │ ├── prompt_modal.html │ │ ├── qrcode_modal.html │ │ └── text_modal.html │ ├── login.html │ └── xui │ │ ├── common_sider.html │ │ ├── component │ │ ├── inbound_info.html │ │ └── setting.html │ │ ├── form │ │ ├── inbound.html │ │ ├── protocol │ │ │ ├── dokodemo.html │ │ │ ├── http.html │ │ │ ├── shadowsocks.html │ │ │ ├── socks.html │ │ │ ├── trojan.html │ │ │ ├── vless.html │ │ │ └── vmess.html │ │ ├── sniffing.html │ │ ├── stream │ │ │ ├── stream_grpc.html │ │ │ ├── stream_http.html │ │ │ ├── stream_kcp.html │ │ │ ├── stream_quic.html │ │ │ ├── stream_settings.html │ │ │ ├── stream_tcp.html │ │ │ └── stream_ws.html │ │ └── tls_settings.html │ │ ├── inbound_info_modal.html │ │ ├── inbound_modal.html │ │ ├── inbounds.html │ │ ├── index.html │ │ └── setting.html ├── job │ ├── check_inbound_job.go │ ├── check_xray_running_job.go │ ├── stats_notify_job.go │ └── xray_traffic_job.go ├── network │ ├── auto_https_listener.go │ └── autp_https_conn.go ├── service │ ├── config.json │ ├── inbound.go │ ├── panel.go │ ├── server.go │ ├── setting.go │ ├── user.go │ └── xray.go ├── session │ └── session.go ├── translation │ ├── translate.en_US.toml │ ├── translate.zh_Hans.toml │ └── translate.zh_Hant.toml └── web.go ├── x-ui.service ├── x-ui.sh └── xray ├── config.go ├── inbound.go ├── process.go └── traffic.go /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | name: Release X-ui 2 | on: 3 | push: 4 | tags: 5 | - 0.* 6 | workflow_dispatch: 7 | 8 | jobs: 9 | release: 10 | runs-on: ubuntu-latest 11 | outputs: 12 | upload_url: ${{ steps.create_release.outputs.upload_url }} 13 | steps: 14 | - name: Create Release 15 | id: create_release 16 | uses: actions/create-release@v1 17 | env: 18 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 19 | with: 20 | tag_name: ${{ github.ref }} 21 | release_name: ${{ github.ref }} 22 | draft: true 23 | prerelease: true 24 | freebsdamd64build: 25 | name: build x-ui amd64 version 26 | needs: release 27 | runs-on: ubuntu-latest 28 | steps: 29 | - uses: actions/checkout@v2 30 | - name: Set up Go 31 | uses: actions/setup-go@v2 32 | with: 33 | go-version: 1.18 34 | - name: build freedbsd amd64 version 35 | run: | 36 | CGO_ENABLED=1 GOOS=freebsd GOARCH=amd64 go build -o xui-release -v main.go 37 | mkdir x-ui 38 | cp xui-release x-ui/xui-release 39 | cp x-ui.service x-ui/x-ui.service 40 | cp x-ui.sh x-ui/x-ui.sh 41 | cd x-ui 42 | mv xui-release x-ui 43 | mkdir bin 44 | cd bin 45 | wget https://github.com/XTLS/Xray-core/releases/latest/download/Xray-freebsd-64.zip 46 | unzip Xray-freebsd-64.zip 47 | rm -f Xray-freebsd-64.zip geoip.dat geosite.dat 48 | wget https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geoip.dat 49 | wget https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geosite.dat 50 | mv xray xray-freebsd-amd64 51 | cd .. 52 | cd .. 53 | - name: package 54 | run: tar -zcvf x-ui-freebsd-amd64.tar.gz x-ui 55 | - name: upload 56 | uses: actions/upload-release-asset@v1 57 | env: 58 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 59 | with: 60 | upload_url: ${{ needs.release.outputs.upload_url }} 61 | asset_path: x-ui-freebsd-amd64.tar.gz 62 | asset_name: x-ui-freebsd-amd64.tar.gz 63 | asset_content_type: application/gzip 64 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | /dist 4 | 5 | 6 | # local env files 7 | .env.local 8 | .env.*.local 9 | 10 | # Log files 11 | npm-debug.log* 12 | yarn-debug.log* 13 | yarn-error.log* 14 | pnpm-debug.log* 15 | 16 | # Editor directories and files 17 | .idea 18 | .vscode 19 | *.suo 20 | *.ntvs* 21 | *.njsproj 22 | *.sln 23 | *.sw? 24 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM golang:latest AS builder 2 | WORKDIR /root 3 | COPY . . 4 | RUN go build main.go 5 | 6 | 7 | FROM debian:11-slim 8 | RUN apt-get update && apt-get install -y --no-install-recommends -y ca-certificates \ 9 | && apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* 10 | WORKDIR /root 11 | COPY --from=builder /root/main /root/x-ui 12 | COPY bin/. /root/bin/. 13 | VOLUME [ "/etc/x-ui" ] 14 | CMD [ "./x-ui" ] -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # [am-serv00-x-ui](https://github.com/amclubs/am-serv00-x-ui) 2 | 这是一个基于serv00免费服务器安装 x-ui for freebsd 支持多协议多用户的 xray 面板, 本版本支持FreeBSD非root安装 3 | 4 | # 5 | ▶️ **新人[YouTube](https://youtube.com/@am_clubs?sub_confirmation=1)** 需要您的支持,请务必帮我**点赞**、**关注**、**打开小铃铛**,***十分感谢!!!*** ✅ 6 | 🎁请 **follow** 我的[GitHub](https://github.com/amclubs)、给我所有项目一个 **Star** 星星(拜托了)!你的支持是我不断前进的动力! 💖 7 | ✅**解锁更多技能** [加入TG群【am_clubs】](https://t.me/am_clubs)、[YouTube频道【@am_clubs】](https://youtube.com/@am_clubs?sub_confirmation=1)、[【博客(国内)】](https://amclubss.com)、[【博客(国际)】](https://amclubs.blogspot.com) 8 | ✅点击观看教程[CLoudflare免费节点](https://www.youtube.com/playlist?list=PLGVQi7TjHKXbrY0Pk8gm3T7m8MZ-InquF) | [VPS搭建节点](https://www.youtube.com/playlist?list=PLGVQi7TjHKXaVlrHP9Du61CaEThYCQaiY) | [获取免费域名](https://www.youtube.com/playlist?list=PLGVQi7TjHKXZGODTvB8DEervrmHANQ1AR) | [免费VPN](https://www.youtube.com/playlist?list=PLGVQi7TjHKXY7V2JF-ShRSVwGANlZULdk) | [IPTV源](https://www.youtube.com/playlist?list=PLGVQi7TjHKXbkozDYVsDRJhbnNaEOC76w) | [Mac和Win工具](https://www.youtube.com/playlist?list=PLGVQi7TjHKXYBWu65yP8E08HxAu9LbCWm) | [AI分享](https://www.youtube.com/playlist?list=PLGVQi7TjHKXaodkM-mS-2Nwggwc5wRjqY) 9 | 10 | # 视频教程 11 | - [点击进入视频教程](https://youtu.be/YCq0pEpG2jE) 12 | - [免费域名视频教程](https://www.youtube.com/playlist?list=PLGVQi7TjHKXZGODTvB8DEervrmHANQ1AR) 13 | - [免费节点Cloudflare视频教程](https://www.youtube.com/playlist?list=PLGVQi7TjHKXbrY0Pk8gm3T7m8MZ-InquF) 14 | - [serv00所有视频教程](https://www.youtube.com/playlist?list=PLGVQi7TjHKXaVlrHP9Du61CaEThYCQaiY) 15 | 16 | # 功能介绍 17 | 18 | - 系统状态监控 19 | - 支持多用户多协议,网页可视化操作 20 | - 支持的协议:vmess、vless、trojan、shadowsocks、dokodemo-door、socks、http 21 | - 支持配置更多传输配置 22 | - 流量统计,限制流量,限制到期时间 23 | - 可自定义 xray 配置模板 24 | - 支持 https 访问面板(自备域名 + ssl 证书) 25 | - 更多高级配置项,详见面板 26 | 27 | # 安装&升级 28 | 在安装前,请先准备好用户名,密码和两个端口(面板访问端口和流量监控端口)! 29 | ``` 30 | wget -O x-ui.sh -N --no-check-certificate https://raw.githubusercontent.com/amclubs/am-serv00-x-ui/main/x-ui.sh && chmod +x x-ui.sh && ./x-ui.sh 31 | ``` 32 | 33 | ## 手动安装&升级 34 | 35 | 1. 首先从 https://github.com/amclubs/am-serv00-x-ui/releases 下载最新的压缩包,一般选择 `amd64`架构 36 | 2. 然后将这个压缩包上传到服务器的 `/home/[username]`目录下, 37 | 38 | > 如果你的服务器 cpu 架构不是 `amd64`,自行将命令中的 `amd64`替换为其他架构 39 | 40 | ``` 41 | cd ~ 42 | rm -rf ./x-ui 43 | tar zxvf x-ui-freebsd-amd64.tar.gz 44 | chmod +x x-ui/x-ui x-ui/bin/xray-freebsd-* x-ui/x-ui.sh 45 | cp x-ui/x-ui.sh ./x-ui.sh 46 | cd x-ui 47 | crontab -l > x-ui.cron 48 | echo "0 0 * * * cd $cur_dir/x-ui && cat /dev/null > x-ui.log" >> x-ui.cron 49 | echo "@reboot cd $cur_dir/x-ui && nohup ./x-ui run > ./x-ui.log 2>&1 &" >> x-ui.cron 50 | crontab x-ui.cron 51 | rm x-ui.cron 52 | nohup ./x-ui run > ./x-ui.log 2>&1 & 53 | ``` 54 | 55 | ## SSL证书申请 56 | 57 | 建议使用Cloudflare 15年证书 58 | 59 | ## Tg机器人使用(开发中,暂不可使用) 60 | 61 | 此功能未经测试! 62 | 63 | ## 建议系统 64 | 65 | - FreeBSD 14+ 66 | 67 | # 感谢 68 | [parentalclash](https://github.com/parentalclash/x-ui-freebsd)、[vaxilu](https://github.com/vaxilu/x-ui) 69 | 70 | # 71 |
传输:
host:
host:
path:
path:
quic 加密:
quic 密码:
quic 伪装:
kcp 加密:
kcp 密码:
grpc serviceName:
tls:
xtls:
tls:
35 | tls域名:
38 | xtls域名:
协议:
地址:
端口:
uuid:
alterId:
uuid:
flow:
密码:
加密:
密码:
用户名:
密码:
用户名:
密码: