Skip to content

Commit

Permalink
Merge pull request #2338 from SSPanel-UIM/dev
Browse files Browse the repository at this point in the history
Dev 20240117
  • Loading branch information
M1Screw authored Jan 17, 2024
2 parents 3dbeacc + a533834 commit 6913425
Show file tree
Hide file tree
Showing 25 changed files with 347 additions and 269 deletions.
47 changes: 29 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

> Across the Great Wall we can reach every corner in the world
<br/>
<br/>

[![License](https://img.shields.io/github/license/Anankke/SSPanel-Uim?style=flat-square)](https://github.com/Anankke/SSPanel-Uim/blob/dev/LICENSE)
Expand All @@ -21,48 +22,58 @@
[![Discord](https://img.shields.io/discord/1049692075085549600?color=5865F2&label=Discord&style=flat-square)](https://discord.gg/A7uFKCvf8V)
[![Dev Blog](https://img.shields.io/badge/Dev-Blog-blue?style=flat-square)](https://blog.sspanel.org)

## 简介
## 简介 / TL;DR

SSPanel UIM 是一款专为 Shadowsocks / V2Ray / Trojan / TUIC 协议设计的多用途代理服务销售管理系统。
SSPanel UIM 是一款专为 Shadowsocks / V2Ray / Trojan / TUIC 协议设计的多用途代理服务销售管理系统。
SSPanel UIM is a multi-purpose proxy service sales management system designed for Shadowsocks / V2Ray / Trojan / TUIC protocol.

## 特性
## 特性 / Features

- 集成 支付宝当面付,PayPal,Stripe 等多种支付系统
- Integrate multiple payment systems such as Alipay, PayPal, Stripe, etc.
- 支持多种邮件服务,内置邮件队列功能,无需第三方组件即可使用
- Support multiple mail services, built-in mail queue function, no third-party components are required to use
- 内置基于 Bootstrap 5 的 tabler 主题,模板引擎支持
- Built-in tabler theme based on Bootstrap 5, template engine support
- 支持 Shadowsocks 2022,TUIC 等最新代理协议
- Support Shadowsocks 2022, TUIC and other latest proxy protocols
- 通用订阅接口,一键 json/clash/sip008/sing-box 格式订阅下发
- Universal subscription interface, one-click json/clash/sip008/sing-box format subscription distribution
- 自定义节点配置,模块化订阅系统,支持多种客户端专用订阅格式
- Custom node configuration, modular subscription system, support multiple client-specific subscription formats
- 重构的商店系统,支持包括但不限于包年包月,按量计费,接入类型计费等计费模式
- Refactored store system, support billing modes including but not limited to annual/monthly, pay-as-you-go, access type billing, etc.
- 重构的定时任务系统,一个命令即可自动完成所有定时任务
- Refactored scheduled task system, one command can automatically complete all scheduled tasks

## 安装
## 安装 / Installation

SSPanel UIM 的需要以下程序才能正常的安装和运行:
SSPanel UIM 的需要以下程序才能正常的安装和运行:
SSPanel UIM requires the following programs to be installed and run normally:

- Git
- Nginx(必须使用 HTTPS/HTTPS is REQUIRED)
- PHP 8.2+ (强烈推荐开启 OPcache /OPcache is highly recommended)
- MariaDB 10.11+(关闭严格模式,不兼容 MySQL/Disable strict mode, DO NOT USE MySQL)
- Redis 7.0+

我们推荐用户在开始使用之前有一定程度的 PHP 和 Linux 使用知识,能够至少正确识别使用中所出现的问题并在 issue 中提供所需的信息。

对于拒绝阅读文档且拒绝提供任何反馈的,我们建议其使用其他非开源的方案。

## 文档
## 文档 / Documentation

> 我们安装,我们更新,我们开发
> 我们安装,我们更新,我们开发
> We install, we update, we develop
[SSPanel UIM Wiki](https://wiki.sspanel.org),在这里你可以找到大部分问题的解答。
[SSPanel UIM Wiki](https://wiki.sspanel.org),在这里你可以找到大部分问题的解答。
[SSPanel UIM Wiki](https://wiki.sspanel.org), here you can find answers to most questions.

## 项目
## 项目 / Projects

SSPanel-UIM 不单单是一个面板,它还包括了一系列周边项目来帮助你更好的使用它。
SSPanel-UIM 不单单是一个面板,它还包括了一系列周边项目来帮助你更好的使用它。
SSPanel-UIM is not just a panel, it also includes a series of peripheral projects to help you use it better.

你可以在 [SSPanel UIM 项目组](https://github.com/sspanel-uim) 的页面查看由我们的开发者维护的其他项目。
你可以在 [SSPanel-UIM 开发团队](https://github.com/sspanel-uim) 的页面查看由我们的开发者维护的其他项目。
You can view other projects maintained by our developers on the [SSPanel-UIM Dev Team](https://github.com/sspanel-uim) page.

## 支持开发者
## 支持开发者 / Support Developers

### M1Screw

Expand All @@ -75,10 +86,10 @@ SSPanel-UIM 不单单是一个面板,它还包括了一系列周边项目来
<br/>
<br/>

## Sponsor / 赞助商
## 赞助商 / Sponsors

[![](.github/jetbrains.png)](https://www.jetbrains.com/?from=SSPanel-UIM)

## 协议
## 协议 / License

[MIT License](blob/dev/LICENSE)
2 changes: 1 addition & 1 deletion app/predefine.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,4 @@
*/

const BASE_PATH = __DIR__ . '/..';
const VERSION = '2023.6';
const VERSION = '2023.7';
37 changes: 18 additions & 19 deletions app/routes.php
Original file line number Diff line number Diff line change
Expand Up @@ -46,9 +46,8 @@
// 动态倍率
$group->get('/rate', App\Controllers\User\RateController::class . ':index');
$group->post('/rate', App\Controllers\User\RateController::class . ':ajax');
// 审计规则
// 审计
$group->get('/detect', App\Controllers\User\DetectRuleController::class . ':index');
// 审计记录
$group->get('/detect/log', App\Controllers\User\DetectLogController::class . ':index');
// 工单
$group->get('/ticket', App\Controllers\User\TicketController::class . ':index');
Expand Down Expand Up @@ -180,7 +179,7 @@
$group->put('/docs/{id:[0-9]+}', App\Controllers\Admin\DocsController::class . ':update');
$group->delete('/docs/{id:[0-9]+}', App\Controllers\Admin\DocsController::class . ':delete');
$group->post('/docs/ajax', App\Controllers\Admin\DocsController::class . ':ajax');
// 审计
// 审计规则
$group->get('/detect', App\Controllers\Admin\DetectRuleController::class . ':index');
$group->get('/detect/create', App\Controllers\Admin\DetectRuleController::class . ':create');
$group->post('/detect/add', App\Controllers\Admin\DetectRuleController::class . ':add');
Expand All @@ -190,8 +189,8 @@
$group->get('/detect/log', App\Controllers\Admin\DetectLogController::class . ':index');
$group->post('/detect/log/ajax', App\Controllers\Admin\DetectLogController::class . ':ajax');
// 审计封禁日志
$group->get('/detect/ban', App\Controllers\Admin\DetectBanController::class . ':index');
$group->post('/detect/ban/ajax', App\Controllers\Admin\DetectBanController::class . ':ajax');
$group->get('/detect/ban', App\Controllers\Admin\DetectBanLogController::class . ':index');
$group->post('/detect/ban/ajax', App\Controllers\Admin\DetectBanLogController::class . ':ajax');
// User
$group->get('/user', App\Controllers\Admin\UserController::class . ':index');
$group->get('/user/{id:[0-9]+}/edit', App\Controllers\Admin\UserController::class . ':edit');
Expand Down Expand Up @@ -296,6 +295,20 @@
$group->post('/invoice/ajax', App\Controllers\Admin\InvoiceController::class . ':ajax');
})->add(new Admin());

// WebAPI
$app->group('/mod_mu', static function (RouteCollectorProxy $group): void {
// 节点
$group->get('/nodes/{id:[0-9]+}/info', App\Controllers\WebAPI\NodeController::class . ':getInfo');
// 用户
$group->get('/users', App\Controllers\WebAPI\UserController::class . ':index');
$group->post('/users/traffic', App\Controllers\WebAPI\UserController::class . ':addTraffic');
$group->post('/users/aliveip', App\Controllers\WebAPI\UserController::class . ':addAliveIp');
$group->post('/users/detectlog', App\Controllers\WebAPI\UserController::class . ':addDetectLog');
// 审计 & 杂七杂八的功能
$group->get('/func/detect_rules', App\Controllers\WebAPI\FuncController::class . ':getDetectRules');
$group->get('/func/ping', App\Controllers\WebAPI\FuncController::class . ':ping');
})->add(new NodeToken());

// Admin REST API
//$app->group('/admin/api/v1', function (RouteCollectorProxy $group): void {
// $group->post('/{action}', App\Controllers\Api\AdminApiV1Controller::class . ':actionHandler');
Expand All @@ -316,18 +329,4 @@
// $group->post('/user/online_ip', App\Controllers\Api\NodeApiV1Controller::class . ':addUserOnlineIp');
// $group->post('/user/detect_log', App\Controllers\Api\NodeApiV1Controller::class . ':addUserDetectLog');
//})->add(new NodeApi());

// WebAPI
$app->group('/mod_mu', static function (RouteCollectorProxy $group): void {
// 节点
$group->get('/nodes/{id:[0-9]+}/info', App\Controllers\WebAPI\NodeController::class . ':getInfo');
// 用户
$group->get('/users', App\Controllers\WebAPI\UserController::class . ':index');
$group->post('/users/traffic', App\Controllers\WebAPI\UserController::class . ':addTraffic');
$group->post('/users/aliveip', App\Controllers\WebAPI\UserController::class . ':addAliveIp');
$group->post('/users/detectlog', App\Controllers\WebAPI\UserController::class . ':addDetectLog');
// 审计 & 杂七杂八的功能
$group->get('/func/detect_rules', App\Controllers\WebAPI\FuncController::class . ':getDetectRules');
$group->get('/func/ping', App\Controllers\WebAPI\FuncController::class . ':ping');
})->add(new NodeToken());
};
6 changes: 3 additions & 3 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
"lcobucci/jwt": "^5.2",
"league/omnipay": "^3.2.1",
"mailgun/mailgun-php": "^4",
"nikolaposa/rate-limit": "^3.0",
"nikolaposa/rate-limit": "^3",
"openai-php/client": "^0",
"ozdemir/datatables": "^2.3.7",
"phpmailer/phpmailer": "^6.9.1",
Expand All @@ -34,8 +34,8 @@
"sendgrid/sendgrid": "^8",
"sentry/sdk": "^4",
"slim/http": "^1.3",
"slim/slim": "^4.12",
"smarty/smarty": "^4.3.4",
"slim/slim": "^4",
"smarty/smarty": "^4",
"srmklive/paypal": "^3",
"stripe/stripe-php": "^13",
"symfony/http-client": "^7",
Expand Down
Loading

0 comments on commit 6913425

Please sign in to comment.