mirror of
https://github.com/cedar2025/Xboard.git
synced 2025-01-22 18:48:14 -05:00
Compare commits
6 Commits
3ed6b764ea
...
99af5b80ab
Author | SHA1 | Date | |
---|---|---|---|
|
99af5b80ab | ||
|
bc0c8a93a0 | ||
|
9ae6fbaaa7 | ||
|
fd4dc9064f | ||
|
6d46ecb757 | ||
|
3b9cc99526 |
66
.github/ISSUE_TEMPLATE/bug-report----问题反馈.md
vendored
66
.github/ISSUE_TEMPLATE/bug-report----问题反馈.md
vendored
@ -1,43 +1,39 @@
|
|||||||
---
|
---
|
||||||
name: Bug report | 问题反馈
|
name: 🐛 问题反馈 | Bug Report
|
||||||
about: Tell us what problems you have encountered
|
about: 提交使用过程中遇到的问题 | Report an issue
|
||||||
title: "[BUG]"
|
title: "问题:"
|
||||||
labels: ''
|
labels: '🐛 bug'
|
||||||
assignees: ''
|
assignees: ''
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
🙇♂️🙇♂️🙇♂️注意:XrayR等非XBoard问题请前往项目方提问
|
<!-- 🔴 请注意:XrayR等非XBoard问题请前往相应项目提问 -->
|
||||||
🙇♂️🙇♂️🙇♂️Note: XrayR and other non-XBoard issues please go to the project side to ask questions
|
<!-- 🔴 Note: For XrayR and other non-XBoard issues, please report to their respective projects -->
|
||||||
|
|
||||||
|
> ⚠️ 请务必按照模板填写完整信息,没有详细描述的issue可能会被忽略或关闭
|
||||||
|
> ⚠️ Please follow the template to provide complete information, issues without detailed description may be ignored or closed
|
||||||
|
|
||||||
|
**基本信息 | Basic Info**
|
||||||
|
```yaml
|
||||||
|
XBoard版本 | Version:
|
||||||
|
部署方式 | Deployment: [Docker/手动部署]
|
||||||
|
PHP版本 | Version:
|
||||||
|
数据库 | Database:
|
||||||
|
```
|
||||||
|
|
||||||
|
**问题描述 | Description**
|
||||||
|
<!-- 简要描述你遇到的问题 -->
|
||||||
|
|
||||||
|
|
||||||
The XBoard version number you are using
|
**复现步骤 | Steps**
|
||||||
当前使用的XBoard版本号(git commit id)
|
<!-- 如何复现这个问题? -->
|
||||||
--------
|
1.
|
||||||
|
2.
|
||||||
|
|
||||||
Would you like to deploy using Docker?
|
**相关截图 | Screenshots**
|
||||||
你的部署方式(是否为Docker)
|
<!-- 拖拽图片到这里(请注意隐藏敏感信息)-->
|
||||||
--------
|
|
||||||
|
|
||||||
|
**日志信息 | Logs**
|
||||||
Please briefly describe the issue you encountered (preferably with reproducible steps).
|
<!-- 运行命令:php artisan log:export 7 -->
|
||||||
简单描述你遇到的问题(最好带上复现步骤)
|
```log
|
||||||
--------
|
// 粘贴日志内容到这里
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
Screenshot of the reported error(Please do desensitization)
|
|
||||||
报告错误的截图(请做脱敏处理)
|
|
||||||
--------
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Screenshot of the reported error(Please do desensitization)
|
|
||||||
报告错误的截图(请做脱敏处理)
|
|
||||||
--------
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Run the php artisan log:export 7 command to export log files (where 7 represents logs for the last 7 days).
|
|
||||||
运行`php artisan log:export 7` 命令导出的日志文件(其中7为最近7天的日志)。
|
|
||||||
--------
|
|
||||||
|
31
.github/ISSUE_TEMPLATE/feature-request---功能请求.md
vendored
31
.github/ISSUE_TEMPLATE/feature-request---功能请求.md
vendored
@ -1,11 +1,28 @@
|
|||||||
---
|
---
|
||||||
name: Feature request | 功能请求
|
name: ✨ 功能请求 | Feature Request
|
||||||
about: Tell us what you need
|
about: 提交新功能建议或改进意见 | Suggest an idea
|
||||||
title: "[Feature request]"
|
title: "建议:"
|
||||||
labels: ''
|
labels: '✨ enhancement'
|
||||||
assignees: ''
|
assignees: ''
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
Please describe in detail the problems or needs you have encountered.
|
> ⚠️ 请务必按照模板详细描述你的需求,没有详细描述的issue可能会被忽略或关闭
|
||||||
请详细描述你遇到的问题或需求。
|
> ⚠️ Please follow the template to describe your request in detail, issues without detailed description may be ignored or closed
|
||||||
|
|
||||||
|
**需求描述 | Description**
|
||||||
|
<!-- 描述你希望添加的功能或改进建议 -->
|
||||||
|
|
||||||
|
|
||||||
|
**使用场景 | Use Case**
|
||||||
|
<!-- 描述这个功能会在什么场景下使用,解决什么问题 -->
|
||||||
|
|
||||||
|
|
||||||
|
**功能建议 | Suggestion**
|
||||||
|
<!-- 你期望这个功能是什么样的?可以描述一下具体实现方式 -->
|
||||||
|
```yaml
|
||||||
|
功能形式 | Type: [新功能/功能优化/界面改进]
|
||||||
|
预期效果 | Expected:
|
||||||
|
```
|
||||||
|
|
||||||
|
**补充说明 | Additional**
|
||||||
|
<!-- 其他补充说明或者参考示例 -->
|
||||||
|
88
README.md
88
README.md
@ -1,32 +1,36 @@
|
|||||||
# 关于Xboard
|
# Xboard New
|
||||||
Xboard New是基于Xboard二次开发,重写后台管理并优化系统架构的**面板,提升可维护性
|
|
||||||
|
|
||||||
# 免责声明
|
[English](README.md) | [中文](README_CN.md)
|
||||||
本项目只是本人个人学习开发并维护,本人不保证任何可用性,也不对使用本软件造成的任何后果负责。
|
|
||||||
|
|
||||||
# Xboard New 特点
|
[![Telegram Channel](https://img.shields.io/badge/Telegram-Channel-blue)](https://t.me/XboardOfficial)
|
||||||
基于Xboard 二次开发,增加了以下特性
|
|
||||||
- 升级Laravel11
|
|
||||||
- 增加Octane支持
|
|
||||||
- 使用React + Shadcn UI + TailwindCSS重构后台管理
|
|
||||||
- 使用Vue3 + TypeScript + NaiveUI + Unocss + Pinia重构用户前端
|
|
||||||
- 使用Docker Compose作为容器化部署工具
|
|
||||||
- 使用Docker作为容器化部署工具
|
|
||||||
- 重构主题管理,增加主题上传,并且只暴露激活主题
|
|
||||||
- 使用Octane Cache作为设置的缓存
|
|
||||||
- 优化系统架构,提升可维护性
|
|
||||||
# **系统架构**
|
|
||||||
|
|
||||||
- PHP8.2+
|
## About Xboard
|
||||||
|
Xboard New is a panel system based on Xboard's secondary development, featuring a rewritten admin interface and optimized system architecture to improve maintainability.
|
||||||
|
|
||||||
|
## Disclaimer
|
||||||
|
This project is personally developed and maintained. I do not guarantee any availability or take responsibility for any consequences of using this software.
|
||||||
|
|
||||||
|
## Features
|
||||||
|
- Upgraded to Laravel 11
|
||||||
|
- Added Octane support
|
||||||
|
- Rebuilt admin interface using React + Shadcn UI + TailwindCSS
|
||||||
|
- Rebuilt user frontend using Vue3 + TypeScript + NaiveUI + Unocss + Pinia
|
||||||
|
- Using Docker Compose as containerization deployment tool
|
||||||
|
- Using Docker as containerization tool
|
||||||
|
- Restructured theme management with theme upload support and active theme exposure
|
||||||
|
- Using Octane Cache for settings caching
|
||||||
|
- Optimized system architecture for better maintainability
|
||||||
|
|
||||||
|
## System Requirements
|
||||||
|
- PHP 8.2+
|
||||||
- Composer
|
- Composer
|
||||||
- MySQL5.7+
|
- MySQL 5.7+
|
||||||
- Redis
|
- Redis
|
||||||
- Laravel
|
- Laravel
|
||||||
- Octane
|
- Octane
|
||||||
|
|
||||||
## 快速体验
|
## Quick Start
|
||||||
|
Deploy and experience Xboard quickly using the following commands (based on Docker + SQLite):
|
||||||
使用以下命令快速部署并体验 Xboard(基于 Docker + SQLite):
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git clone -b compose-new --depth 1 https://github.com/cedar2025/Xboard && \
|
git clone -b compose-new --depth 1 https://github.com/cedar2025/Xboard && \
|
||||||
@ -38,31 +42,31 @@ docker compose run -it --rm \
|
|||||||
web php artisan xboard:install && \
|
web php artisan xboard:install && \
|
||||||
docker compose up -d
|
docker compose up -d
|
||||||
```
|
```
|
||||||
安装完成后访问 http://服务器IP:7001
|
After installation, visit http://SERVER_IP:7001
|
||||||
|
|
||||||
> 提示:安装过程中会显示管理员账号密码,请务必保存。
|
> Note: Admin credentials will be displayed during installation, make sure to save them.
|
||||||
|
|
||||||
## 页面展示
|
## Preview
|
||||||
![示例图片](./docs/images/dashboard.png)
|
![Dashboard Preview](./docs/images/dashboard.png)
|
||||||
|
|
||||||
## 安装 / 更新 / 回滚
|
## Installation / Update / Rollback
|
||||||
你可以点击查看下列方式的**安装、更新**步骤
|
Click to view installation and update steps for:
|
||||||
- [1panel 部署](./docs/1panel安装指南.md)
|
- [1panel Deployment](./docs/1panel安装指南.md)
|
||||||
- [Docker Compose 纯命令行快速部署](./docs/docker-compose安装指南.md)
|
- [Docker Compose Quick Deployment](./docs/docker-compose安装指南.md)
|
||||||
- [aapanel + Docker Compose (推荐)](./docs/aapanel+docker安装指南.md)
|
- [aapanel + Docker Compose (Recommended)](./docs/aapanel+docker安装指南.md)
|
||||||
- [aapanel 部署](./docs/aapanel安装指南.md)
|
- [aapanel Deployment](./docs/aapanel安装指南.md)
|
||||||
### 从其他版本迁移
|
|
||||||
#### 数据库迁移
|
|
||||||
**根据你的版本查看对应的迁移指南进行迁移**
|
|
||||||
- v2board dev 23/10/27的版本 [点击跳转迁移指南](./docs/v2b_dev迁移指南.md)
|
|
||||||
- v2board 1.7.4 [点击跳转迁移指南](./docs/v2b_1.7.4迁移指南.md)
|
|
||||||
- v2board 1.7.3 [点击跳转迁移指南](./docs/v2b_1.7.3迁移指南.md)
|
|
||||||
- v2board wyx2685 [点击跳转迁移指南](./docs/v2b_wyx2685迁移指南.md)
|
|
||||||
|
|
||||||
|
## Migration from Other Versions
|
||||||
|
### Database Migration
|
||||||
|
**Check the corresponding migration guide based on your version:**
|
||||||
|
- v2board dev 23/10/27 version [Migration Guide](./docs/v2b_dev迁移指南.md)
|
||||||
|
- v2board 1.7.4 [Migration Guide](./docs/v2b_1.7.4迁移指南.md)
|
||||||
|
- v2board 1.7.3 [Migration Guide](./docs/v2b_1.7.3迁移指南.md)
|
||||||
|
- v2board wyx2685 [Migration Guide](./docs/v2b_wyx2685迁移指南.md)
|
||||||
|
|
||||||
### 注意
|
## Note
|
||||||
> 修改后台路径需要重启才能生效
|
> Modifying admin path requires restart to take effect:
|
||||||
```
|
```bash
|
||||||
docker compose restart
|
docker compose restart
|
||||||
```
|
```
|
||||||
> 如果是是aapanel安装则需要重启 webman守护进程
|
> For aapanel installations, restart the webman daemon process
|
72
README_CN.md
Normal file
72
README_CN.md
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
# Xboard New
|
||||||
|
|
||||||
|
[English](README.md) | [中文](README_CN.md)
|
||||||
|
|
||||||
|
[![Telegram 频道](https://img.shields.io/badge/Telegram-频道-blue)](https://t.me/XboardOfficial)
|
||||||
|
|
||||||
|
# 关于Xboard
|
||||||
|
Xboard New是基于Xboard二次开发,重写后台管理并优化系统架构的面板,提升可维护性。
|
||||||
|
|
||||||
|
# 免责声明
|
||||||
|
本项目只是本人个人学习开发并维护,本人不保证任何可用性,也不对使用本软件造成的任何后果负责。
|
||||||
|
|
||||||
|
# Xboard New 特点
|
||||||
|
- 升级Laravel11
|
||||||
|
- 增加Octane支持
|
||||||
|
- 使用React + Shadcn UI + TailwindCSS重构后台管理
|
||||||
|
- 使用Vue3 + TypeScript + NaiveUI + Unocss + Pinia重构用户前端
|
||||||
|
- 使用Docker Compose作为容器化部署工具
|
||||||
|
- 使用Docker作为容器化部署工具
|
||||||
|
- 重构主题管理,增加主题上传,并且只暴露激活主题
|
||||||
|
- 使用Octane Cache作为设置的缓存
|
||||||
|
- 优化系统架构,提升可维护性
|
||||||
|
|
||||||
|
# 系统要求
|
||||||
|
- PHP8.2+
|
||||||
|
- Composer
|
||||||
|
- MySQL5.7+
|
||||||
|
- Redis
|
||||||
|
- Laravel
|
||||||
|
- Octane
|
||||||
|
|
||||||
|
## 快速体验
|
||||||
|
使用以下命令快速部署并体验 Xboard(基于 Docker + SQLite):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git clone -b compose-new --depth 1 https://github.com/cedar2025/Xboard && \
|
||||||
|
cd Xboard && \
|
||||||
|
docker compose run -it --rm \
|
||||||
|
-e ENABLE_SQLITE=true \
|
||||||
|
-e ENABLE_REDIS=true \
|
||||||
|
-e ADMIN_ACCOUNT=admin@demo.com \
|
||||||
|
web php artisan xboard:install && \
|
||||||
|
docker compose up -d
|
||||||
|
```
|
||||||
|
安装完成后访问 http://服务器IP:7001
|
||||||
|
|
||||||
|
> 提示:安装过程中会显示管理员账号密码,请务必保存。
|
||||||
|
|
||||||
|
## 页面展示
|
||||||
|
![示例图片](./docs/images/dashboard.png)
|
||||||
|
|
||||||
|
## 安装 / 更新 / 回滚
|
||||||
|
你可以点击查看下列方式的安装、更新步骤:
|
||||||
|
- [1panel 部署](./docs/1panel安装指南.md)
|
||||||
|
- [Docker Compose 纯命令行快速部署](./docs/docker-compose安装指南.md)
|
||||||
|
- [aapanel + Docker Compose (推荐)](./docs/aapanel+docker安装指南.md)
|
||||||
|
- [aapanel 部署](./docs/aapanel安装指南.md)
|
||||||
|
|
||||||
|
### 从其他版本迁移
|
||||||
|
#### 数据库迁移
|
||||||
|
**根据你的版本查看对应的迁移指南进行迁移**
|
||||||
|
- v2board dev 23/10/27的版本 [点击跳转迁移指南](./docs/v2b_dev迁移指南.md)
|
||||||
|
- v2board 1.7.4 [点击跳转迁移指南](./docs/v2b_1.7.4迁移指南.md)
|
||||||
|
- v2board 1.7.3 [点击跳转迁移指南](./docs/v2b_1.7.3迁移指南.md)
|
||||||
|
- v2board wyx2685 [点击跳转迁移指南](./docs/v2b_wyx2685迁移指南.md)
|
||||||
|
|
||||||
|
### 注意
|
||||||
|
> 修改后台路径需要重启才能生效:
|
||||||
|
```bash
|
||||||
|
docker compose restart
|
||||||
|
```
|
||||||
|
> 如果是aapanel安装则需要重启 webman守护进程
|
@ -96,8 +96,11 @@ class Shadowrocket implements ProtocolInterface
|
|||||||
|
|
||||||
switch (data_get($protocol_settings, 'network')) {
|
switch (data_get($protocol_settings, 'network')) {
|
||||||
case 'tcp':
|
case 'tcp':
|
||||||
|
if (data_get($protocol_settings, 'network_settings.header.type', 'none') !== 'none') {
|
||||||
$config['obfs'] = data_get($protocol_settings, 'network_settings.header.type');
|
$config['obfs'] = data_get($protocol_settings, 'network_settings.header.type');
|
||||||
$config['path'] = \Arr::ra(data_get($protocol_settings, 'network_settings.header.request.path', ['/']));
|
$config['path'] = \Arr::random(data_get($protocol_settings, 'network_settings.header.request.path', ['/']));
|
||||||
|
$config['obfsParam'] = \Arr::random(data_get($protocol_settings, 'network_settings.header.request.headers.Host', ['www.example.com']));
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 'ws':
|
case 'ws':
|
||||||
$config['obfs'] = "websocket";
|
$config['obfs'] = "websocket";
|
||||||
@ -161,13 +164,18 @@ class Shadowrocket implements ProtocolInterface
|
|||||||
}
|
}
|
||||||
switch (data_get($protocol_settings, 'network')) {
|
switch (data_get($protocol_settings, 'network')) {
|
||||||
case 'tcp':
|
case 'tcp':
|
||||||
|
if (data_get($protocol_settings, 'network_settings.header.type', 'none') !== 'none') {
|
||||||
$config['obfs'] = data_get($protocol_settings, 'network_settings.header.type');
|
$config['obfs'] = data_get($protocol_settings, 'network_settings.header.type');
|
||||||
$config['path'] = \Arr::random(data_get($protocol_settings, 'network_settings.header.request.path', ['/']));
|
$config['path'] = \Arr::random(data_get($protocol_settings, 'network_settings.header.request.path', ['/']));
|
||||||
$config['obfsParam'] = \Arr::random(data_get($protocol_settings, 'network_settings.header.request.headers.Host', ['/']));
|
$config['obfsParam'] = \Arr::random(data_get($protocol_settings, 'network_settings.header.request.headers.Host', ['www.example.com']));
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 'ws':
|
case 'ws':
|
||||||
$config['obfs'] = "websocket";
|
$config['obfs'] = "websocket";
|
||||||
|
if (data_get($protocol_settings, 'network_settings.path')) {
|
||||||
$config['path'] = data_get($protocol_settings, 'network_settings.path');
|
$config['path'] = data_get($protocol_settings, 'network_settings.path');
|
||||||
|
}
|
||||||
|
|
||||||
if ($host = data_get($protocol_settings, 'network_settings.headers.Host')) {
|
if ($host = data_get($protocol_settings, 'network_settings.headers.Host')) {
|
||||||
$config['obfsParam'] = $host;
|
$config['obfsParam'] = $host;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user