SSPanel UIM Wiki – Install, Update, Develop

面板架构

概述

SSPanel-UIM 是一个典型的 PHP 网页应用程序,它需要以下服务器程序才能正常工作

  • HTTP 服务器。通常是 Apache 或者是 Nginx,出于性能考虑我们推荐用户使用 Nginx 部署。
  • PHP 脚本运行程序。目前版本的 SSPanel-UIM 是基于 PHP 8.0 版本进行开发和测试的。
  • 类 MySQL 数据库。这里包括 Oracle MySQL 和 MariaDB,我们推荐使用最新版本的 MariaDB。

在代码层面,SSPanel-UIM 使用 Slim Framework 3 作为后端的基础框架,使用 Smarty 模板引擎提供前端渲染,Composer 管理第三方组件。


memo 在 GitHub 上编辑

更新日志

2022.10

What’s Changed

  • TBD

Full Changeloghttps://github.com/Anankke/SSPanel-Uim/compare/2022.9…2022.10

2022.9

What’s Changed

  • 新的一键安装&更新脚本
  • 修复了面板内置的 Telegram Bot @RoromoriYuzu
  • 移除了旧的 Telegram Bot
  • 更新了 xcat ClientDownload 中的客户端列表
  • 优化了用户面板主页的客户端下载功能
  • 修正了 Trojan gRPC 协议的下发 @iamsaltedfish
  • 移除了已经失效的支付网关
  • 使用 Country Flags API 实现国旗显示
  • 用户注册设置数据库化
  • 重做了面板的随机字符生成逻辑,现在使用 openssl_random_pseudo_bytes 生成任意长度的随机字符串
  • 重写了所有字符串验证的方法,避免出现 999.999.999.999 被判断为有效 IPv4 地址的情况
  • 重做部分用户编辑页面的后端地址,使用了更明确的变量命名
  • 修复了一个潜在的 XSS 问题
  • 节点自定义配置所使用的 jsoneditor 现在默认为 code 编辑模式,可以一键复制整个 json 进行配置
  • 管理员面板主页的图标使用 Chart.js 实现,替换原有的 CanvasJS 以避免潜在的版权问题
  • 新增 gRPC API 的支持,节点新增通讯密钥重置功能
  • xcat Tool 中新增重置所有节点通讯密钥的功能
  • 调整了节点页面的样式以提高可视性,新增了节点类型显示
  • 用户面板默认调用 Material Design Icons,使用更符合逻辑的图标
  • 现在在导入通用设置时将会检测过时设置并删除
  • 更新 Smarty 模板引擎至 4.x 以支持 PHP 8+ 环境部署
  • 更新了 js 依赖库的版本

Full Changeloghttps://github.com/Anankke/SSPanel-Uim/compare/2022.8…2022.9

2022.8

What’s Changed

New Contributors

Full Changeloghttps://github.com/Anankke/SSPanel-Uim/compare/2022.6…2022.8

 

使用 OneinStack 部署 SSPanel UIM

教程使用的环境:CentOS Stream 9/x86_64 架构

安装 OneinStack

OneinStack 官方网站:https://oneinstack.com/ 。使用 https://oneinstack.com/auto/ 指定一个客制化的安装方案,以下为推荐使用的软件及其版本:

  • Nginx
  • PHP 8.0 with OPcache
  • MariaDB 10.6
  • phpMyAdmin

部署 SSPanel UIM

安装完毕之后,在安装指令执行的目录下应存在一个 oneinstack 目录,前往该目录创建新站点:

cd oneinstack
./vhost.sh

在加密选择的部分,如果是裸站使用 Let's Encrypt 证书,如网站需要加设 CDN 例如 Cloudfalre 则使用自签证书即可。

编辑 php.ini,删除 disable_functions 中的 proc_open, proc_get_status

vi /usr/local/php/etc/php.ini

重启php服务:

service php-fpm restart

虚拟主机设置完成后,前往你所设置的网站根目录文件夹,执行以下命令:

git clone -b dev https://github.com/Anankke/SSPanel-Uim.git .
wget https://getcomposer.org/installer -O composer.phar
php composer.phar
php composer.phar install

修改 Nginx vhost 配置文件

vi /usr/local/nginx/conf/vhost/你设置的网站域名.conf
service nginx restart

在对应的 vhost 的配置文件中添加如下伪静态规则,并将网站目录(即 root 配置项)后添加 /public

location / {
    try_files $uri /index.php$is_args$args;
}

然后设置网站目录的整体权限

chmod -R 755 /path/to/your/site
chown -R www:www /path/to/your/site

完成后我们就可以创建数据库和对应的用户了,这步强烈建议使用非root用户并且限制该用户仅可访问对应的网站数据库。

通过 http://IP/phpMyAdmin 可以登录数据库,进行可视化的数据库操作。请务必在完成所有必要的数据库操作后删除或者改名位于 /data/wwwroot/dafault 下的 phpMyAdmin 目录以避免潜在的安全威胁。

接下来编辑网站配置文件,将刚才设置的数据库连接信息填入其中,然后阅读其他配置的说明进行站点客制化。

cp config/.config.example.php config/.config.php
cp config/appprofile.example.php config/appprofile.php
vi config/.config.php

按 i 键进入编辑模式,使用 😡 保存并退出 vi,使用 :q! 放弃任何改动并退出 vi。

接下来执行如下站点初始化设置

mv db/migrations/20000101000000_init_database.php.new db/migrations/20000101000000_init_database.php
php vendor/bin/phinx migrate
php xcat Tool importAllSettings
php xcat User createAdmin
php xcat Tool initQQWry
php xcat ClientDownload

使用 crontab -e 指令设置 SSPanel 的基本 cron 任务:

*/1 * * * * /usr/local/php/bin/php /path/to/your/site/xcat  Job CheckJob
0 */1 * * * /usr/local/php/bin/php /path/to/your/site/xcat  Job UserJob
0 0 * * * /usr/local/php/bin/php -n /path/to/your/site/xcat Job DailyJob

设置财务报表

5 0 * * * /usr/local/php/bin/php /path/to/your/site/xcat FinanceMail day 
6 0 * * 0 /usr/local/php/bin/php /path/to/your/site/xcat FinanceMail week
7 0 1 * * /usr/local/php/bin/php /path/to/your/site/xcat FinanceMail month

设置节点 GFW 检测

*/1 * * * * /usr/local/php/bin/php /path/to/your/site/xcat DetectGFW


CloudPanel

CloudPanel 是一个免费的 PHP 服务器控制面板,专为云而构建,以实现最高性能和安全性

系统要求

  • Debian 11
  • Ubuntu 22

安装 CloudPanel

apt -y update
apt -y install curl wget sudo
curl -sSL https://installer.cloudpanel.io/ce/v2/install.sh | sudo bash

访问控制面板

访问 https://服务器ip:8443 ,点击高级选项,点击继续前往

如果无法打开,请检查防火墙设置,包括服务商和服务器上的 iptables 和 ufw 防火墙

暂时关闭 iptables 防火墙(重启服务器后可能会失效)

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -F

图片[2]-SSPanel UIM Wiki – Install, Update, Develop-亚盟源码

添加域名解析

在你的域名注册商添加一个a解析,指向服务器ip地址

添加网站

图片[3]-SSPanel UIM Wiki – Install, Update, Develop-亚盟源码

点击 Create a PHP Site 图片[4]-SSPanel UIM Wiki – Install, Update, Develop-亚盟源码

  • Application 选 Slim 4
  • PHP Version 这个 dev 分支选 8.1 ,net-feat 分支选 7.4
  • 用户和密码会自动生成,记住生成的用户就行 图片[5]-SSPanel UIM Wiki – Install, Update, Develop-亚盟源码

拉取项目

dev 分支

cd /home/上一步自动生成的网站用户/htdocs/你的域名
rm -rf *
git clone https://github.com/Anankke/SSPanel-Uim.git .
mv db/migrations/20000101000000_init_database.php.new db/migrations/20000101000000_init_database.php
cp config/.config.example.php config/.config.php
cp config/appprofile.example.php config/appprofile.php
wget https://getcomposer.org/installer -O composer.phar
php composer.phar
php composer.phar install

new-feat 分支

cd /home/上一步自动生成的网站用户/htdocs/你的域名
rm -rf *
git clone -b new-feat https://github.com/Anankke/SSPanel-Uim.git .
cp config/.config.example.php config/.config.php
cp config/appprofile.example.php config/appprofile.php
wget https://getcomposer.org/installer -O composer.phar
/usr/bin/php7.4 composer.phar
/usr/bin/php7.4 composer.phar install

然后

chmod 755 -R *
chmod 777 storage -R
chown root -R *
git config --global --add safe.directory $(pwd)
git checkout .

获取数据库密码

clpctl db:show:master-credentials

创建数据库

mysql -h'127.0.0.1' -P'3306' -u'root' -p'刚才获取的数据库密码' -e "create database sspanel" -A

仅 new-feat 分支需要执行

mysql -h'127.0.0.1' -P'3306' -u'root' -p'刚才获取的数据库密码' -A
use sspanel;
source /home/上一步自动生成的网站用户/htdocs/你的域名/databases/glzjin_all.sql;

最后按下 Ctrl + D 登出

编辑配置文件

点击 Manage 图片[6]-SSPanel UIM Wiki – Install, Update, Develop-亚盟源码

点击 File Manage 图片[7]-SSPanel UIM Wiki – Install, Update, Develop-亚盟源码

依照图示编辑,完成后左上角保存 图片[8]-SSPanel UIM Wiki – Install, Update, Develop-亚盟源码

设置 sql mode

sed -i '7i sql_mode=""' /etc/mysql/mysql.conf.d/mysqld.cnf
systemctl restart mysql

导入设置

vendor/bin/phinx migrate
php xcat Tool importAllSettings
php xcat Tool initQQwry

仅 dev 分支需要执行

php xcat Tool detectConfigs

创建管理员账户

php xcat User createAdmin

此时应该可以打开网站并使用刚才创建的账户登录了

添加定时任务

dev 分支

cd /root
crontab -l > crontab.list

echo "
0 */1 * * * /usr/bin/php /home/上一步自动生成的网站用户/htdocs/你的域名/xcat Job UserJob
*/1 * * * * /usr/bin/php /home/上一步自动生成的网站用户/htdocs/你的域名/xcat Job SendMail
*/1 * * * * /usr/bin/php /home/上一步自动生成的网站用户/htdocs/你的域名/xcat Job CheckJob
30 23 * * * /usr/bin/php /home/上一步自动生成的网站用户/htdocs/你的域名/xcat SendDiaryMail
0 0 * * *   /usr/bin/php -n /home/上一步自动生成的网站用户/htdocs/你的域名/xcat Job DailyJob
" >> crontab.list

crontab crontab.list
rm crontab.list

new-feat 分支

cd /root
crontab -l > crontab.list

echo "
0 */1 * * * /usr/bin/php /home/上一步自动生成的网站用户/htdocs/你的域名/xcat Job UserJob
*/1 * * * * /usr/bin/php /home/上一步自动生成的网站用户/htdocs/你的域名/xcat Job SendMail
*/1 * * * * /usr/bin/php /home/上一步自动生成的网站用户/htdocs/你的域名/xcat Job CheckJob
0 0 * * * /usr/bin/php -n /home/上一步自动生成的网站用户/htdocs/你的域名/xcat Job DailyJob
30 23 * * * /usr/bin/php /home/上一步自动生成的网站用户/htdocs/你的域名/xcat SendDiaryMail
0 0 * * * /usr/bin/php /home/上一步自动生成的网站用户/htdocs/你的域名/xcat Statistics Another
59 23 * * * /usr/bin/php /home/上一步自动生成的网站用户/htdocs/你的域名/xcat Statistics CheckIn
" >> crontab.list

crontab crontab.list
rm crontab.list

可选定时任务

财务报表

5 0 * * * /usr/bin/php /home/上一步自动生成的网站用户/htdocs/你的域名/xcat FinanceMail day 
6 0 * * 0 /usr/bin/php /home/上一步自动生成的网站用户/htdocs/你的域名/xcat FinanceMail week
7 0 1 * * /usr/bin/php /home/上一步自动生成的网站用户/htdocs/你的域名/xcat FinanceMail month

建议

安全

如需在生产模式开启 debug 模式,可以执行 bash block-whoops-env.sh ,便能将敏感的环境参数隐藏

执行 bash block-whoops-env.sh recover 可以使用备份恢复修改的文件

备份

执行以下命令导出数据库文件,建议配合其他脚本或工具备份到云端

mysqldump -h127.0.0.1 -uroot -p刚才获取的数据库密码 --databases sspanel > sspanel.sql

ssl 证书

可以一键申请免费的 90 天 ssl 证书,应该会自动续期(吧)

图片[9]-SSPanel UIM Wiki – Install, Update, Develop-亚盟源码

同步更新

dev 分支

git pull

new-feat 分支

git pull origin new-feat:new-feat

有时候,光这么做可能不够,你可能还需要

composer update
vendor/bin/phinx migrate
php xcat Tool importAllSettings

同时需要注意有没有什么参数在 .config.example.php 文件中有,而在你的 .config.php 文件中没有的(你可以谷歌一些在线文本比对工具来方便排查)

通用订阅

通用订阅是为了解决目前各个协议,各个客户端均采用一套完全独立且不兼容的订阅下发规范,导致在前端适配上往往出现落后于客户端更新、前端每次更新功能均要修改部分/全部的订阅下发部分代码逻辑的情况。在增加开发难度的同时也可能导致部分老旧的协议在缺少文档的情况下无法进行很好的兼容。

下发范例

{
    "version": "1",
    "sub_name":"SSPanel",
    "user_email":"user@sspanel.org",
    "user_name":"ssp_user",
    "user_class":"999",
    "user_class_expire_date":"1989-06-04 04:00:00",
    "user_total_traffic":"9785653487206",
    "user_used_traffic":"7036874417766",
    "nodes":[
        {
            "name":"SS_Node_1",
            "id":"1",
            "type":"ss",
            "address":"node1.sspanel.org",
            "port":"8388",
            "password":"shadowsocks",
            "encryption":"aes-128-gcm",
            "plugin":"",
            "plugin_option":"",
            "remark":"This is a shadowsocks node."
        },
        {
            "name":"SSR_Node_2",
            "id":"2",
            "type":"ssr",
            "address":"node2.sspanel.org",
            "port":"8388",
            "password":"shadowsocksr",
            "encryption":"none",
            "protocol":"",
            "protocol_param":"",
            "obfs":"",
            "obfs_param":"",
            "remark":"This is a shadowsocksr node."
        },
        {
            "name":"V2Ray_Node_3",
            "id":"3",
            "type":"v2ray",
            "address":"node3.sspanel.org",
            "port":"443",
            "uuid":"",
            "alterid":"",
            "security":"auto",
            "flow":"",
            "encryption":"none",
            "network":"",
            "header_type":"",
            "host":"",
            "path":"",
            "tls":"",
            "enable_vless":"",
            "remark":"This is a vmess/vless node."
        },
        {
            "name":"Trojan_Node_4",
            "id":"4",
            "type":"trojan",
            "address":"node4.sspanel.org",
            "host":"node4.sspanel.org",
            "port":"443",
            "uuid":"",
            "security":"tls",
            "mux": "0",
            "transport":"none",
            "transport_plugin":"",
            "transport_method":"",
            "allow_insecure":"0",
            "servicename":"",
            "path":"",
            "remark":"This is a trojan node."
        }
    ]

自定义配置使用教程

可配置选项一览

{
    //通用
    "offset_port_user": "", //前端/订阅中下发的端口
    "offset_port_node": "", //节点服务器下发的端口
    "server_user": "", //前端/订阅中下发的服务器地址
    "host": "", //SNI
    //SS
    "plugin": "", //SS插件
    "plugin_option": "", //SS插件参数
    //SSR单端口多用户
    "mu_port": "443", //只可填写一个。如果不填则会按照 节点服务器下发的端口 -> 前端/订阅中下发的端口 的顺序取值
    "mu_password": "xxxxxx",//單端口密碼
    "mu_encryption": "none",
    "mu_protocol": "auth_aes128_md5",
    "mu_obfs": "plain",
    "mu_suffix": "cloudfront.net",
    //V2Ray
    "v2_port": "",
    "tls": "0",
    "enable_vless": "0",
    "alter_id": "",
    "network": "",
    "security": "",
    "encryption":"",
    "path": "",
    "verify_cert": "true",
    "obfs":"",
    "header": {
        "type": "http",
        "request": {},
        "response": {}
    },
    //Trojan
    "trojan_port": "",
    "allow_insecure": "0",
    "grpc": "0",
    "servicename": "",
    "enable_xtls": "",
    "flow": "",
    //Trojan-Go
    "mux": "0",
    "transport": "none",
    "transport_plugin": "",
    "transport_method": ""
}

V2ray

tcp示例

{
    "offset_port_node": "12345",
    "server_sub": "hk.domain.com",
    "alter_id": "2",
    "network": "tcp",
    "security": "none",
}

tcp+http示例

{
    "offset_port_node": "12345",
    "server_sub": "hk.domain.com",
    "alter_id": "2",
    "network": "tcp",
    "security": "none",
    "header": {
        "type": "http",
        "request": {
            "path": ["/"],
              "headers": {
                "Host": ["www.baidu.com"]
            }
        },
        "response": {}
    }
}

tcp+tls示例

{
    "offset_port_node": "443",
    "server_sub": "hk.domain.com",
    "host": "hk.domain.com",
    "alter_id": "2",
    "network": "tcp",
    "security": "tls",
}

ws示例

{
    "offset_port_node": "80",
    "server_sub": "hk.domain.com",
    "host": "hk.domain.com",
    "alter_id": "2",
    "network": "ws",
    "security": "none",
    "path": "/v2ray"
}

ws+tls示例

{
    "offset_port_node": "443",
    "server_sub": "hk.domain.com",
    "host": "hk.domain.com",
    "alter_id": "2",
    "network": "ws",
    "security": "tls",
    "path": "/v2ray"
}

grpc+tls示例

{
    "offset_port_node": "443",
    "server_sub": "hk.domain.com",
    "host": "hk.domain.com",
    "alter_id": "2",
    "network": "grpc",
    "security": "tls",
    "servicename": "some_name"
}

中转端口示例

在任一配置中设置 offset_port_user 为用户连接端口

{
    "offset_port_user": "8888",
    "offset_port_node": "12345",
    "server_sub": "hk.domain.com",
    "alter_id": "2",
    "network": "tcp",
    "security": "none",
}

此时用户连接端口为8888,节点监听端口为12345

启用vless

在任一配置中设置 enable_vless: 1 为用户连接端口

{
    "offset_port_node": "443",
    "server_sub": "hk.domain.com",
    "host": "hk.domain.com",
    "alter_id": "2",
    "network": "tcp",
    "security": "tls",
    "enable_vless": "1"
}

请开启vless同时务必使用tls或者xtls。

启用xtls

在任一配置中设置 security: xtls

{
    "offset_port_node": "443",
    "server_sub": "hk.domain.com",
    "host": "hk.domain.com",
    "alter_id": "2",
    "network": "tcp",
    "security": "xtls",
    "enable_vless": "1"
}

Trojan

tcp示例

{
    "offset_port_node": "443",
    "server_sub": "hk.domain.com",
    "host": "hk.domain.com"
}

grpc示例

{
    "offset_port_node": "443",
    "server_sub": "hk.domain.com",
    "host": "hk.domain.com",
    "grpc": "1",
    "servicename": "some_name"
}

中转示例

在任一配置中设置 offset_port_user 为用户连接端口

{
    "offset_port_user": "443",
    "offset_port_node": "12345",
    "server_sub": "hk.domain.com",
    "host": "hk.domain.com"
}

此时用户连接443,节点监听12345

启用xtls

在任一配置中设置 enable_xtls: 1

{
    "offset_port_node": "443",
    "server_sub": "hk.domain.com",
    "host": "hk.domain.com",
    "enable_xtls": "1"
}

结构

CREATE TABLE `config` (
  `id` int(11) NOT NULL COMMENT '主键',
  `item` text NOT NULL COMMENT '项',
  `value` text NOT NULL COMMENT '值',
  `class` varchar(16) NOT NULL DEFAULT 'default' COMMENT '配置分类',
  `is_public` int(11) NOT NULL DEFAULT 0 COMMENT '是否为公共参数',
  `type` text NOT NULL COMMENT '值类型',
  `default` text NOT NULL COMMENT '默认值',
  `mark` text NOT NULL COMMENT '备注'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

说明

id 主键

item 配置项目。使用下划线命名法

value 配置项目值。可将内容留空(非NULL)

class 配置项目所属的分类名,默认值是 default

is_public 是否是公共参数

type 值类型,可选:stringintboolarray

default 配置项目的默认值

mark 备注

特别说明

若将值类型设置为 array ,在存储时需要先 json_encode() ,需要读取时再 json_decode()

<?php
...
use App\Models\Setting;
...
$recharge_limit = array(
    'max_recharge_limit' => '1000',
    'min_recharge_limit' => '10'
);

// 存储
$config = Setting::where('item', 'recharge_limit')->first();
$config->value = json_encode($recharge_limit);
$config->save();

// 读取
$config = Setting::obtain('recharge_limit');
$recharge_limit = json_decode($config->value, true); // array

// 业务逻辑
...

?>

方法

使用 use 操作符导入

use App\Models\Setting;

obtain

获取单个项目的配置。例如:

Setting::obtain('f2f_pay_app_id');

getClass

获取某一分类下的所有值,返回关联数组

Setting::getClass('f2f');

调用这些值

$configs = Setting::getClass('f2f');

$f2f_pay_app_id = $configs['f2f_pay_app_id'];
$f2f_pay_pid = $configs['f2f_pay_pid'];

getPublicConfig

为 /src/Services/Config.php 提供的方法,将所有被标记为是公共参数的配置项目,以关联数组的形式返回

升级 SSPanel UIM

版本升级

在当前目录下,执行下述命令升级 config

bash update.sh

上述命令会在 迁移/更新 操作之前自动备份原 config 文件到 .config.php.bak,迁移/更新操作完成之后会为你输出新旧配置之间的差异

如果你在使用 CDN 或者 Nginx Cache 等,请自行刷新缓存。

shadowsocks-mod 一键安装脚本

这里提供了 SSPanel-UIM 官方配套后端的一键安装脚本使用说明。

该脚本支持 RHEL 8-9,Fedora 34-36 使用 x86_64 或 aarch64 架构的系统。

项目地址

https://github.com/Anankke/shadowsocks-mod

脚本功能

  • 配置 SSPanel-UIM RPM Repository
  • 安装 shadowsocks-server
  • 配置 shadowsocks-server
  • 更新 SSPanel-UIM RPM Repository 和 shadowsocks-server

安装

dnf install wget -y
wget https://raw.githubusercontent.com/M1Screw/Airport-toolkit/master/ssr_node.sh
chmod +x ssr_node.sh
./ssr_node.sh install

配置

./ssr_node.sh config

更新

./ssr_node.sh update

卸载

./ssr_node.sh uninstall

服务启动

systemctl start shadowsocks-server

服务停止

systemctl stop shadowsocks-server

注意事项

  • 所有跟节点安装本身无关的功能会通过单独的脚本提供(例如 BBR 加速一键配置功能在 Airport-toolkit 中通过 bbr_c7/bbr_c8.sh 脚本提供)
  • TrojanX 一键安装脚本

    这里提供了 SSPanel-UIM 官方配套后端的一键安装脚本使用说明。

    该脚本支持 RHEL 8-9,Fedora 34-36 使用 x86_64 或 aarch64 架构的系统。

    项目地址

    https://github.com/sspanel-uim/TrojanX

    脚本功能

    • 配置 SSPanel-UIM RPM Repository
    • 安装 trojan-server 和 acme.sh
    • 配置 trojan-server 和 acme.sh
    • 更新 SSPanel-UIM RPM Repository,trojan-server 和 acme.sh

    安装

    dnf install wget -y
    wget https://raw.githubusercontent.com/M1Screw/Airport-toolkit/master/trojan_node.sh
    chmod +x trojan_node.sh
    ./trojan_node.sh install

    配置

    ./trojan_node.sh config

    更新

    ./trojan_node.sh update

    卸载

    ./trojan_node.sh uninstall

    服务启动

    systemctl start trojan-server

    服务停止

    systemctl stop trojan-server

    注意事项

    • 所有跟节点安装本身无关的功能会通过单独的脚本提供(例如 BBR 加速一键配置功能在 Airport-toolkit 中通过 bbr_c7/bbr_c8.sh 脚本提供)
    • 常用审计规则

      规则描述 规则正则表达式 规则匹配类型
      屏蔽BT防止版权争议 (torrent|\.torrent|peer_id=|info_hash|get_peers|find_node|BitTorrent|announce_peer|announce\.php\?passkey=) 数据包明文匹配
      屏蔽百度高精度定位 防止IP与客户端地理位置被记录 (api|ps|sv|offnavi|newvector|ulog\.imap|newloc)(\.map|)\.(baidu|n\.shifen)\.com 数据包明文匹配
      屏蔽360 (.+\.|^)(360|so)\.(cn|com) 数据包明文匹配
      禁止邮件滥发 防止垃圾邮件滥用 (Subject|HELO|SMTP) 数据包明文匹配
      屏蔽Spam邮箱 (^.*\@)(guerrillamail|guerrillamailblock|sharklasers|grr|pokemail|spam4|bccto|chacuo|027168)\.(info|biz|com|de|net|org|me|la) 数据包明文匹配
      屏蔽迅雷 基本屏蔽掉迅雷的网站,并且在全局模式下会影响迅雷的下载能力 (.?)(xunlei|sandai|Thunder|XLLiveUD)(.) 数据包明文匹配
      屏蔽金融诈骗 .*bank.* 数据包明文匹配
      屏蔽金融诈骗 (.*\.||)(gash)\.(com|tw) 数据包明文匹配
      屏蔽金融诈骗 (.*\.||)(mycard)\.(com|tw) 数据包明文匹配

      如果需要自定义阻断页面的内容,请在每个后端目录下,复制 detect.html 为 user-detect.html,修改 user-detect.html 并重启后端。

    • 配置 Telegram OAuth

      Telegram 官方推出了 OAuth 接口以后可以代替扫码和输入数字。

      图片[10]-SSPanel UIM Wiki – Install, Update, Develop-亚盟源码


      图片[11]-SSPanel UIM Wiki – Install, Update, Develop-亚盟源码

      • 给 @BotFather 发送命令 /setdomain
      • 选择你要设置的机器人
      • 回复你的 网站域名,如 example.com 或者 dashboard.example.com

      如果要修改样式,可以参考 Telegram 官方给出的指南: https://core.telegram.org/widgets/login


      • Telegram OAuth 组件使用 async 载入,不会阻塞页面其他内容加载,但是可能会影响部分浏览器上 window.onload 事件的触发
      • 如果你发现你的脚本无法载入,请先检查浏览器控制台提示,排除网络问题后最容易出的问题是忘记关闭同源 same-origin 设定,这个在 Cloudflare 设置里面需要设置为关闭。如果你的网站配置里面有类似配置(部分防跨站规则有)也需要将其关闭
      • 如果访问者(不是网站主机)不能科学上网的的话将无法使用

      别试图自己反代这个脚本或者什么重新适配,后面的故事远不止如此

      • 如果登陆人的 Telegram 的名字太长,会影响网页排版,这是正常现象
      •  
}

魔改常见问题解答

Telegram 设置机器人报错

  • 自查 api 是否正确
  • 检查网站是否启用 https
  • 检查 BaseUrl 是否为 https
  • 检查网站 ssl 证书是否有效

更新订阅链接失效解決方法:

源站关闭所有 WAF 如 Nginx WAF 插件或者 btwaf。

Cloudflare 上设置以下 Page Rules:

/link/*
/sub/*
Disable Security
Security Level - Essentially Off
Web Application Firewall(如果有)- Off

如果面板在 Cloudflare 上启用了 HTTPS,请在 Crypto 处修改 Minimum TLS Version 为 TLS 1.0 协议。

宝塔搭建的可以在站点修改配置文件中找到

ssl_protocols TLSv1.1 TLSv1.2;

改为

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

配置节点国旗

默认节点命名规则:

国家/地区的名字/UN 代码/ISO Alpha-2 代码/ISO Alpha-3 代码 + 一个空格

例:

United States Of America A节点 //自动显示美国国旗
CAN 多伦多vps //自动显示加拿大国旗
826 balabala //自动显示英国国旗

然后将 config 文的

$System_Config['enable_flag']='false';
$System_Config['enable_flag']='true';

错误 Undefined offset in

常见于使用宝塔、对接节点数量较多的情况。

在宝塔面板中找到 PHP,点击设置:

  • 在 禁用函数 一栏找到 system putenv proc_open proc_get_status 全部取出
  • 在 性能调整 中,把 PHP 运行模式设置为 静态
  • 在 配置文件 中 按 Ctrl + F 搜索 display_errors 将 = 后的值改为 Off 后保存

图片[12]-SSPanel UIM Wiki – Install, Update, Develop-亚盟源码

IIS 伪静态配置写法

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="slim" patternSyntax="Wildcard">
                    <match url="*" />
                    <conditions>
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                    </conditions>
                    <action type="Rewrite" url="index.php" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

Git 报错 Peer reports incompatible or unsupported protocol version

Git 版本过低,请前往 Git 官网下载页 查看升级指导。

master 分支切换到 dev 分支出现报错

请仔细对比自己的数据库与dev版本数据表以及数据项目的不同并手动添加,并且要注意更改 cron 任务的指令格式,并在完成代码升级后运行。

git fetch --all
git reset --hard origin/dev
git pull
php composer.phar u
php vendor/bin/phinx migrate
php xcat Update
php xcat Tool importAllSettings


出处:https://wiki.sspanel.org/#/
TG交流群(点击进入)----付费帮助搭建---修复---二开,以及发布求资源.
QQ交流群 922260178
© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容