Browse Source

增加针对Mysql5.5,5.6版本的支持

兔姬桑 4 năm trước cách đây
mục cha
commit
0eb6c8e629
45 tập tin đã thay đổi với 123 bổ sung2973 xóa
  1. 1 1
      app/Console/Commands/AutoJob.php
  2. 2 2
      app/Exceptions/Handler.php
  3. 3 0
      app/Providers/AppServiceProvider.php
  4. 38 0
      database/migrations/5.6/2020_08_21_145711_create_referral_apply_table.php
  5. 36 0
      database/migrations/5.6/2020_08_21_145711_create_rule_group_table.php
  6. 32 0
      database/migrations/5.6/2020_08_21_145711_create_user_group_table.php
  7. 2 7
      public/index.php
  8. 0 376
      public/install.php
  9. 8 10
      routes/web.php
  10. 0 1233
      sql/db.sql
  11. 0 7
      sql/mod/20191107.sql
  12. 0 2
      sql/mod/20191112.sql
  13. 0 67
      sql/mod/20191118.sql
  14. 0 3
      sql/mod/20191120.sql
  15. 0 12
      sql/mod/20191122.sql
  16. 0 2
      sql/mod/20191128.sql
  17. 0 12
      sql/mod/20191220.sql
  18. 0 12
      sql/mod/20200306.sql
  19. 0 17
      sql/mod/20200315.sql
  20. 0 4
      sql/mod/20200404.sql
  21. 0 12
      sql/mod/20200412.sql
  22. 0 5
      sql/mod/20200414.sql
  23. 0 21
      sql/mod/20200415.sql
  24. 0 7
      sql/mod/20200419.sql
  25. 0 5
      sql/mod/20200420.sql
  26. 0 8
      sql/mod/20200422.sql
  27. 0 8
      sql/mod/20200426.sql
  28. 0 576
      sql/mod/20200503.sql
  29. 0 3
      sql/mod/20200624.sql
  30. 0 32
      sql/mod/20200630.sql
  31. 0 2
      sql/mod/20200707.sql
  32. 0 5
      sql/mod/20200708.sql
  33. 0 7
      sql/mod/20200711.sql
  34. 0 16
      sql/mod/20200713.sql
  35. 0 2
      sql/mod/20200715.sql
  36. 0 11
      sql/mod/20200719.sql
  37. 0 3
      sql/mod/20200720.sql
  38. 0 13
      sql/mod/20200725.sql
  39. 0 192
      sql/mod/20200730.sql
  40. 0 9
      sql/mod/20200804.sql
  41. 0 15
      sql/mod/20200805.sql
  42. 0 119
      sql/mod/20200807.sql
  43. 0 92
      sql/mod/20200823.sql
  44. 0 42
      sql/mod/20200930.sql
  45. 1 1
      update.sh

+ 1 - 1
app/Console/Commands/AutoJob.php

@@ -203,7 +203,7 @@ class AutoJob extends Command
     // 端口回收与分配
     private function dispatchPort(): void
     {
-        //# 自动分配端口
+        // 自动分配端口
         foreach (User::activeUser()->wherePort(0)->get() as $user) {
             $user->update(['port' => Helpers::getPort()]);
         }

+ 2 - 2
app/Exceptions/Handler.php

@@ -107,12 +107,12 @@ class Handler extends ExceptionHandler
                     if ($request->ajax()) {
                         return Response::json([
                             'status'  => 'fail',
-                            'message' => trans('error.SystemError').', '.trans('error.Visit').'<a href="'.route('log.viewer').'" target="_blank">'.trans('error.log').'</a>',
+                            'message' => trans('error.SystemError').', '.trans('error.Visit').'<a href="'.route('admin.log.viewer').'" target="_blank">'.trans('error.log').'</a>',
                         ]);
                     }
 
                     return Response::view('auth.error',
-                        ['message' => trans('error.SystemError').', '.trans('error.Visit').'<a href="'.route('log.viewer').'" target="_blank">'.trans('error.log').'</a>'],
+                        ['message' => trans('error.SystemError').', '.trans('error.Visit').'<a href="'.route('admin.log.viewer').'" target="_blank">'.trans('error.log').'</a>'],
                         500);
                 case $exception instanceof ConnectionException:
                     if ($request->ajax()) {

+ 3 - 0
app/Providers/AppServiceProvider.php

@@ -16,6 +16,7 @@ use App\Observers\UserGroupObserver;
 use App\Observers\UserObserver;
 use Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider;
 use Illuminate\Support\ServiceProvider;
+use Schema;
 use URL;
 
 class AppServiceProvider extends ServiceProvider
@@ -41,6 +42,8 @@ class AppServiceProvider extends ServiceProvider
      */
     public function boot()
     {
+        Schema::defaultStringLength(191);
+
         // 检测是否强制跳转https
         if (env('REDIRECT_HTTPS', false)) {
             URL::forceScheme('https');

+ 38 - 0
database/migrations/5.6/2020_08_21_145711_create_referral_apply_table.php

@@ -0,0 +1,38 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+class CreateReferralApplyTable extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Schema::create('referral_apply', function (Blueprint $table) {
+            $table->increments('id');
+            $table->unsignedInteger('user_id')->comment('用户ID');
+            $table->unsignedInteger('before')->default(0)->comment('操作前可提现金额,单位分');
+            $table->unsignedInteger('after')->default(0)->comment('操作后可提现金额,单位分');
+            $table->unsignedInteger('amount')->default(0)->comment('本次提现金额,单位分');
+            $table->text('link_logs')->comment('关联返利日志ID,例如:1,3,4');
+            $table->boolean('status')->default(0)->comment('状态:-1-驳回、0-待审核、1-审核通过待打款、2-已打款');
+            $table->dateTime('created_at')->comment('创建时间');
+            $table->dateTime('updated_at')->comment('最后更新时间');
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::dropIfExists('referral_apply');
+    }
+}

+ 36 - 0
database/migrations/5.6/2020_08_21_145711_create_rule_group_table.php

@@ -0,0 +1,36 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+class CreateRuleGroupTable extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Schema::create('rule_group', function (Blueprint $table) {
+            $table->increments('id');
+            $table->boolean('type')->default(1)->comment('模式:1-阻断、0-放行');
+            $table->string('name')->comment('分组名称');
+            $table->text('rules')->nullable()->comment('关联的规则ID,多个用,号分隔');
+            $table->text('nodes')->nullable()->comment('关联的节点ID,多个用,号分隔');
+            $table->dateTime('created_at')->comment('创建时间');
+            $table->dateTime('updated_at')->comment('最后更新时间');
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::dropIfExists('rule_group');
+    }
+}

+ 32 - 0
database/migrations/5.6/2020_08_21_145711_create_user_group_table.php

@@ -0,0 +1,32 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+class CreateUserGroupTable extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Schema::create('user_group', function (Blueprint $table) {
+            $table->increments('id');
+            $table->string('name')->comment('分组名称');
+            $table->text('nodes')->nullable()->comment('关联的节点ID,多个用,号分隔');
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::dropIfExists('user_group');
+    }
+}

+ 2 - 7
public/index.php

@@ -1,17 +1,12 @@
 <?php
 
 /**
- * Laravel - A PHP Framework For Web Artisans.
+ * Laravel - A PHP Framework For Web Artisans
  *
+ * @package  Laravel
  * @author   Taylor Otwell <taylor@laravel.com>
  */
 
-// 判断是否安装ProxyPanel
-if (! is_file(__DIR__.'/../.env')) {
-    header('location:./install.php');
-    exit;
-}
-
 define('LARAVEL_START', microtime(true));
 
 /*

+ 0 - 376
public/install.php

@@ -1,376 +0,0 @@
-<?php
-/**
- *ProxyPanel安装程序.
- *
- * 安装完成后建议删除此文件
- *
- * @author Heron
- */
-
-// error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
-// ini_set('display_errors', '1');
-define('DS', DIRECTORY_SEPARATOR); // 定义目录分隔符
-define('ROOT_PATH', __DIR__.DS.'..'.DS); // 定义根目录
-define('DB_PATH', ROOT_PATH.'sql'.DS.'db.sql'); // 数据库
-
-// 判断文件或目录是否有写的权限
-function is_really_writable($file)
-{
-    if (DIRECTORY_SEPARATOR == '/' and @ini_get('safe_mode') == false) {
-        return is_writable($file);
-    }
-
-    if (! is_file($file) or ($fp = @fopen($file, 'r+')) === false) {
-        return false;
-    }
-
-    fclose($fp);
-
-    return true;
-}
-
-$name = 'ProxyPanel';
-
-// 检测依赖组件目录是否存在
-$checkDirs = [
-    'vendor',
-];
-
-// 错误信息
-$errInfo = '';
-
-// 数据库配置文件
-$ConfigFile = ROOT_PATH.'.env';
-
-// 数据库标准配置文件
-$exampleConfigFile = ROOT_PATH.'.env.example';
-
-// 锁定的文件
-$lockFile = ROOT_PATH.'.env';
-if (is_file($lockFile)) {
-    $errInfo = '如果需要重新安装,请备份数据库后手动移除 .env 文件';
-} elseif (version_compare(PHP_VERSION, '7.3.0', '<')) {
-    $errInfo = '当前PHP版本('.PHP_VERSION.')过低,请使用PHP7.3.0及以上版本';
-} elseif (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
-    $errInfo = '当前系统环境为Windows,无法进行安装';
-} elseif (! is_file($exampleConfigFile)) {
-    $errInfo = '缺失标准配置文件 .env.example';
-} elseif (! extension_loaded('PDO')) {
-    $errInfo = '当前PHP环境未启用PDO组件,无法进行安装';
-} elseif (! is_really_writable(ROOT_PATH)) {
-    $open_basedir = ini_get('open_basedir');
-    if ($open_basedir) {
-        $dirArr = explode(PATH_SEPARATOR, $open_basedir);
-        if ($dirArr && in_array(__DIR__, $dirArr)) {
-            $errInfo = '当前服务器因配置了open_basedir,导致无法读取应用根目录';
-        }
-    }
-
-    if (! $errInfo) {
-        $errInfo = '权限不足,无法写入配置文件.env';
-    }
-} else {
-    $dirArr = [];
-    foreach ($checkDirs as $k => $v) {
-        if (! is_dir(ROOT_PATH.$v)) {
-            $errInfo = '请先在'.$name.'根目录下执行<b>php composer.phar install</b> 安装依赖';
-            break;
-        }
-    }
-}
-
-// 当前是POST请求
-if (isset($_SERVER['REQUEST_METHOD']) && $_SERVER['REQUEST_METHOD'] == 'POST') {
-    if ($errInfo) {
-        echo $errInfo;
-        exit;
-    }
-
-    $err = '';
-    $APP_KEY = md5(time().mt_rand(1, 1000000));
-    $DB_HOST = isset($_POST['mysqlHost']) ? trim($_POST['mysqlHost']) : '127.0.0.1';
-    $DB_PORT = isset($_POST['mysqlPort']) ? trim($_POST['mysqlPort']) : 3306;
-    $hostArr = explode(':', $DB_HOST);
-    if (count($hostArr) > 1) {
-        $DB_HOST = $hostArr[0];
-        $DB_PORT = $hostArr[1];
-    }
-    $DB_USERNAME = isset($_POST['mysqlUsername']) ? trim($_POST['mysqlUsername']) : 'proxypanel';
-    $DB_PASSWORD = isset($_POST['mysqlPassword']) ? trim($_POST['mysqlPassword']) : 'proxypanel';
-    $DB_DATABASE = isset($_POST['mysqlDatabase']) ? trim($_POST['mysqlDatabase']) : 'proxypanel';
-
-    try {
-        // 检测能否读取数据库文件
-        $sql = @file_get_contents(DB_PATH);
-        if (! $sql) {
-            throw new Exception('无法读取所需的'.DB_PATH.',请检查是否有读权限');
-        }
-
-        $config = @file_get_contents($exampleConfigFile);
-        if (! $config) {
-            throw new Exception('无法读取配置.env.example文件,请检查是否有读权限');
-        }
-
-        $pdo = new PDO("mysql:host={$DB_HOST};port={$DB_PORT}", $DB_USERNAME, $DB_PASSWORD, [
-            PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
-            PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',
-        ]);
-
-        // 检测是否支持innodb存储引擎
-        $pdoStatement = $pdo->query("SHOW VARIABLES LIKE 'innodb_version'");
-        $result = $pdoStatement->fetch();
-        if (! $result) {
-            throw new Exception('当前数据库不支持innodb存储引擎,请开启后再重新尝试安装');
-        }
-
-        $pdo->query("CREATE DATABASE IF NOT EXISTS `{$DB_DATABASE}` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;");
-        $pdo->query("USE `{$DB_DATABASE}`");
-        $pdo->exec($sql);
-
-        // 写入数据库配置到.env文件
-        $callback = function ($matches) use ($APP_KEY, $DB_HOST, $DB_PORT, $DB_USERNAME, $DB_PASSWORD, $DB_DATABASE) {
-            $field = $matches[1];
-            $replace = ${"{$field}"};
-
-            return "{$matches[1]}={$replace}".PHP_EOL;
-        };
-        $config = preg_replace_callback("/(APP_KEY|DB_HOST|DB_DATABASE|DB_USERNAME|DB_PASSWORD|DB_PORT)=(.*)(\s+)/",
-            $callback, $config);
-        $result = @file_put_contents($ConfigFile, $config);
-        if (! $result) {
-            throw new Exception('无法写入数据库信息到.env文件,请检查是否有写权限');
-        }
-
-        echo 'success';
-    } catch (PDOException $e) {
-        $err = $e->getMessage();
-    } catch (Exception $e) {
-        $err = $e->getMessage();
-    }
-
-    echo $err;
-    exit;
-}
-?>
-<!doctype html>
-<html>
-<head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <title>安装<?php
-        echo $name; ?></title>
-    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1">
-    <meta name="renderer" content="webkit">
-
-    <style>
-        body {
-            background: #5c97bd;
-            margin: 0;
-            padding: 0;
-            line-height: 1.5;
-        }
-
-        body, input, button {
-            font-family: 'Open Sans', sans-serif;
-            font-size: 16px;
-            color: #fff;
-        }
-
-        .container {
-            max-width: 515px;
-            margin: 0 auto;
-            padding: 20px;
-            text-align: center;
-        }
-
-        a {
-            color: #fff7d0;
-            text-decoration: none;
-        }
-
-        a:hover {
-            text-decoration: underline;
-        }
-
-        h1 {
-            margin-top: 0;
-            margin-bottom: 10px;
-        }
-
-        h2 {
-            font-size: 28px;
-            font-weight: normal;
-            color: #fff;
-            margin-bottom: 0;
-        }
-
-        form {
-            margin-top: 40px;
-        }
-
-        .form-group {
-            margin-bottom: 20px;
-        }
-
-        .form-group .form-field:first-child input {
-            border-top-left-radius: 4px;
-            border-top-right-radius: 4px;
-        }
-
-        .form-group .form-field:last-child input {
-            border-bottom-left-radius: 4px;
-            border-bottom-right-radius: 4px;
-        }
-
-        .form-field input {
-            background: #6ba3c8;
-            margin: 0 0 1px;
-            border: 2px solid transparent;
-            transition: background 0.2s, border-color 0.2s, color 0.2s;
-            width: 100%;
-            padding: 15px 15px 15px 180px;
-            box-sizing: border-box;
-        }
-
-        .form-field input:focus {
-            border-color: #e8f6ff;
-            outline: none;
-        }
-
-        .form-field label {
-            float: left;
-            width: 160px;
-            text-align: right;
-            margin-right: -160px;
-            position: relative;
-            margin-top: 18px;
-            font-size: 14px;
-            pointer-events: none;
-            opacity: 0.7;
-        }
-
-        button, .btn {
-            background: #fff;
-            color: #6ba3ca;
-            border: 0;
-            font-weight: bold;
-            border-radius: 4px;
-            cursor: pointer;
-            padding: 15px 30px;
-            -webkit-appearance: none;
-        }
-
-        button[disabled] {
-            opacity: 0.5;
-        }
-
-        #error, .error, #success, .success {
-            background: #d66c6c;
-            color: #fff;
-            padding: 15px 20px;
-            border-radius: 4px;
-            margin-bottom: 20px;
-        }
-
-        #success {
-            background: #3C5675;
-        }
-
-        #error a, .error a {
-            color: white;
-            text-decoration: underline;
-        }
-    </style>
-</head>
-
-<body>
-<div class="container">
-    <h2>安装 <?php
-        echo $name; ?></h2>
-    <div>
-        <form method="post">
-            <?php
-            if ($errInfo) { ?>
-                <div class="error">
-                    <?php
-                    echo $errInfo; ?>
-                </div>
-            <?php
-            } ?>
-            <div id="error" style="display:none"></div>
-            <div id="success" style="display:none"></div>
-
-            <div class="form-group">
-                <div class="form-field">
-                    <label>MySQL 数据库地址</label>
-                    <input type="text" name="mysqlHost" value="127.0.0.1" required="">
-                </div>
-
-                <div class="form-field">
-                    <label>MySQL 数据库名</label>
-                    <input type="text" name="mysqlDatabase" value="proxypanel" required="">
-                </div>
-
-                <div class="form-field">
-                    <label>MySQL 用户名</label>
-                    <input type="text" name="mysqlUsername" value="proxypanel" required="">
-                </div>
-
-                <div class="form-field">
-                    <label>MySQL 密码</label>
-                    <input type="password" name="mysqlPassword">
-                </div>
-
-                <div class="form-field">
-                    <label>MySQL 端口号</label>
-                    <input type="number" name="mysqlPort" value="3306">
-                </div>
-            </div>
-
-            <div class="form-buttons">
-                <button type="submit" <?php
-                echo $errInfo ? 'disabled' : '' ?>>安装
-                </button>
-            </div>
-        </form>
-
-        <script src="//cdn.staticfile.org/jquery/2.1.4/jquery.min.js" type="text/javascript"></script>
-        <script>
-            $(function() {
-
-                $('form').on('submit', function(e) {
-                    e.preventDefault();
-
-                    var $button = $(this).find('button').text('安装中...').prop('disabled', true);
-
-                    $.post('', $(this).serialize()).done(function(ret) {
-                        if (ret === 'success') {
-                            $('#error').hide();
-                            $('#success').text('安装成功,请使用[用户名:test@test.com、密码:123456]登录').show();
-                            $('<a class="btn" href="./admin/login">登录后台</a>').insertAfter($button);
-                            $button.remove();
-                            localStorage.setItem('fastep', 'installed');
-                        }
-                        else {
-                            $('#error').show().text(ret);
-                            $button.prop('disabled', false).text('点击安装');
-                            $('html,body').animate({
-                                scrollTop: 0,
-                            }, 500);
-                        }
-                    }).fail(function(data) {
-                        $('#error').show().text('发生错误:\n\n' + data.responseText);
-                        $button.prop('disabled', false).text('点击安装');
-                        $('html,body').animate({
-                            scrollTop: 0,
-                        }, 500);
-                    });
-
-                    return false;
-                });
-            });
-        </script>
-    </div>
-</div>
-</body>
-</html>

+ 8 - 10
routes/web.php

@@ -1,16 +1,14 @@
 <?php
 
-Route::domain(sysConfig('subscribe_domain') ?: sysConfig('website_url'))->group(function () {
-    Route::get('s/{code}', 'User\SubscribeController@getSubscribeByCode')->name('sub'); // 节点订阅地址
-});
+if (env('APP_KEY')) {
+    Route::domain(sysConfig('subscribe_domain') ?: sysConfig('website_url'))
+        ->get('s/{code}', 'User\SubscribeController@getSubscribeByCode')->name('sub'); // 节点订阅地址
 
-// 支付回调相关
-Route::prefix('callback')->group(function () {
-    Route::get('checkout', 'Gateway\PayPal@getCheckout')->name('paypal.checkout');
-    Route::domain(sysConfig('website_callback_url') ?: sysConfig('website_url'))->group(function () {
-        Route::get('notify', 'PaymentController@notify')->name('payment.notify'); //支付回调
-    });
-});
+    Route::domain(sysConfig('website_callback_url') ?: sysConfig('website_url'))
+        ->get('callback/notify', 'PaymentController@notify')->name('payment.notify'); //支付回调
+}
+
+Route::get('callback/checkout', 'Gateway\PayPal@getCheckout')->name('paypal.checkout'); // 支付回调相关
 
 // 登录相关
 Route::middleware(['isForbidden', 'affiliate', 'isMaintenance'])->group(function () {

+ 0 - 1233
sql/db.sql

@@ -1,1233 +0,0 @@
--- Adminer 4.7.7 MySQL dump
-
-SET NAMES utf8;
-SET time_zone = '+00:00';
-SET foreign_key_checks = 0;
-SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO';
-
-SET NAMES utf8mb4;
-
-CREATE TABLE `article`
-(
-    `id`         INT(10) UNSIGNED                        NOT NULL AUTO_INCREMENT,
-    `type`       TINYINT(1)                              NOT NULL DEFAULT '1' COMMENT '类型:1-文章、2-站内公告、3-站外公告',
-    `title`      VARCHAR(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '标题',
-    `summary`    VARCHAR(255) COLLATE utf8mb4_unicode_ci          DEFAULT NULL COMMENT '简介',
-    `logo`       VARCHAR(255) COLLATE utf8mb4_unicode_ci          DEFAULT NULL COMMENT 'LOGO',
-    `content`    TEXT COLLATE utf8mb4_unicode_ci COMMENT '内容',
-    `sort`       TINYINT(3) UNSIGNED                     NOT NULL DEFAULT '0' COMMENT '排序',
-    `created_at` DATETIME                                NOT NULL COMMENT '创建时间',
-    `updated_at` DATETIME                                NOT NULL COMMENT '最后更新时间',
-    `deleted_at` TIMESTAMP                               NULL     DEFAULT NULL COMMENT '删除时间',
-    PRIMARY KEY (`id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-
-
-CREATE TABLE `config`
-(
-    `name`  VARCHAR(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '配置名',
-    `value` TEXT COLLATE utf8mb4_unicode_ci COMMENT '配置值',
-    PRIMARY KEY (`name`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-
-INSERT INTO `config` (`name`, `value`)
-VALUES ('active_times', '3'),
-       ('admin_invite_days', '7'),
-       ('alipay_currency', 'USD'),
-       ('alipay_private_key', NULL),
-       ('alipay_public_key', NULL),
-       ('alipay_qrcode', NULL),
-       ('alipay_transport', 'http'),
-       ('AppStore_id', NULL),
-       ('AppStore_password', NULL),
-       ('auto_release_port', '1'),
-       ('bark_key', NULL),
-       ('bitpay_secret', NULL),
-       ('codepay_id', NULL),
-       ('codepay_key', NULL),
-       ('codepay_url', NULL),
-       ('default_days', '7'),
-       ('default_traffic', '1024'),
-       ('detection_check_times', '3'),
-       ('epay_key', NULL),
-       ('epay_mch_id', NULL),
-       ('epay_url', NULL),
-       ('expire_days', '15'),
-       ('expire_warning', NULL),
-       ('f2fpay_app_id', NULL),
-       ('f2fpay_private_key', NULL),
-       ('f2fpay_public_key', NULL),
-       ('geetest_id', NULL),
-       ('geetest_key', NULL),
-       ('google_captcha_secret', NULL),
-       ('google_captcha_sitekey', NULL),
-       ('hcaptcha_secret', NULL),
-       ('hcaptcha_sitekey', NULL),
-       ('invite_num', '3'),
-       ('is_activate_account', NULL),
-       ('is_AliPay', NULL),
-       ('is_ban_status', NULL),
-       ('is_captcha', NULL),
-       ('is_checkin', '1'),
-       ('is_clear_log', '1'),
-       ('is_custom_subscribe', NULL),
-       ('is_email_filtering', NULL),
-       ('is_forbid_china', NULL),
-       ('is_forbid_oversea', NULL),
-       ('is_forbid_robot', NULL),
-       ('is_free_code', NULL),
-       ('is_invite_register', '2'),
-       ('is_namesilo', NULL),
-       ('is_node_offline', NULL),
-       ('is_notification', NULL),
-       ('is_otherPay', NULL),
-       ('is_push_bear', NULL),
-       ('is_QQPay', NULL),
-       ('is_rand_port', NULL),
-       ('is_register', '1'),
-       ('is_reset_password', '1'),
-       ('is_subscribe_ban', '1'),
-       ('is_traffic_ban', '1'),
-       ('is_user_rand_port', NULL),
-       ('is_WeChatPay', NULL),
-       ('maintenance_content', NULL),
-       ('maintenance_mode', NULL),
-       ('maintenance_time', NULL),
-       ('max_port', '65535'),
-       ('max_rand_traffic', '500'),
-       ('min_port', '10000'),
-       ('min_rand_traffic', '10'),
-       ('mix_subscribe', NULL),
-       ('namesilo_key', NULL),
-       ('node_daily_report', NULL),
-       ('nodes_detection', NULL),
-       ('offline_check_times', NULL),
-       ('payjs_key', NULL),
-       ('payjs_mch_id', NULL),
-       ('paypal_app_id', NULL),
-       ('paypal_certificate', NULL),
-       ('paypal_password', NULL),
-       ('paypal_secret', NULL),
-       ('paypal_username', NULL),
-       ('push_bear_qrcode', NULL),
-       ('push_bear_send_key', NULL),
-       ('rand_subscribe', NULL),
-       ('redirect_url', NULL),
-       ('referral_money', '100'),
-       ('referral_percent', '0.2'),
-       ('referral_status', '1'),
-       ('referral_traffic', '1024'),
-       ('referral_type', NULL),
-       ('register_ip_limit', '5'),
-       ('reset_password_times', '3'),
-       ('reset_traffic', '1'),
-       ('server_chan_key', NULL),
-       ('subject_name', NULL),
-       ('subscribe_ban_times', '20'),
-       ('subscribe_domain', NULL),
-       ('subscribe_max', '3'),
-       ('traffic_ban_time', '60'),
-       ('traffic_ban_value', '10'),
-       ('traffic_limit_time', '1440'),
-       ('traffic_warning', NULL),
-       ('traffic_warning_percent', '80'),
-       ('trojan_license', NULL),
-       ('user_invite_days', '7'),
-       ('v2ray_license', NULL),
-       ('v2ray_tls_provider', NULL),
-       ('web_api_url', NULL),
-       ('webmaster_email', NULL),
-       ('website_analytics', NULL),
-       ('website_callback_url', NULL),
-       ('website_customer_service', NULL),
-       ('website_home_logo', NULL),
-       ('website_logo', NULL),
-       ('website_name', 'ProxyPanel'),
-       ('website_security_code', NULL),
-       ('website_url', 'https://demo.proxypanel.ml'),
-       ('wechat_qrcode', NULL);
-
-CREATE TABLE `country`
-(
-    `code` CHAR(2) COLLATE utf8mb4_unicode_ci     NOT NULL COMMENT 'ISO国家代码',
-    `name` VARCHAR(10) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '名称',
-    PRIMARY KEY (`code`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-
-INSERT INTO `country` (`code`, `name`)
-VALUES ('ae', '阿联酋'),
-       ('ar', '阿根廷'),
-       ('au', '澳大利亚'),
-       ('be', '比利时'),
-       ('bg', '保加利亚'),
-       ('br', '巴西'),
-       ('ca', '加拿大'),
-       ('ch', '瑞士'),
-       ('cn', '中国'),
-       ('co', '哥伦比亚'),
-       ('cz', '捷克'),
-       ('de', '德国'),
-       ('dk', '丹麦'),
-       ('eg', '埃及'),
-       ('es', '西班牙'),
-       ('fi', '芬兰'),
-       ('fr', '法国'),
-       ('gr', '希腊'),
-       ('hk', '香港'),
-       ('hu', '匈牙利'),
-       ('id', '印度尼西亚'),
-       ('ie', '爱尔兰'),
-       ('il', '以色列'),
-       ('in', '印度'),
-       ('iq', '伊拉克'),
-       ('ir', '伊朗'),
-       ('is', '冰岛'),
-       ('it', '意大利'),
-       ('jp', '日本'),
-       ('ke', '肯尼亚'),
-       ('kr', '韩国'),
-       ('kz', '哈萨克斯坦'),
-       ('lt', '立陶宛'),
-       ('lu', '卢森堡'),
-       ('md', '摩尔多瓦'),
-       ('mm', '缅甸'),
-       ('mo', '澳门'),
-       ('mx', '墨西哥'),
-       ('my', '马来西亚'),
-       ('nl', '荷兰'),
-       ('no', '挪威'),
-       ('nz', '纽西兰'),
-       ('ph', '菲律宾'),
-       ('pk', '巴基斯坦'),
-       ('pl', '波兰'),
-       ('pt', '葡萄牙'),
-       ('ro', '罗马尼亚'),
-       ('ru', '俄罗斯'),
-       ('se', '瑞典'),
-       ('sg', '新加坡'),
-       ('th', '泰国'),
-       ('tr', '土耳其'),
-       ('tw', '台湾'),
-       ('ua', '乌克兰'),
-       ('uk', '英国'),
-       ('us', '美国'),
-       ('vn', '越南'),
-       ('za', '南非');
-
-CREATE TABLE `coupon`
-(
-    `id`           INT(10) UNSIGNED                       NOT NULL AUTO_INCREMENT,
-    `name`         VARCHAR(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '优惠券名称',
-    `logo`         VARCHAR(255) COLLATE utf8mb4_unicode_ci         DEFAULT NULL COMMENT '优惠券LOGO',
-    `sn`           VARCHAR(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '优惠券码',
-    `type`         TINYINT(1)                             NOT NULL DEFAULT '1' COMMENT '类型:1-抵用券、2-折扣券、3-充值券',
-    `usable_times` SMALLINT(5) UNSIGNED                            DEFAULT NULL COMMENT '可使用次数',
-    `value`        INT(10) UNSIGNED                       NOT NULL COMMENT '折扣金额(元)/折扣力度',
-    `rule`         INT(10) UNSIGNED                                DEFAULT NULL COMMENT '使用限制(元)',
-    `start_time`   INT(10) UNSIGNED                       NOT NULL DEFAULT '0' COMMENT '有效期开始',
-    `end_time`     INT(10) UNSIGNED                       NOT NULL DEFAULT '0' COMMENT '有效期结束',
-    `status`       TINYINT(1)                             NOT NULL DEFAULT '0' COMMENT '状态:0-未使用、1-已使用、2-已失效',
-    `created_at`   DATETIME                               NOT NULL COMMENT '创建时间',
-    `updated_at`   DATETIME                               NOT NULL COMMENT '最后更新时间',
-    `deleted_at`   TIMESTAMP                              NULL     DEFAULT NULL COMMENT '删除时间',
-    PRIMARY KEY (`id`),
-    UNIQUE KEY `coupon_sn_unique` (`sn`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-
-
-CREATE TABLE `coupon_log`
-(
-    `id`          INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
-    `coupon_id`   INT(10) UNSIGNED NOT NULL              DEFAULT '0' COMMENT '优惠券ID',
-    `goods_id`    INT(10) UNSIGNED NOT NULL              DEFAULT '0' COMMENT '商品ID',
-    `order_id`    INT(10) UNSIGNED NOT NULL              DEFAULT '0' COMMENT '订单ID',
-    `description` VARCHAR(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注',
-    `created_at`  DATETIME         NOT NULL COMMENT '创建时间',
-    PRIMARY KEY (`id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-
-
-CREATE TABLE `email_filter`
-(
-    `id`    INT(10) UNSIGNED                       NOT NULL AUTO_INCREMENT,
-    `type`  TINYINT(1)                             NOT NULL DEFAULT '1' COMMENT '类型:1-黑名单、2-白名单',
-    `words` VARCHAR(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '敏感词',
-    PRIMARY KEY (`id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-
-INSERT INTO `email_filter` (`id`, `type`, `words`)
-VALUES (1, 1, 'chacuo.com'),
-       (2, 1, '1766258.com'),
-       (3, 1, '3202.com'),
-       (4, 1, '4057.com'),
-       (5, 1, '4059.com'),
-       (6, 1, 'a7996.com'),
-       (7, 1, 'bccto.me'),
-       (8, 1, 'bnuis.com'),
-       (9, 1, 'chaichuang.com'),
-       (10, 1, 'cr219.com'),
-       (11, 1, 'cuirushi.org'),
-       (12, 1, 'dawin.com'),
-       (13, 1, 'jiaxin8736.com'),
-       (14, 1, 'lakqs.com'),
-       (15, 1, 'urltc.com'),
-       (16, 1, '027168.com'),
-       (17, 1, '10minutemail.net'),
-       (18, 1, '11163.com'),
-       (19, 1, '1shivom.com'),
-       (20, 1, 'auoie.com'),
-       (21, 1, 'bareed.ws'),
-       (22, 1, 'bit-degree.com'),
-       (23, 1, 'cjpeg.com'),
-       (24, 1, 'cool.fr.nf'),
-       (25, 1, 'courriel.fr.nf'),
-       (26, 1, 'disbox.net'),
-       (27, 1, 'disbox.org'),
-       (28, 1, 'fidelium10.com'),
-       (29, 1, 'get365.pw'),
-       (30, 1, 'ggr.la'),
-       (31, 1, 'grr.la'),
-       (32, 1, 'guerrillamail.biz'),
-       (33, 1, 'guerrillamail.com'),
-       (34, 1, 'guerrillamail.de'),
-       (35, 1, 'guerrillamail.net'),
-       (36, 1, 'guerrillamail.org'),
-       (37, 1, 'guerrillamailblock.com'),
-       (38, 1, 'hubii-network.com'),
-       (39, 1, 'hurify1.com'),
-       (40, 1, 'itoup.com'),
-       (41, 1, 'jetable.fr.nf'),
-       (42, 1, 'jnpayy.com'),
-       (43, 1, 'juyouxi.com'),
-       (44, 1, 'mail.bccto.me'),
-       (45, 1, 'www.bccto.me'),
-       (46, 1, 'mega.zik.dj'),
-       (47, 1, 'moakt.co'),
-       (48, 1, 'moakt.ws'),
-       (49, 1, 'molms.com'),
-       (50, 1, 'moncourrier.fr.nf'),
-       (51, 1, 'monemail.fr.nf'),
-       (52, 1, 'monmail.fr.nf'),
-       (53, 1, 'nomail.xl.cx'),
-       (54, 1, 'nospam.ze.tc'),
-       (55, 1, 'pay-mon.com'),
-       (56, 1, 'poly-swarm.com'),
-       (57, 1, 'sgmh.online'),
-       (58, 1, 'sharklasers.com'),
-       (59, 1, 'shiftrpg.com'),
-       (60, 1, 'spam4.me'),
-       (61, 1, 'speed.1s.fr'),
-       (62, 1, 'tmail.ws'),
-       (63, 1, 'tmails.net'),
-       (64, 1, 'tmpmail.net'),
-       (65, 1, 'tmpmail.org'),
-       (66, 1, 'travala10.com'),
-       (67, 1, 'yopmail.com'),
-       (68, 1, 'yopmail.fr'),
-       (69, 1, 'yopmail.net'),
-       (70, 1, 'yuoia.com'),
-       (71, 1, 'zep-hyr.com'),
-       (72, 1, 'zippiex.com'),
-       (73, 1, 'lrc8.com'),
-       (74, 1, '1otc.com'),
-       (75, 1, 'emailna.co'),
-       (76, 1, 'mailinator.com'),
-       (77, 1, 'nbzmr.com'),
-       (78, 1, 'awsoo.com'),
-       (79, 1, 'zhcne.com'),
-       (80, 1, '0box.eu'),
-       (81, 1, 'contbay.com'),
-       (82, 1, 'damnthespam.com'),
-       (83, 1, 'kurzepost.de'),
-       (84, 1, 'objectmail.com'),
-       (85, 1, 'proxymail.eu'),
-       (86, 1, 'rcpt.at'),
-       (87, 1, 'trash-mail.at'),
-       (88, 1, 'trashmail.at'),
-       (89, 1, 'trashmail.com'),
-       (90, 1, 'trashmail.io'),
-       (91, 1, 'trashmail.me'),
-       (92, 1, 'trashmail.net'),
-       (93, 1, 'wegwerfmail.de'),
-       (94, 1, 'wegwerfmail.net'),
-       (95, 1, 'wegwerfmail.org'),
-       (96, 1, 'nwytg.net'),
-       (97, 1, 'despam.it'),
-       (98, 1, 'spambox.us'),
-       (99, 1, 'spam.la'),
-       (100, 1, 'mytrashmail.com'),
-       (101, 1, 'mt2014.com'),
-       (102, 1, 'mt2015.com'),
-       (103, 1, 'thankyou2010.com'),
-       (104, 1, 'trash2009.com'),
-       (105, 1, 'mt2009.com'),
-       (106, 1, 'trashymail.com'),
-       (107, 1, 'tempemail.net'),
-       (108, 1, 'slopsbox.com'),
-       (109, 1, 'mailnesia.com'),
-       (110, 1, 'ezehe.com'),
-       (111, 1, 'tempail.com'),
-       (112, 1, 'newairmail.com'),
-       (113, 1, 'temp-mail.org'),
-       (114, 1, 'linshiyouxiang.net'),
-       (115, 1, 'zwoho.com'),
-       (116, 1, 'mailboxy.fun'),
-       (117, 1, 'crypto-net.club'),
-       (118, 1, 'guerrillamail.info'),
-       (119, 1, 'pokemail.net'),
-       (120, 1, 'odmail.cn'),
-       (121, 1, 'hlooy.com'),
-       (122, 1, 'ozlaq.com'),
-       (123, 1, '666email.com'),
-       (124, 1, 'linshiyou.com'),
-       (125, 1, 'linshiyou.pl'),
-       (126, 1, 'woyao.pl'),
-       (127, 1, 'yaowo.pl'),
-       (128, 2, 'qq.com'),
-       (129, 2, '163.com'),
-       (130, 2, '126.com'),
-       (131, 2, '189.com'),
-       (132, 2, 'sohu.com'),
-       (133, 2, 'gmail.com'),
-       (134, 2, 'outlook.com'),
-       (135, 2, 'icloud.com');
-
-CREATE TABLE `failed_jobs`
-(
-    `id`         BIGINT(20) UNSIGNED                 NOT NULL AUTO_INCREMENT,
-    `connection` TEXT COLLATE utf8mb4_unicode_ci     NOT NULL,
-    `queue`      TEXT COLLATE utf8mb4_unicode_ci     NOT NULL,
-    `payload`    LONGTEXT COLLATE utf8mb4_unicode_ci NOT NULL,
-    `exception`  LONGTEXT COLLATE utf8mb4_unicode_ci NOT NULL,
-    `failed_at`  TIMESTAMP                           NOT NULL DEFAULT CURRENT_TIMESTAMP,
-    PRIMARY KEY (`id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-
-
-CREATE TABLE `goods`
-(
-    `id`          INT(10) UNSIGNED                        NOT NULL AUTO_INCREMENT,
-    `name`        VARCHAR(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '商品名称',
-    `logo`        VARCHAR(255) COLLATE utf8mb4_unicode_ci          DEFAULT NULL COMMENT '商品图片地址',
-    `traffic`     BIGINT(20) UNSIGNED                     NOT NULL DEFAULT '0' COMMENT '商品内含多少流量,单位MiB',
-    `type`        TINYINT(1)                              NOT NULL DEFAULT '1' COMMENT '商品类型:1-流量包、2-套餐',
-    `price`       INT(10) UNSIGNED                        NOT NULL DEFAULT '0' COMMENT '售价,单位分',
-    `level`       TINYINT(3) UNSIGNED                     NOT NULL DEFAULT '0' COMMENT '购买后给用户授权的等级',
-    `renew`       INT(10) UNSIGNED                                 DEFAULT NULL COMMENT '流量重置价格,单位分',
-    `period`      INT(10) UNSIGNED                                 DEFAULT NULL COMMENT '流量自动重置周期',
-    `info`        VARCHAR(255) COLLATE utf8mb4_unicode_ci          DEFAULT NULL COMMENT '商品信息',
-    `description` VARCHAR(255) COLLATE utf8mb4_unicode_ci          DEFAULT NULL COMMENT '商品描述',
-    `days`        INT(10) UNSIGNED                        NOT NULL DEFAULT '30' COMMENT '有效期',
-    `invite_num`  INT(10) UNSIGNED                                 DEFAULT NULL COMMENT '赠送邀请码数',
-    `limit_num`   INT(10) UNSIGNED                                 DEFAULT NULL COMMENT '限购数量,默认为null不限购',
-    `color`       VARCHAR(50) COLLATE utf8mb4_unicode_ci  NOT NULL DEFAULT 'green' COMMENT '商品颜色',
-    `sort`        TINYINT(3) UNSIGNED                     NOT NULL DEFAULT '0' COMMENT '排序',
-    `is_hot`      TINYINT(1)                              NOT NULL DEFAULT '0' COMMENT '是否热销:0-否、1-是',
-    `status`      TINYINT(1)                              NOT NULL DEFAULT '0' COMMENT '状态:0-下架、1-上架',
-    `created_at`  DATETIME                                NOT NULL COMMENT '创建时间',
-    `updated_at`  DATETIME                                NOT NULL COMMENT '最后更新时间',
-    `deleted_at`  TIMESTAMP                               NULL     DEFAULT NULL COMMENT '删除时间',
-    PRIMARY KEY (`id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-
-
-CREATE TABLE `invite`
-(
-    `id`         INT(10) UNSIGNED                    NOT NULL AUTO_INCREMENT,
-    `inviter_id` INT(10) UNSIGNED                    NOT NULL DEFAULT '0' COMMENT '邀请ID',
-    `invitee_id` INT(10) UNSIGNED                             DEFAULT NULL COMMENT '受邀ID',
-    `code`       CHAR(12) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '邀请码',
-    `status`     TINYINT(1)                          NOT NULL DEFAULT '0' COMMENT '邀请码状态:0-未使用、1-已使用、2-已过期',
-    `dateline`   DATETIME                            NOT NULL COMMENT '有效期至',
-    `created_at` DATETIME                            NOT NULL COMMENT '创建时间',
-    `updated_at` DATETIME                            NOT NULL COMMENT '最后更新时间',
-    `deleted_at` TIMESTAMP                           NULL     DEFAULT NULL COMMENT '删除时间',
-    PRIMARY KEY (`id`),
-    UNIQUE KEY `invite_code_unique` (`code`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-
-
-CREATE TABLE `jobs`
-(
-    `id`           BIGINT(20) UNSIGNED                     NOT NULL AUTO_INCREMENT,
-    `queue`        VARCHAR(255) COLLATE utf8mb4_unicode_ci NOT NULL,
-    `payload`      LONGTEXT COLLATE utf8mb4_unicode_ci     NOT NULL,
-    `attempts`     TINYINT(3) UNSIGNED                     NOT NULL,
-    `reserved_at`  INT(10) UNSIGNED DEFAULT NULL,
-    `available_at` INT(10) UNSIGNED                        NOT NULL,
-    `created_at`   INT(10) UNSIGNED                        NOT NULL,
-    PRIMARY KEY (`id`),
-    KEY `jobs_queue_index` (`queue`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-
-
-CREATE TABLE `label`
-(
-    `id`   INT(10) UNSIGNED                        NOT NULL AUTO_INCREMENT,
-    `name` VARCHAR(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '名称',
-    `sort` TINYINT(3) UNSIGNED                     NOT NULL DEFAULT '0' COMMENT '排序值',
-    PRIMARY KEY (`id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-
-INSERT INTO `label` (`id`, `name`, `sort`)
-VALUES (1, 'Netflix', 0),
-       (2, 'Hulu', 0),
-       (3, 'HBO', 0),
-       (4, 'Amazon Video', 0),
-       (5, 'DisneyNow', 0),
-       (6, 'BBC', 0),
-       (7, 'Channel 4', 0),
-       (8, 'Fox+', 0),
-       (9, 'Happyon', 0),
-       (10, 'AbemeTV', 0),
-       (11, 'DMM', 0),
-       (12, 'NicoNico', 0),
-       (13, 'Pixiv', 0),
-       (14, 'TVer', 0),
-       (15, 'TVB', 0),
-       (16, 'HBO Go', 0),
-       (17, 'BiliBili港澳台', 0),
-       (18, '動畫瘋', 0),
-       (19, '四季線上影視', 0),
-       (20, 'LINE TV', 0),
-       (21, 'Youtube Premium', 0),
-       (22, '中国视频网站', 0),
-       (23, '网易云音乐', 0),
-       (24, 'QQ音乐', 0),
-       (25, 'DisneyPlus', 0),
-       (26, 'Pandora', 0),
-       (27, 'SoundCloud', 0),
-       (28, 'Spotify', 0),
-       (29, 'TIDAL', 0),
-       (30, 'TikTok', 0),
-       (31, 'Pornhub', 0),
-       (32, 'Twitch', 0);
-
-CREATE TABLE `level`
-(
-    `id`    INT(10) UNSIGNED                        NOT NULL AUTO_INCREMENT,
-    `level` TINYINT(3) UNSIGNED                     NOT NULL COMMENT '等级',
-    `name`  VARCHAR(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '等级名称',
-    PRIMARY KEY (`id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-
-INSERT INTO `level` (`id`, `level`, `name`)
-VALUES (1, 0, 'Free'),
-       (2, 1, 'VIP-1'),
-       (3, 2, 'VIP-2'),
-       (4, 3, 'VIP-3'),
-       (5, 4, 'VIP-4'),
-       (6, 5, 'VIP-5'),
-       (7, 6, 'VIP-6'),
-       (8, 7, 'VIP-7');
-
-CREATE TABLE `marketing`
-(
-    `id`         INT(10) UNSIGNED                        NOT NULL AUTO_INCREMENT,
-    `type`       TINYINT(1)                              NOT NULL COMMENT '类型:1-邮件群发',
-    `receiver`   TEXT COLLATE utf8mb4_unicode_ci         NOT NULL COMMENT '接收者',
-    `title`      VARCHAR(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '标题',
-    `content`    TEXT COLLATE utf8mb4_unicode_ci         NOT NULL COMMENT '内容',
-    `error`      VARCHAR(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '错误信息',
-    `status`     TINYINT(1)                              NOT NULL COMMENT '状态:-1-失败、0-待发送、1-成功',
-    `created_at` DATETIME                                NOT NULL COMMENT '创建时间',
-    `updated_at` DATETIME                                NOT NULL COMMENT '最后更新时间',
-    PRIMARY KEY (`id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-
-
-CREATE TABLE `migrations`
-(
-    `id`        INT(10) UNSIGNED                        NOT NULL AUTO_INCREMENT,
-    `migration` VARCHAR(255) COLLATE utf8mb4_unicode_ci NOT NULL,
-    `batch`     INT(11)                                 NOT NULL,
-    PRIMARY KEY (`id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-
-INSERT INTO `migrations` (`id`, `migration`, `batch`)
-VALUES (1, '2020_08_21_145711_create_article_table', 1),
-       (2, '2020_08_21_145711_create_config_table', 1),
-       (3, '2020_08_21_145711_create_country_table', 1),
-       (4, '2020_08_21_145711_create_coupon_log_table', 1),
-       (5, '2020_08_21_145711_create_coupon_table', 1),
-       (6, '2020_08_21_145711_create_email_filter_table', 1),
-       (7, '2020_08_21_145711_create_failed_jobs_table', 1),
-       (8, '2020_08_21_145711_create_goods_table', 1),
-       (9, '2020_08_21_145711_create_invite_table', 1),
-       (10, '2020_08_21_145711_create_jobs_table', 1),
-       (11, '2020_08_21_145711_create_label_table', 1),
-       (12, '2020_08_21_145711_create_level_table', 1),
-       (13, '2020_08_21_145711_create_marketing_table', 1),
-       (14, '2020_08_21_145711_create_node_auth_table', 1),
-       (15, '2020_08_21_145711_create_node_certificate_table', 1),
-       (16, '2020_08_21_145711_create_node_daily_data_flow_table', 1),
-       (17, '2020_08_21_145711_create_node_hourly_data_flow_table', 1),
-       (18, '2020_08_21_145711_create_node_label_table', 1),
-       (19, '2020_08_21_145711_create_node_ping_table', 1),
-       (20, '2020_08_21_145711_create_node_rule_table', 1),
-       (21, '2020_08_21_145711_create_notification_log_table', 1),
-       (22, '2020_08_21_145711_create_order_table', 1),
-       (23, '2020_08_21_145711_create_payment_callback_table', 1),
-       (24, '2020_08_21_145711_create_payment_table', 1),
-       (25, '2020_08_21_145711_create_products_pool_table', 1),
-       (26, '2020_08_21_145711_create_referral_apply_table', 1),
-       (27, '2020_08_21_145711_create_referral_log_table', 1),
-       (28, '2020_08_21_145711_create_rule_group_node_table', 1),
-       (29, '2020_08_21_145711_create_rule_group_table', 1),
-       (30, '2020_08_21_145711_create_rule_log_table', 1),
-       (31, '2020_08_21_145711_create_rule_table', 1),
-       (32, '2020_08_21_145711_create_ss_config_table', 1),
-       (33, '2020_08_21_145711_create_ss_node_info_table', 1),
-       (34, '2020_08_21_145711_create_ss_node_ip_table', 1),
-       (35, '2020_08_21_145711_create_ss_node_online_log_table', 1),
-       (36, '2020_08_21_145711_create_ss_node_table', 1),
-       (37, '2020_08_21_145711_create_ticket_reply_table', 1),
-       (38, '2020_08_21_145711_create_ticket_table', 1),
-       (39, '2020_08_21_145711_create_user_baned_log_table', 1),
-       (40, '2020_08_21_145711_create_user_credit_log_table', 1),
-       (41, '2020_08_21_145711_create_user_daily_data_flow_table', 1),
-       (42, '2020_08_21_145711_create_user_data_modify_log_table', 1),
-       (43, '2020_08_21_145711_create_user_group_table', 1),
-       (44, '2020_08_21_145711_create_user_hourly_data_flow_table', 1),
-       (45, '2020_08_21_145711_create_user_login_log_table', 1),
-       (46, '2020_08_21_145711_create_user_subscribe_log_table', 1),
-       (47, '2020_08_21_145711_create_user_subscribe_table', 1),
-       (48, '2020_08_21_145711_create_user_table', 1),
-       (49, '2020_08_21_145711_create_user_traffic_log_table', 1),
-       (50, '2020_08_21_145711_create_verify_code_table', 1),
-       (51, '2020_08_21_145711_create_verify_table', 1),
-       (52, '2020_08_21_150711_preset_data', 1);
-
-CREATE TABLE `node_auth`
-(
-    `id`         INT(10) UNSIGNED                    NOT NULL AUTO_INCREMENT,
-    `node_id`    INT(10) UNSIGNED                    NOT NULL COMMENT '授权节点ID',
-    `key`        CHAR(16) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '认证KEY',
-    `secret`     CHAR(8) COLLATE utf8mb4_unicode_ci  NOT NULL COMMENT '通信密钥',
-    `created_at` DATETIME                            NOT NULL COMMENT '创建时间',
-    `updated_at` DATETIME                            NOT NULL COMMENT '最后更新时间',
-    PRIMARY KEY (`id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-
-
-CREATE TABLE `node_certificate`
-(
-    `id`         INT(10) UNSIGNED                        NOT NULL AUTO_INCREMENT,
-    `domain`     VARCHAR(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '域名',
-    `key`        TEXT COLLATE utf8mb4_unicode_ci COMMENT '域名证书KEY',
-    `pem`        TEXT COLLATE utf8mb4_unicode_ci COMMENT '域名证书PEM',
-    `created_at` DATETIME                                NOT NULL COMMENT '创建时间',
-    `updated_at` DATETIME                                NOT NULL COMMENT '最后更新时间',
-    PRIMARY KEY (`id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-
-
-CREATE TABLE `node_daily_data_flow`
-(
-    `id`         INT(10) UNSIGNED    NOT NULL AUTO_INCREMENT,
-    `node_id`    INT(10) UNSIGNED    NOT NULL            DEFAULT '0' COMMENT '节点ID',
-    `u`          BIGINT(20) UNSIGNED NOT NULL            DEFAULT '0' COMMENT '上传流量',
-    `d`          BIGINT(20) UNSIGNED NOT NULL            DEFAULT '0' COMMENT '下载流量',
-    `total`      BIGINT(20) UNSIGNED NOT NULL            DEFAULT '0' COMMENT '总流量',
-    `traffic`    VARCHAR(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '总流量(带单位)',
-    `created_at` DATETIME            NOT NULL COMMENT '创建时间',
-    PRIMARY KEY (`id`),
-    KEY `node_daily_data_flow_node_id_index` (`node_id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-
-
-CREATE TABLE `node_hourly_data_flow`
-(
-    `id`         INT(10) UNSIGNED    NOT NULL AUTO_INCREMENT,
-    `node_id`    INT(10) UNSIGNED    NOT NULL            DEFAULT '0' COMMENT '节点ID',
-    `u`          BIGINT(20) UNSIGNED NOT NULL            DEFAULT '0' COMMENT '上传流量',
-    `d`          BIGINT(20) UNSIGNED NOT NULL            DEFAULT '0' COMMENT '下载流量',
-    `total`      BIGINT(20) UNSIGNED NOT NULL            DEFAULT '0' COMMENT '总流量',
-    `traffic`    VARCHAR(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '总流量(带单位)',
-    `created_at` DATETIME            NOT NULL COMMENT '创建时间',
-    PRIMARY KEY (`id`),
-    KEY `node_hourly_data_flow_node_id_index` (`node_id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-
-
-CREATE TABLE `node_label`
-(
-    `id`       INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
-    `node_id`  INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '节点ID',
-    `label_id` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '标签ID',
-    PRIMARY KEY (`id`),
-    KEY `idx_node_label` (`node_id`, `label_id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-
-
-CREATE TABLE `node_ping`
-(
-    `id`         INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
-    `node_id`    INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '对应节点id',
-    `ct`         INT(11)          NOT NULL DEFAULT '0' COMMENT '电信',
-    `cu`         INT(11)          NOT NULL DEFAULT '0' COMMENT '联通',
-    `cm`         INT(11)          NOT NULL DEFAULT '0' COMMENT '移动',
-    `hk`         INT(11)          NOT NULL DEFAULT '0' COMMENT '香港',
-    `created_at` DATETIME         NOT NULL COMMENT '创建时间',
-    PRIMARY KEY (`id`),
-    KEY `node_ping_node_id_index` (`node_id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-
-
-CREATE TABLE `node_rule`
-(
-    `id`         INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
-    `node_id`    INT(10) UNSIGNED          DEFAULT NULL COMMENT '节点ID',
-    `rule_id`    INT(10) UNSIGNED          DEFAULT NULL COMMENT '审计规则ID',
-    `is_black`   TINYINT(1)       NOT NULL DEFAULT '1' COMMENT '是否黑名单模式:0-不是、1-是',
-    `created_at` DATETIME         NOT NULL COMMENT '创建时间',
-    `updated_at` DATETIME         NOT NULL COMMENT '最后更新时间',
-    PRIMARY KEY (`id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-
-
-CREATE TABLE `notification_log`
-(
-    `id`         INT(10) UNSIGNED                        NOT NULL AUTO_INCREMENT,
-    `type`       TINYINT(1)                              NOT NULL DEFAULT '1' COMMENT '类型:1-邮件、2-ServerChan、3-Bark、4-Telegram',
-    `address`    VARCHAR(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '收信地址',
-    `title`      VARCHAR(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '标题',
-    `content`    TEXT COLLATE utf8mb4_unicode_ci         NOT NULL COMMENT '内容',
-    `status`     TINYINT(1)                              NOT NULL DEFAULT '0' COMMENT '状态:-1发送失败、0-等待发送、1-发送成功',
-    `error`      TEXT COLLATE utf8mb4_unicode_ci COMMENT '发送失败抛出的异常信息',
-    `created_at` DATETIME                                NOT NULL COMMENT '创建时间',
-    `updated_at` DATETIME                                NOT NULL COMMENT '最后更新时间',
-    PRIMARY KEY (`id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-
-
-CREATE TABLE `order`
-(
-    `id`            INT(10) UNSIGNED                       NOT NULL AUTO_INCREMENT,
-    `order_sn`      VARCHAR(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '订单编号',
-    `user_id`       INT(10) UNSIGNED                       NOT NULL COMMENT '操作人',
-    `goods_id`      INT(10) UNSIGNED                                DEFAULT NULL COMMENT '商品ID',
-    `coupon_id`     INT(10) UNSIGNED                                DEFAULT NULL COMMENT '优惠券ID',
-    `origin_amount` INT(10) UNSIGNED                       NOT NULL DEFAULT '0' COMMENT '订单原始总价,单位分',
-    `amount`        INT(10) UNSIGNED                       NOT NULL DEFAULT '0' COMMENT '订单总价,单位分',
-    `expired_at`    DATETIME                                        DEFAULT NULL COMMENT '过期时间',
-    `is_expire`     TINYINT(1)                             NOT NULL DEFAULT '0' COMMENT '是否已过期:0-未过期、1-已过期',
-    `pay_type`      TINYINT(1)                             NOT NULL DEFAULT '0' COMMENT '支付渠道:0-余额、1-支付宝、2-QQ、3-微信、4-虚拟货币、5-paypal',
-    `pay_way`       VARCHAR(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'balance' COMMENT '支付方式:balance、f2fpay、codepay、payjs、bitpayx等',
-    `status`        TINYINT(1)                             NOT NULL DEFAULT '0' COMMENT '订单状态:-1-已关闭、0-待支付、1-已支付待确认、2-已完成',
-    `created_at`    DATETIME                               NOT NULL COMMENT '创建时间',
-    `updated_at`    DATETIME                               NOT NULL COMMENT '最后更新时间',
-    PRIMARY KEY (`id`),
-    KEY `idx_order_search` (`user_id`, `goods_id`, `is_expire`, `status`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-
-
-CREATE TABLE `payment`
-(
-    `id`         INT(10) UNSIGNED                       NOT NULL AUTO_INCREMENT,
-    `trade_no`   VARCHAR(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '支付单号(本地订单号)',
-    `user_id`    INT(10) UNSIGNED                       NOT NULL COMMENT '用户ID',
-    `order_id`   INT(10) UNSIGNED                       NOT NULL COMMENT '本地订单ID',
-    `amount`     INT(10) UNSIGNED                       NOT NULL DEFAULT '0' COMMENT '金额,单位分',
-    `qr_code`    TEXT COLLATE utf8mb4_unicode_ci COMMENT '支付二维码',
-    `url`        TEXT COLLATE utf8mb4_unicode_ci COMMENT '支付链接',
-    `status`     TINYINT(1)                             NOT NULL DEFAULT '0' COMMENT '支付状态:-1-支付失败、0-等待支付、1-支付成功',
-    `created_at` DATETIME                               NOT NULL COMMENT '创建时间',
-    `updated_at` DATETIME                               NOT NULL COMMENT '最后更新时间',
-    PRIMARY KEY (`id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-
-
-CREATE TABLE `payment_callback`
-(
-    `id`           INT(10) UNSIGNED                       NOT NULL AUTO_INCREMENT,
-    `trade_no`     VARCHAR(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '本地订单号',
-    `out_trade_no` VARCHAR(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '外部订单号(支付平台)',
-    `amount`       INT(10) UNSIGNED                       NOT NULL COMMENT '交易金额,单位分',
-    `status`       TINYINT(1)                             NOT NULL COMMENT '交易状态:0-失败、1-成功',
-    `created_at`   DATETIME                               NOT NULL COMMENT '创建时间',
-    `updated_at`   DATETIME                               NOT NULL COMMENT '最后更新时间',
-    PRIMARY KEY (`id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-
-
-CREATE TABLE `products_pool`
-(
-    `id`         INT(10) UNSIGNED                        NOT NULL AUTO_INCREMENT,
-    `name`       VARCHAR(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '名称',
-    `min_amount` INT(10) UNSIGNED                        NOT NULL DEFAULT '0' COMMENT '适用最小金额,单位分',
-    `max_amount` INT(10) UNSIGNED                        NOT NULL DEFAULT '0' COMMENT '适用最大金额,单位分',
-    `status`     TINYINT(1)                              NOT NULL DEFAULT '1' COMMENT '状态:0-未启用、1-已启用',
-    `created_at` DATETIME                                NOT NULL COMMENT '创建时间',
-    `updated_at` DATETIME                                NOT NULL COMMENT '最后更新时间',
-    PRIMARY KEY (`id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-
-
-CREATE TABLE `referral_apply`
-(
-    `id`         INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
-    `user_id`    INT(10) UNSIGNED NOT NULL COMMENT '用户ID',
-    `before`     INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '操作前可提现金额,单位分',
-    `after`      INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '操作后可提现金额,单位分',
-    `amount`     INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '本次提现金额,单位分',
-    `link_logs`  JSON             NOT NULL COMMENT '关联返利日志ID,例如:1,3,4',
-    `status`     TINYINT(1)       NOT NULL DEFAULT '0' COMMENT '状态:-1-驳回、0-待审核、1-审核通过待打款、2-已打款',
-    `created_at` DATETIME         NOT NULL COMMENT '创建时间',
-    `updated_at` DATETIME         NOT NULL COMMENT '最后更新时间',
-    PRIMARY KEY (`id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-
-
-CREATE TABLE `referral_log`
-(
-    `id`         INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
-    `invitee_id` INT(10) UNSIGNED NOT NULL COMMENT '用户ID',
-    `inviter_id` INT(10) UNSIGNED NOT NULL COMMENT '推广人ID',
-    `order_id`   INT(10) UNSIGNED NOT NULL COMMENT '关联订单ID',
-    `amount`     INT(10) UNSIGNED NOT NULL COMMENT '消费金额,单位分',
-    `commission` INT(10) UNSIGNED NOT NULL COMMENT '返利金额',
-    `status`     TINYINT(1)       NOT NULL DEFAULT '0' COMMENT '状态:0-未提现、1-审核中、2-已提现',
-    `created_at` DATETIME         NOT NULL COMMENT '创建时间',
-    `updated_at` DATETIME         NOT NULL COMMENT '最后更新时间',
-    PRIMARY KEY (`id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-
-
-CREATE TABLE `rule`
-(
-    `id`      INT(10) UNSIGNED                        NOT NULL AUTO_INCREMENT,
-    `type`    TINYINT(1)                              NOT NULL DEFAULT '1' COMMENT '类型:1-正则表达式、2-域名、3-IP、4-协议',
-    `name`    VARCHAR(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '规则描述',
-    `pattern` TEXT COLLATE utf8mb4_unicode_ci         NOT NULL COMMENT '规则值',
-    PRIMARY KEY (`id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-
-INSERT INTO `rule` (`id`, `type`, `name`, `pattern`)
-VALUES (1, 1, '360', '(.*.||)(^360|0360|1360|3600|360safe|^so|qhimg|qhmsg|^yunpan|qihoo|qhcdn|qhupdate|360totalsecurity|360shouji|qihucdn|360kan|secmp).(cn|com|net)'),
-       (2, 1, '腾讯管家', '(.guanjia.qq.com|qqpcmgr|QQPCMGR)'),
-       (3, 1, '金山毒霸', '(.*.||)(rising|kingsoft|duba|xindubawukong|jinshanduba).(com|net|org)'),
-       (4, 1, '暗网相关', '(.*.||)(netvigator|torproject).(cn|com|net|org)'),
-       (5, 1, '百度定位', '(api|ps|sv|offnavi|newvector|ulog.imap|newloc|tracknavi)(.map|).(baidu|n.shifen).com'),
-       (6, 1, '法轮功类', '(.*.||)(dafahao|minghui|dongtaiwang|dajiyuan|falundata|shenyun|tuidang|epochweekly|epochtimes|ntdtv|falundafa|wujieliulan|zhengjian).(org|com|net)'),
-       (7, 1, 'BT扩展名', '(torrent|.torrent|peer_id=|info_hash|get_peers|find_node|BitTorrent|announce_peer|announce.php?passkey=)'),
-       (8, 1, '邮件滥发', '((^.*@)(guerrillamail|guerrillamailblock|sharklasers|grr|pokemail|spam4|bccto|chacuo|027168).(info|biz|com|de|net|org|me|la)|Subject|HELO|SMTP)'),
-       (9, 1, '迅雷下载', '(.?)(xunlei|sandai|Thunder|XLLiveUD)(.)'),
-       (10, 1, '大陆应用', '(.*.||)(baidu|qq|163|189|10000|10010|10086|sohu|sogoucdn|sogou|uc|58|taobao|qpic|bilibili|hdslb|acgvideo|sina|douban|doubanio|xiaohongshu|sinaimg|weibo|xiaomi|youzanyun|meituan|dianping|biliapi|huawei|pinduoduo|cnzz).(org|com|net|cn)'),
-       (11, 1, '大陆银行', '(.*.||)(icbc|ccb|boc|bankcomm|abchina|cmbchina|psbc|cebbank|cmbc|pingan|spdb|citicbank|cib|hxb|bankofbeijing|hsbank|tccb|4001961200|bosc|hkbchina|njcb|nbcb|lj-bank|bjrcb|jsbchina|gzcb|cqcbank|czbank|hzbank|srcb|cbhb|cqrcb|grcbank|qdccb|bocd|hrbcb|jlbank|bankofdl|qlbchina|dongguanbank|cscb|hebbank|drcbank|zzbank|bsb|xmccb|hljrcc|jxnxs|gsrcu|fjnx|sxnxs|gx966888|gx966888|zj96596|hnnxs|ahrcu|shanxinj|hainanbank|scrcu|gdrcu|hbxh|ynrcc|lnrcc|nmgnxs|hebnx|jlnls|js96008|hnnx|sdnxs).(org|com|net|cn)'),
-       (12, 1, '台湾银行', '(.*.||)(firstbank|bot|cotabank|megabank|tcb-bank|landbank|hncb|bankchb|tbb|ktb|tcbbank|scsb|bop|sunnybank|kgibank|fubon|ctbcbank|cathaybk|eximbank|bok|ubot|feib|yuantabank|sinopac|esunbank|taishinbank|jihsunbank|entiebank|hwataibank|csc|skbank).(org|com|net|tw)'),
-       (13, 1, '大陆第三方支付', '(.*.||)(alipay|baifubao|yeepay|99bill|95516|51credit|cmpay|tenpay|lakala|jdpay).(org|com|net|cn)'),
-       (14, 1, '台湾特供', '(.*.||)(visa|mycard|mastercard|gov|gash|beanfun|bank|line).(org|com|net|cn|tw|jp|kr)'),
-       (15, 1, '涉政治类', '(.*.||)(shenzhoufilm|secretchina|renminbao|aboluowang|mhradio|guangming|zhengwunet|soundofhope|yuanming|zhuichaguoji|fgmtv|xinsheng|shenyunperformingarts|epochweekly|tuidang|shenyun|falundata|bannedbook|pincong|rfi|mingjingnews|boxun|rfa|scmp|ogate|voachinese).(org|com|net|rocks|fr)'),
-       (16, 1, '流媒体', '(.*.||)(youtube|googlevideo|hulu|netflix|nflxvideo|akamai|nflximg|hbo|mtv|bbc|tvb).(org|club|com|net|tv)'),
-       (17, 1, '测速类', '(.*.||)(fast|speedtest).(org|com|net|cn)'),
-       (18, 1, '外汇交易类', '(.*.||)(metatrader4|metatrader5|mql5).(org|com|net)');
-
-CREATE TABLE `rule_group`
-(
-    `id`         INT(10) UNSIGNED                        NOT NULL AUTO_INCREMENT,
-    `type`       TINYINT(1)                              NOT NULL DEFAULT '1' COMMENT '模式:1-阻断、0-放行',
-    `name`       VARCHAR(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '分组名称',
-    `rules`      JSON                                             DEFAULT NULL COMMENT '关联的规则ID,多个用,号分隔',
-    `nodes`      JSON                                             DEFAULT NULL COMMENT '关联的节点ID,多个用,号分隔',
-    `created_at` DATETIME                                NOT NULL COMMENT '创建时间',
-    `updated_at` DATETIME                                NOT NULL COMMENT '最后更新时间',
-    PRIMARY KEY (`id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-
-
-CREATE TABLE `rule_group_node`
-(
-    `id`            INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
-    `rule_group_id` INT(10) UNSIGNED NOT NULL COMMENT '规则分组ID',
-    `node_id`       INT(10) UNSIGNED NOT NULL COMMENT '节点ID',
-    `created_at`    DATETIME         NOT NULL COMMENT '创建时间',
-    `updated_at`    DATETIME         NOT NULL COMMENT '最后更新时间',
-    PRIMARY KEY (`id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-
-
-CREATE TABLE `rule_log`
-(
-    `id`         INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
-    `user_id`    INT(10) UNSIGNED NOT NULL               DEFAULT '0' COMMENT '用户ID',
-    `node_id`    INT(10) UNSIGNED NOT NULL               DEFAULT '0' COMMENT '节点ID',
-    `rule_id`    INT(10) UNSIGNED NOT NULL               DEFAULT '0' COMMENT '规则ID,0表示白名单模式下访问访问了非规则允许的网址',
-    `reason`     VARCHAR(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '触发原因',
-    `created_at` DATETIME         NOT NULL COMMENT '创建时间',
-    PRIMARY KEY (`id`),
-    KEY `idx` (`user_id`, `node_id`, `rule_id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-
-
-CREATE TABLE `ss_config`
-(
-    `id`         INT(10) UNSIGNED                       NOT NULL AUTO_INCREMENT,
-    `name`       VARCHAR(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '配置名',
-    `type`       TINYINT(1)                             NOT NULL DEFAULT '1' COMMENT '类型:1-加密方式、2-协议、3-混淆',
-    `is_default` TINYINT(1)                             NOT NULL DEFAULT '0' COMMENT '是否默认:0-不是、1-是',
-    `sort`       TINYINT(3) UNSIGNED                    NOT NULL DEFAULT '0' COMMENT '排序:值越大排越前',
-    PRIMARY KEY (`id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-
-INSERT INTO `ss_config` (`id`, `name`, `type`, `is_default`, `sort`)
-VALUES (1, 'none', 1, 1, 0),
-       (2, 'rc4-md5', 1, 0, 0),
-       (3, 'aes-128-cfb', 1, 0, 0),
-       (4, 'aes-192-cfb', 1, 0, 0),
-       (5, 'aes-256-cfb', 1, 0, 0),
-       (6, 'aes-128-ctr', 1, 0, 0),
-       (7, 'aes-192-ctr', 1, 0, 0),
-       (8, 'aes-256-ctr', 1, 0, 0),
-       (9, 'aes-128-gcm', 1, 0, 0),
-       (10, 'aes-192-gcm', 1, 0, 0),
-       (11, 'aes-256-gcm', 1, 0, 0),
-       (12, 'bf-cfb', 1, 0, 0),
-       (13, 'cast5-cfb', 1, 0, 0),
-       (14, 'des-cfb', 1, 0, 0),
-       (15, 'salsa20', 1, 0, 0),
-       (16, 'chacha20', 1, 0, 0),
-       (17, 'chacha20-ietf', 1, 0, 0),
-       (18, 'chacha20-ietf-poly1305', 1, 0, 0),
-       (19, 'origin', 2, 1, 0),
-       (20, 'auth_sha1_v4', 2, 0, 0),
-       (21, 'auth_aes128_md5', 2, 0, 0),
-       (22, 'auth_aes128_sha1', 2, 0, 0),
-       (23, 'auth_chain_a', 2, 0, 0),
-       (24, 'auth_chain_b', 2, 0, 0),
-       (25, 'auth_chain_c', 2, 0, 0),
-       (26, 'auth_chain_d', 2, 0, 0),
-       (27, 'auth_chain_e', 2, 0, 0),
-       (28, 'auth_chain_f', 2, 0, 0),
-       (29, 'plain', 3, 1, 0),
-       (30, 'http_simple', 3, 0, 0),
-       (31, 'http_post', 3, 0, 0),
-       (32, 'tls1.2_ticket_auth', 3, 0, 0),
-       (33, 'tls1.2_ticket_fastauth', 3, 0, 0);
-
-CREATE TABLE `ss_node`
-(
-    `id`             INT(10) UNSIGNED                        NOT NULL AUTO_INCREMENT,
-    `type`           TINYINT(1)                              NOT NULL DEFAULT '1' COMMENT '服务类型:1-Shadowsocks(R)、2-V2ray、3-Trojan、4-VNet',
-    `name`           VARCHAR(128) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '名称',
-    `country_code`   CHAR(5) COLLATE utf8mb4_unicode_ci      NOT NULL DEFAULT 'un' COMMENT '国家代码',
-    `server`         VARCHAR(255) COLLATE utf8mb4_unicode_ci          DEFAULT NULL COMMENT '服务器域名地址',
-    `ip`             VARCHAR(45) COLLATE utf8mb4_unicode_ci           DEFAULT NULL COMMENT '服务器IPV4地址',
-    `ipv6`           VARCHAR(45) COLLATE utf8mb4_unicode_ci           DEFAULT NULL COMMENT '服务器IPV6地址',
-    `level`          TINYINT(3) UNSIGNED                     NOT NULL DEFAULT '0' COMMENT '等级:0-无等级,全部可见',
-    `speed_limit`    BIGINT(20) UNSIGNED                     NOT NULL DEFAULT '0' COMMENT '节点限速,为0表示不限速,单位Byte',
-    `client_limit`   SMALLINT(5) UNSIGNED                    NOT NULL DEFAULT '0' COMMENT '设备数限制',
-    `relay_server`   VARCHAR(255) COLLATE utf8mb4_unicode_ci          DEFAULT NULL COMMENT '中转地址',
-    `relay_port`     SMALLINT(5) UNSIGNED                             DEFAULT NULL COMMENT '中转端口',
-    `description`    VARCHAR(255) COLLATE utf8mb4_unicode_ci          DEFAULT NULL COMMENT '节点简单描述',
-    `geo`            VARCHAR(255) COLLATE utf8mb4_unicode_ci          DEFAULT NULL COMMENT '节点地理位置',
-    `method`         VARCHAR(32) COLLATE utf8mb4_unicode_ci  NOT NULL DEFAULT 'aes-256-cfb' COMMENT '加密方式',
-    `protocol`       VARCHAR(64) COLLATE utf8mb4_unicode_ci  NOT NULL DEFAULT 'origin' COMMENT '协议',
-    `protocol_param` VARCHAR(128) COLLATE utf8mb4_unicode_ci          DEFAULT NULL COMMENT '协议参数',
-    `obfs`           VARCHAR(64) COLLATE utf8mb4_unicode_ci  NOT NULL DEFAULT 'plain' COMMENT '混淆',
-    `obfs_param`     VARCHAR(255) COLLATE utf8mb4_unicode_ci          DEFAULT NULL COMMENT '混淆参数',
-    `traffic_rate`   DOUBLE(6, 2) UNSIGNED                   NOT NULL DEFAULT '1.00' COMMENT '流量比率',
-    `is_subscribe`   TINYINT(1)                              NOT NULL DEFAULT '1' COMMENT '是否允许用户订阅该节点:0-否、1-是',
-    `is_ddns`        TINYINT(1)                              NOT NULL DEFAULT '0' COMMENT '是否使用DDNS:0-否、1-是',
-    `is_relay`       TINYINT(1)                              NOT NULL DEFAULT '0' COMMENT '是否中转节点:0-否、1-是',
-    `is_udp`         TINYINT(1)                              NOT NULL DEFAULT '1' COMMENT '是否启用UDP:0-不启用、1-启用',
-    `push_port`      SMALLINT(5) UNSIGNED                    NOT NULL DEFAULT '1000' COMMENT '消息推送端口',
-    `detection_type` TINYINT(1)                              NOT NULL DEFAULT '1' COMMENT '节点检测: 0-关闭、1-只检测TCP、2-只检测ICMP、3-检测全部',
-    `compatible`     TINYINT(1)                              NOT NULL DEFAULT '0' COMMENT '兼容SS',
-    `single`         TINYINT(1)                              NOT NULL DEFAULT '0' COMMENT '启用单端口功能:0-否、1-是',
-    `port`           SMALLINT(5) UNSIGNED                             DEFAULT NULL COMMENT '单端口的端口号或连接端口号',
-    `passwd`         VARCHAR(255) COLLATE utf8mb4_unicode_ci          DEFAULT NULL COMMENT '单端口的连接密码',
-    `sort`           TINYINT(3) UNSIGNED                     NOT NULL DEFAULT '0' COMMENT '排序值,值越大越靠前显示',
-    `status`         TINYINT(1)                              NOT NULL DEFAULT '1' COMMENT '状态:0-维护、1-正常',
-    `v2_alter_id`    SMALLINT(5) UNSIGNED                    NOT NULL DEFAULT '16' COMMENT 'V2Ray额外ID',
-    `v2_port`        SMALLINT(5) UNSIGNED                    NOT NULL DEFAULT '0' COMMENT 'V2Ray服务端口',
-    `v2_method`      VARCHAR(32) COLLATE utf8mb4_unicode_ci  NOT NULL DEFAULT 'aes-128-gcm' COMMENT 'V2Ray加密方式',
-    `v2_net`         VARCHAR(16) COLLATE utf8mb4_unicode_ci  NOT NULL DEFAULT 'tcp' COMMENT 'V2Ray传输协议',
-    `v2_type`        VARCHAR(32) COLLATE utf8mb4_unicode_ci  NOT NULL DEFAULT 'none' COMMENT 'V2Ray伪装类型',
-    `v2_host`        VARCHAR(255) COLLATE utf8mb4_unicode_ci          DEFAULT NULL COMMENT 'V2Ray伪装的域名',
-    `v2_path`        VARCHAR(255) COLLATE utf8mb4_unicode_ci          DEFAULT NULL COMMENT 'V2Ray的WS/H2路径',
-    `v2_tls`         TINYINT(1)                              NOT NULL DEFAULT '0' COMMENT 'V2Ray连接TLS:0-未开启、1-开启',
-    `tls_provider`   TEXT COLLATE utf8mb4_unicode_ci COMMENT 'V2Ray节点的TLS提供商授权信息',
-    `created_at`     DATETIME                                NOT NULL COMMENT '创建时间',
-    `updated_at`     DATETIME                                NOT NULL COMMENT '最后更新时间',
-    PRIMARY KEY (`id`),
-    KEY `ss_node_is_subscribe_index` (`is_subscribe`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-
-
-CREATE TABLE `ss_node_info`
-(
-    `id`       INT(10) UNSIGNED                        NOT NULL AUTO_INCREMENT,
-    `node_id`  INT(10) UNSIGNED                        NOT NULL DEFAULT '0' COMMENT '节点ID',
-    `uptime`   INT(10) UNSIGNED                        NOT NULL COMMENT '后端存活时长,单位秒',
-    `load`     VARCHAR(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '负载',
-    `log_time` INT(10) UNSIGNED                        NOT NULL COMMENT '记录时间',
-    PRIMARY KEY (`id`),
-    KEY `ss_node_info_node_id_index` (`node_id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-
-
-CREATE TABLE `ss_node_ip`
-(
-    `id`         INT(10) UNSIGNED                   NOT NULL AUTO_INCREMENT,
-    `node_id`    INT(10) UNSIGNED                   NOT NULL DEFAULT '0' COMMENT '节点ID',
-    `user_id`    INT(10) UNSIGNED                   NOT NULL DEFAULT '0' COMMENT '用户ID',
-    `port`       SMALLINT(5) UNSIGNED               NOT NULL DEFAULT '0' COMMENT '端口',
-    `type`       CHAR(3) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'tcp' COMMENT '类型:all、tcp、udp',
-    `ip`         TEXT COLLATE utf8mb4_unicode_ci COMMENT '连接IP:每个IP用,号隔开',
-    `created_at` INT(10) UNSIGNED                   NOT NULL DEFAULT '0' COMMENT '上报时间',
-    PRIMARY KEY (`id`),
-    KEY `ss_node_ip_node_id_index` (`node_id`),
-    KEY `ss_node_ip_user_id_index` (`user_id`),
-    KEY `ss_node_ip_port_index` (`port`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-
-
-CREATE TABLE `ss_node_online_log`
-(
-    `id`          INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
-    `node_id`     INT(10) UNSIGNED NOT NULL COMMENT '节点ID',
-    `online_user` INT(10) UNSIGNED NOT NULL COMMENT '在线用户数',
-    `log_time`    INT(10) UNSIGNED NOT NULL COMMENT '记录时间',
-    PRIMARY KEY (`id`),
-    KEY `ss_node_online_log_node_id_index` (`node_id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-
-
-CREATE TABLE `ticket`
-(
-    `id`         INT(10) UNSIGNED                        NOT NULL AUTO_INCREMENT,
-    `user_id`    INT(10) UNSIGNED                        NOT NULL DEFAULT '0' COMMENT '用户ID',
-    `admin_id`   INT(10) UNSIGNED                        NOT NULL DEFAULT '0' COMMENT '管理员ID',
-    `title`      VARCHAR(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '标题',
-    `content`    TEXT COLLATE utf8mb4_unicode_ci         NOT NULL COMMENT '内容',
-    `status`     TINYINT(1)                              NOT NULL DEFAULT '0' COMMENT '状态:0-待处理、1-已处理未关闭、2-已关闭',
-    `created_at` DATETIME                                NOT NULL COMMENT '创建时间',
-    `updated_at` DATETIME                                NOT NULL COMMENT '最后更新时间',
-    PRIMARY KEY (`id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-
-
-CREATE TABLE `ticket_reply`
-(
-    `id`         INT(10) UNSIGNED                NOT NULL AUTO_INCREMENT,
-    `ticket_id`  INT(10) UNSIGNED                NOT NULL COMMENT '工单ID',
-    `user_id`    INT(10) UNSIGNED                NOT NULL DEFAULT '0' COMMENT '回复用户ID',
-    `admin_id`   INT(10) UNSIGNED                NOT NULL DEFAULT '0' COMMENT '管理员ID',
-    `content`    TEXT COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '回复内容',
-    `created_at` DATETIME                        NOT NULL COMMENT '创建时间',
-    `updated_at` DATETIME                        NOT NULL COMMENT '最后更新时间',
-    PRIMARY KEY (`id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-
-
-CREATE TABLE `user`
-(
-    `id`              INT(10) UNSIGNED                        NOT NULL AUTO_INCREMENT,
-    `username`        VARCHAR(64) COLLATE utf8mb4_unicode_ci  NOT NULL COMMENT '昵称',
-    `email`           VARCHAR(128) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '邮箱',
-    `password`        VARCHAR(64) COLLATE utf8mb4_unicode_ci  NOT NULL COMMENT '密码',
-    `port`            SMALLINT(5) UNSIGNED                    NOT NULL DEFAULT '0' COMMENT '代理端口',
-    `passwd`          VARCHAR(16) COLLATE utf8mb4_unicode_ci  NOT NULL COMMENT '代理密码',
-    `vmess_id`        CHAR(36) COLLATE utf8mb4_unicode_ci     NOT NULL,
-    `transfer_enable` BIGINT(20) UNSIGNED                     NOT NULL DEFAULT '1099511627776' COMMENT '可用流量,单位字节,默认1TiB',
-    `u`               BIGINT(20) UNSIGNED                     NOT NULL DEFAULT '0' COMMENT '已上传流量,单位字节',
-    `d`               BIGINT(20) UNSIGNED                     NOT NULL DEFAULT '0' COMMENT '已下载流量,单位字节',
-    `t`               INT(10) UNSIGNED                                 DEFAULT NULL COMMENT '最后使用时间',
-    `ip`              VARCHAR(45) COLLATE utf8mb4_unicode_ci           DEFAULT NULL COMMENT '最后连接IP',
-    `enable`          TINYINT(1)                              NOT NULL DEFAULT '1' COMMENT '代理状态',
-    `method`          VARCHAR(30) COLLATE utf8mb4_unicode_ci  NOT NULL DEFAULT 'aes-256-cfb' COMMENT '加密方式',
-    `protocol`        VARCHAR(30) COLLATE utf8mb4_unicode_ci  NOT NULL DEFAULT 'origin' COMMENT '协议',
-    `protocol_param`  VARCHAR(255) COLLATE utf8mb4_unicode_ci          DEFAULT NULL COMMENT '协议参数',
-    `obfs`            VARCHAR(30) COLLATE utf8mb4_unicode_ci  NOT NULL DEFAULT 'plain' COMMENT '混淆',
-    `speed_limit`     BIGINT(20) UNSIGNED                     NOT NULL DEFAULT '0' COMMENT '用户限速,为0表示不限速,单位Byte',
-    `wechat`          VARCHAR(30) COLLATE utf8mb4_unicode_ci           DEFAULT NULL COMMENT '微信',
-    `qq`              VARCHAR(20) COLLATE utf8mb4_unicode_ci           DEFAULT NULL COMMENT 'QQ',
-    `credit`          INT(10) UNSIGNED                        NOT NULL DEFAULT '0' COMMENT '余额,单位分',
-    `expired_at`      DATE                                    NOT NULL DEFAULT '2099-01-01' COMMENT '过期时间',
-    `ban_time`        INT(10) UNSIGNED                                 DEFAULT NULL COMMENT '封禁到期时间',
-    `remark`          TEXT COLLATE utf8mb4_unicode_ci COMMENT '备注',
-    `level`           TINYINT(3) UNSIGNED                     NOT NULL DEFAULT '0' COMMENT '等级,默认0级',
-    `group_id`        INT(10) UNSIGNED                        NOT NULL DEFAULT '0' COMMENT '所属分组',
-    `is_admin`        TINYINT(1)                              NOT NULL DEFAULT '0' COMMENT '是否管理员:0-否、1-是',
-    `reg_ip`          VARCHAR(45) COLLATE utf8mb4_unicode_ci  NOT NULL DEFAULT '127.0.0.1' COMMENT '注册IP',
-    `last_login`      INT(10) UNSIGNED                        NOT NULL DEFAULT '0' COMMENT '最后登录时间',
-    `inviter_id`      INT(10) UNSIGNED                                 DEFAULT NULL COMMENT '邀请人',
-    `reset_time`      DATE                                             DEFAULT NULL COMMENT '流量重置日期',
-    `invite_num`      INT(10) UNSIGNED                        NOT NULL DEFAULT '0' COMMENT '可生成邀请码数',
-    `status`          TINYINT(1)                              NOT NULL DEFAULT '0' COMMENT '状态:-1-禁用、0-未激活、1-正常',
-    `remember_token`  VARCHAR(255) COLLATE utf8mb4_unicode_ci          DEFAULT NULL,
-    `created_at`      DATETIME                                NOT NULL COMMENT '创建时间',
-    `updated_at`      DATETIME                                NOT NULL COMMENT '最后更新时间',
-    PRIMARY KEY (`id`),
-    UNIQUE KEY `user_email_unique` (`email`),
-    KEY `idx_search` (`enable`, `status`, `port`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-
-INSERT INTO `user` (`id`, `username`, `email`, `password`, `port`, `passwd`, `vmess_id`, `transfer_enable`, `u`, `d`, `t`, `ip`, `enable`, `method`, `protocol`, `protocol_param`, `obfs`, `speed_limit`, `wechat`, `qq`, `credit`, `expired_at`, `ban_time`, `remark`, `level`, `group_id`, `is_admin`, `reg_ip`, `last_login`, `inviter_id`, `reset_time`, `invite_num`, `status`, `remember_token`, `created_at`, `updated_at`)
-VALUES (1, '管理员', 'test@test.com', '$2y$10$vDaFh91Fn5vjdG1M5grp6OHwKNf7jEGo47794.5GTC7H5sEvNah6e', 10000, '32uNUkMfikhi5twv', '0a9f2656-395b-4ecf-8134-c8462d245156', 1099511627776, 0, 0, NULL, NULL, 1, 'aes-256-cfb', 'origin', NULL, 'plain', 0, NULL, NULL, 0, '2099-01-01', NULL, NULL, 0, 0, 0, '127.0.0.1', 0, NULL, NULL, 0, 0, NULL, '2020-08-25 13:09:16', '2020-08-25 13:09:16');
-
-CREATE TABLE `user_baned_log`
-(
-    `id`          INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
-    `user_id`     INT(10) UNSIGNED NOT NULL COMMENT '用户ID',
-    `time`        INT(10) UNSIGNED NOT NULL               DEFAULT '0' COMMENT '封禁账号时长,单位分钟',
-    `description` VARCHAR(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '操作描述',
-    `status`      TINYINT(1)       NOT NULL               DEFAULT '0' COMMENT '状态:0-未处理、1-已处理',
-    `created_at`  DATETIME         NOT NULL COMMENT '创建时间',
-    `updated_at`  DATETIME         NOT NULL COMMENT '最后更新时间',
-    PRIMARY KEY (`id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-
-
-CREATE TABLE `user_credit_log`
-(
-    `id`          INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
-    `user_id`     INT(10) UNSIGNED NOT NULL               DEFAULT '0' COMMENT '账号ID',
-    `order_id`    INT(10) UNSIGNED NOT NULL               DEFAULT '0' COMMENT '订单ID',
-    `before`      INT(10) UNSIGNED NOT NULL               DEFAULT '0' COMMENT '发生前余额,单位分',
-    `after`       INT(10) UNSIGNED NOT NULL               DEFAULT '0' COMMENT '发生后金额,单位分',
-    `amount`      INT(11)          NOT NULL               DEFAULT '0' COMMENT '发生金额,单位分',
-    `description` VARCHAR(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '操作描述',
-    `created_at`  DATETIME         NOT NULL COMMENT '创建时间',
-    PRIMARY KEY (`id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-
-
-CREATE TABLE `user_daily_data_flow`
-(
-    `id`         INT(10) UNSIGNED    NOT NULL AUTO_INCREMENT,
-    `user_id`    INT(10) UNSIGNED    NOT NULL            DEFAULT '0' COMMENT '用户ID',
-    `node_id`    INT(10) UNSIGNED    NOT NULL            DEFAULT '0' COMMENT '节点ID,0表示统计全部节点',
-    `u`          BIGINT(20) UNSIGNED NOT NULL            DEFAULT '0' COMMENT '上传流量',
-    `d`          BIGINT(20) UNSIGNED NOT NULL            DEFAULT '0' COMMENT '下载流量',
-    `total`      BIGINT(20) UNSIGNED NOT NULL            DEFAULT '0' COMMENT '总流量',
-    `traffic`    VARCHAR(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '总流量(带单位)',
-    `created_at` DATETIME            NOT NULL COMMENT '创建时间',
-    PRIMARY KEY (`id`),
-    KEY `idx_user_node` (`user_id`, `node_id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-
-
-CREATE TABLE `user_data_modify_log`
-(
-    `id`          INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
-    `user_id`     INT(10) UNSIGNED NOT NULL               DEFAULT '0' COMMENT '用户ID',
-    `order_id`    INT(10) UNSIGNED NOT NULL               DEFAULT '0' COMMENT '发生的订单ID',
-    `before`      BIGINT(20)       NOT NULL               DEFAULT '0' COMMENT '操作前流量',
-    `after`       BIGINT(20)       NOT NULL               DEFAULT '0' COMMENT '操作后流量',
-    `description` VARCHAR(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '描述',
-    `created_at`  DATETIME         NOT NULL COMMENT '创建时间',
-    PRIMARY KEY (`id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-
-
-CREATE TABLE `user_group`
-(
-    `id`    INT(10) UNSIGNED                        NOT NULL AUTO_INCREMENT,
-    `name`  VARCHAR(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '分组名称',
-    `nodes` JSON DEFAULT NULL COMMENT '关联的节点ID,多个用,号分隔',
-    PRIMARY KEY (`id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-
-
-CREATE TABLE `user_hourly_data_flow`
-(
-    `id`         INT(10) UNSIGNED    NOT NULL AUTO_INCREMENT,
-    `user_id`    INT(10) UNSIGNED    NOT NULL COMMENT '用户ID',
-    `node_id`    INT(10) UNSIGNED    NOT NULL            DEFAULT '0' COMMENT '节点ID,0表示统计全部节点',
-    `u`          BIGINT(20) UNSIGNED NOT NULL            DEFAULT '0' COMMENT '上传流量',
-    `d`          BIGINT(20) UNSIGNED NOT NULL            DEFAULT '0' COMMENT '下载流量',
-    `total`      BIGINT(20) UNSIGNED NOT NULL            DEFAULT '0' COMMENT '总流量',
-    `traffic`    VARCHAR(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '总流量(带单位)',
-    `created_at` DATETIME            NOT NULL COMMENT '创建时间',
-    PRIMARY KEY (`id`),
-    KEY `idx_user_node` (`user_id`, `node_id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-
-
-CREATE TABLE `user_login_log`
-(
-    `id`         INT(10) UNSIGNED                        NOT NULL AUTO_INCREMENT,
-    `user_id`    INT(10) UNSIGNED                        NOT NULL DEFAULT '0' COMMENT '用户ID',
-    `ip`         VARCHAR(45) COLLATE utf8mb4_unicode_ci  NOT NULL COMMENT 'IP地址',
-    `country`    VARCHAR(128) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '国家',
-    `province`   VARCHAR(128) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '省份',
-    `city`       VARCHAR(128) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '城市',
-    `county`     VARCHAR(128) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '郡县',
-    `isp`        VARCHAR(128) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '运营商',
-    `area`       VARCHAR(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '地区',
-    `created_at` DATETIME                                NOT NULL COMMENT '创建时间',
-    PRIMARY KEY (`id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-
-
-CREATE TABLE `user_subscribe`
-(
-    `id`         INT(10) UNSIGNED                   NOT NULL AUTO_INCREMENT,
-    `user_id`    INT(10) UNSIGNED                   NOT NULL DEFAULT '0' COMMENT '用户ID',
-    `code`       CHAR(8) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '订阅地址唯一识别码',
-    `times`      INT(10) UNSIGNED                   NOT NULL DEFAULT '0' COMMENT '地址请求次数',
-    `status`     TINYINT(1)                         NOT NULL DEFAULT '1' COMMENT '状态:0-禁用、1-启用',
-    `ban_time`   INT(10) UNSIGNED                            DEFAULT NULL COMMENT '封禁时间',
-    `ban_desc`   VARCHAR(50) COLLATE utf8mb4_unicode_ci      DEFAULT NULL COMMENT '封禁理由',
-    `created_at` DATETIME                           NOT NULL COMMENT '创建时间',
-    `updated_at` DATETIME                           NOT NULL COMMENT '最后更新时间',
-    PRIMARY KEY (`id`),
-    KEY `user_id` (`user_id`, `status`),
-    KEY `user_subscribe_code_index` (`code`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-
-INSERT INTO `user_subscribe` (`id`, `user_id`, `code`, `times`, `status`, `ban_time`, `ban_desc`, `created_at`, `updated_at`)
-VALUES (1, 1, 'SVgMC2Wx', 0, 1, NULL, NULL, '2020-08-25 13:09:16', '2020-08-25 13:09:16');
-
-CREATE TABLE `user_subscribe_log`
-(
-    `id`                INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
-    `user_subscribe_id` INT(10) UNSIGNED NOT NULL COMMENT '对应user_subscribe的id',
-    `request_ip`        VARCHAR(45) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '请求IP',
-    `request_time`      DATETIME         NOT NULL COMMENT '请求时间',
-    `request_header`    TEXT COLLATE utf8mb4_unicode_ci COMMENT '请求头部信息',
-    PRIMARY KEY (`id`),
-    KEY `user_subscribe_log_user_subscribe_id_index` (`user_subscribe_id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-
-
-CREATE TABLE `user_traffic_log`
-(
-    `id`       INT(10) UNSIGNED                       NOT NULL AUTO_INCREMENT,
-    `user_id`  INT(10) UNSIGNED                       NOT NULL DEFAULT '0' COMMENT '用户ID',
-    `node_id`  INT(10) UNSIGNED                       NOT NULL DEFAULT '0' COMMENT '节点ID',
-    `u`        INT(10) UNSIGNED                       NOT NULL DEFAULT '0' COMMENT '上传流量',
-    `d`        INT(10) UNSIGNED                       NOT NULL DEFAULT '0' COMMENT '下载流量',
-    `rate`     DOUBLE(6, 2) UNSIGNED                  NOT NULL COMMENT '倍率',
-    `traffic`  VARCHAR(32) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '产生流量',
-    `log_time` INT(10) UNSIGNED                       NOT NULL COMMENT '记录时间',
-    PRIMARY KEY (`id`),
-    KEY `idx_user_node_time` (`user_id`, `node_id`, `log_time`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-
-
-CREATE TABLE `verify`
-(
-    `id`         INT(10) UNSIGNED                       NOT NULL AUTO_INCREMENT,
-    `type`       TINYINT(1)                             NOT NULL DEFAULT '1' COMMENT '激活类型:1-自行激活、2-管理员激活',
-    `user_id`    INT(10) UNSIGNED                       NOT NULL COMMENT '用户ID',
-    `token`      VARCHAR(32) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '校验token',
-    `status`     TINYINT(1)                             NOT NULL DEFAULT '0' COMMENT '状态:0-未使用、1-已使用、2-已失效',
-    `created_at` DATETIME                               NOT NULL COMMENT '创建时间',
-    `updated_at` DATETIME                               NOT NULL COMMENT '最后更新时间',
-    PRIMARY KEY (`id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-
-
-CREATE TABLE `verify_code`
-(
-    `id`         INT(10) UNSIGNED                        NOT NULL AUTO_INCREMENT,
-    `address`    VARCHAR(128) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '用户邮箱',
-    `code`       CHAR(6) COLLATE utf8mb4_unicode_ci      NOT NULL COMMENT '验证码',
-    `status`     TINYINT(1)                              NOT NULL DEFAULT '0' COMMENT '状态:0-未使用、1-已使用、2-已失效',
-    `created_at` DATETIME                                NOT NULL COMMENT '创建时间',
-    `updated_at` DATETIME                                NOT NULL COMMENT '最后更新时间',
-    PRIMARY KEY (`id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;

+ 0 - 7
sql/mod/20191107.sql

@@ -1,7 +0,0 @@
-
-ALTER TABLE `goods`
-	ADD COLUMN `info` varchar(255) DEFAULT '' COMMENT '商品信息' AFTER `price`;
-
-INSERT INTO `config` VALUES ('96', 'AppStore_id', 0);
-INSERT INTO `config` VALUES ('97', 'AppStore_password', 0);
-INSERT INTO `config` VALUES ('98', 'admin_email', '');

+ 0 - 2
sql/mod/20191112.sql

@@ -1,2 +0,0 @@
-ALTER TABLE `coupon`
-    CHANGE `sn` `sn` VARCHAR(50) NOT NULL DEFAULT '' COMMENT '优惠券码';

+ 0 - 67
sql/mod/20191118.sql

@@ -1,67 +0,0 @@
--- 国家表字段改名
-ALTER TABLE `country`
-    CHANGE COLUMN `country_name` `name` VARCHAR(50) NOT NULL DEFAULT '' COMMENT '名称' COLLATE 'utf8mb4_unicode_ci' AFTER `id`,
-    CHANGE COLUMN `country_code` `code` VARCHAR(10) NOT NULL DEFAULT '' COMMENT '代码' COLLATE 'utf8mb4_unicode_ci' AFTER `name`;
-
--- 管理员收信地址字段更名
-UPDATE `config`
-SET name='webmaster_email'
-WHERE id = 38;
--- 1是黑名单 0是白名单
-UPDATE `config`
-SET `name`  = 'sensitiveType',
-    `value` = '1'
-WHERE id = 58;
-
--- 节点信息简化
-ALTER TABLE `ss_node`
-    DROP `single_force`,
-    DROP `single_method`,
-    DROP `single_protocol`,
-    DROP `single_obfs`,
-    CHANGE `single` `single`         TINYINT(4)   NOT NULL DEFAULT '0' COMMENT '启用单端口功能:0-否、1-是',
-    CHANGE `single_port` `port`      VARCHAR(50)  NULL COMMENT '端口号,用,号分隔',
-    CHANGE `single_passwd` `passwd`  VARCHAR(50)  NULL COMMENT '单端口的连接密码',
-    CHANGE `protocol` `protocol`     VARCHAR(64)  NOT NULL DEFAULT 'origin' COMMENT '协议',
-    CHANGE `obfs` `obfs`             VARCHAR(64)  NOT NULL DEFAULT 'plain' COMMENT '混淆',
-    CHANGE `obfs_param` `obfs_param` VARCHAR(255) NOT NULL DEFAULT 'plain' COMMENT '混淆参数';
-
-ALTER TABLE `ss_node_info`
-    CHANGE `uptime` `uptime` int(10)      NOT NULL COMMENT '后端存活时长,单位秒',
-    CHANGE `load` `load`     VARCHAR(255) NOT NULL COMMENT '负载';
-
--- 用户表新增最后连接IP,邀请码数字段
-ALTER TABLE `user`
-    DROP `gender`,
-    DROP INDEX `idx_search`,
-    ADD INDEX `idx_search` (`enable`, `status`, `port`) USING BTREE,
-    MODIFY COLUMN `reg_ip` char(128) NOT NULL DEFAULT '127.0.0.1' COMMENT '注册IP' AFTER `is_admin`,
-    ADD COLUMN `ip`         char(128) NULL COMMENT '最后连接IP' AFTER `t`,
-    ADD COLUMN `invite_num` INT       NOT NULL DEFAULT '0' COMMENT '可生成邀请码数' AFTER `traffic_reset_day`;
-
--- 敏感词黑白名单
-ALTER TABLE `sensitive_words`
-    ADD COLUMN `type` TINYINT(4) NOT NULL DEFAULT '1' COMMENT '类型:1-黑名单、2-白名单' AFTER `id`;
-
--- ipv6兼容
-ALTER TABLE `user_subscribe_log`
-    MODIFY COLUMN `request_ip` char(128) NULL DEFAULT NULL COMMENT '请求IP' AFTER `sid`;
-ALTER TABLE `user_login_log`
-    MODIFY COLUMN `ip` char(128) NOT NULL AFTER `user_id`;
-
--- 重建用户连接IP日志表索引
-ALTER TABLE `ss_node_ip`
-    DROP INDEX `idx_node`,
-    ADD INDEX `idx_node` (`node_id`),
-    ADD INDEX `idx_user` (`user_id`);
-
--- 重建连接IP信息索引
-ALTER TABLE `ss_node_ip`
-    DROP INDEX `idx_node`,
-    ADD INDEX `idx_node` (`node_id`, `user_id`) USING BTREE;
-
--- 商品信息修改
-ALTER TABLE `goods`
-    DROP `is_limit`,
-    ADD COLUMN `invite_num` int(11) NOT NULL DEFAULT '0' COMMENT '赠送邀请码数' AFTER `days`,
-    ADD COLUMN `limit_num`  int(11) NOT NULL DEFAULT '0' COMMENT '限购数量,默认为0不限购' AFTER `invite_num`;

+ 0 - 3
sql/mod/20191120.sql

@@ -1,3 +0,0 @@
--- 流量重置价格,0为关闭功能
-ALTER TABLE `goods`
-    ADD COLUMN `renew` int(11) NOT NULL DEFAULT '0' COMMENT '流量重置价格,单位分' AFTER `price`;

+ 0 - 12
sql/mod/20191122.sql

@@ -1,12 +0,0 @@
-ALTER TABLE `ss_node`
-    CHANGE `is_tcp_check` `detectionType` TINYINT(4) NOT NULL DEFAULT '0' COMMENT '节点检测: 0-关闭、1-只检测TCP、2-只检测ICMP、3-检测全部';
-UPDATE `config`
-SET `name`  = 'nodes_detection',
-    `value` = '0'
-WHERE id = 67;
-UPDATE `config`
-SET `name`  = 'numberOfWarningTimes',
-    `value` = '3'
-WHERE id = 68;
-ALTER TABLE `coupon`
-    ADD COLUMN `rule` bigint(20) NOT NULL DEFAULT '0' COMMENT '使用限制,单位分' AFTER `discount`;

+ 0 - 2
sql/mod/20191128.sql

@@ -1,2 +0,0 @@
-ALTER TABLE `ss_node`
-    CHANGE `is_nat` `is_ddns` TINYINT(4) NOT NULL DEFAULT '0' COMMENT '是否使用DDNS:0-否、1-是';

+ 0 - 12
sql/mod/20191220.sql

@@ -1,12 +0,0 @@
--- 新用户重置日期记录
-ALTER TABLE `user` ADD COLUMN `reset_time` DATE DEFAULT NULL COMMENT '流量重置日期,NULL表示不重置' AFTER `traffic_reset_day`;
-
--- 商品添加流量重置周期
-ALTER TABLE `goods`
-    ADD COLUMN `period` int(11) NOT NULL DEFAULT '30' COMMENT '流量自动重置周期' AFTER `renew`;
-
-
--- 运行下面代码前,先在ssh里运行 php artisan upgradeUserResetTime
-
--- 删除老日期
-ALTER TABLE `user` drop `traffic_reset_day`;

+ 0 - 12
sql/mod/20200306.sql

@@ -1,12 +0,0 @@
-CREATE TABLE `ss_node_ping` (
-  `id` INT(11) NOT NULL AUTO_INCREMENT,
-  `node_id` INT(11) NOT NULL DEFAULT '0' COMMENT '对应节点id',
-  `ct` INT(11) NOT NULL DEFAULT '0' COMMENT '电信',
-  `cu` INT(11) NOT NULL DEFAULT '0' COMMENT '联通',
-  `cm` INT(11) NOT NULL DEFAULT '0' COMMENT '移动',
-  `hk` INT(11) NOT NULL DEFAULT '0' COMMENT '香港',
-  `created_at` datetime NOT NULL,
-  `updated_at` datetime NOT NULL,
-  PRIMARY KEY (`id`),
-  INDEX `idx_node_id` (`node_id`) USING BTREE
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='节点ping信息表';

+ 0 - 17
sql/mod/20200315.sql

@@ -1,17 +0,0 @@
--- 加入昵称,修改email
-ALTER TABLE  `user`
-    DROP INDEX `unq_username`,
-    CHANGE `username` `email` VARCHAR(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '邮箱',
-    ADD UNIQUE `unq_email` (`email`) USING BTREE,
-    ADD COLUMN `username` VARCHAR(128) NOT NULL DEFAULT '' COMMENT '昵称' AFTER `id`;
-
-ALTER TABLE `verify_code` CHANGE `username` `address` VARCHAR(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '用户邮箱';
-
--- 优惠券 sn值为唯一值
-ALTER TABLE `coupon` ADD UNIQUE `unq_sn` (`sn`);
-
--- 加入支付 PayJS
-insert into `config` VALUES ('99', 'payjs_mch_id', '');
-insert into `config` VALUES ('100', 'payjs_key', '');
-
--- 运行 php artisan updateUserName 自动获取QQ用户昵称

+ 0 - 4
sql/mod/20200404.sql

@@ -1,4 +0,0 @@
--- 加入维护模式
-insert into `config` VALUES ('101', 'maintenance_mode', '0');
-insert into `config` VALUES ('102', 'maintenance_time', '');
-insert into `config` VALUES ('103', 'maintenance_content', '');

+ 0 - 12
sql/mod/20200412.sql

@@ -1,12 +0,0 @@
-rename table `email_log` to `notification_log`;
-alter table `notification_log` COMMENT = '通知投递记录';
-alter table `notification_log` CHANGE `type` `type` TINYINT(4) NOT NULL DEFAULT '1' COMMENT '类型:1-邮件、2-ServerChan、3-Bark';
--- 加入Bark通知
-insert into `config` VALUES ('104', 'bark_key', '');
-
-update `config` SET `name` = 'is_node_offline' where `config`.`id` = 37;
-update `config` SET `name` = 'is_notification', `value` = '0' where `config`.`id` = 39;
-update `config` SET `name` = 'is_email_filtering',`value` = '0' where `config`.`id` = 58;
-update `config` SET `name` = 'detection_check_times' where `config`.`id` = 68;
-update `config` SET `name` = 'is_activate_account', `value` = '0' where `config`.`id` = 73;
-update `config` SET `name` = 'offline_check_times', `value` = '10' where `config`.`id` = 98;

+ 0 - 5
sql/mod/20200414.sql

@@ -1,5 +0,0 @@
--- 返利模式可调:1-初次返利、2-循环返利
-UPDATE `config` SET `name` = 'referral_type', `value` = '0' where `config`.`id` = 10;
--- 增加:hCaptcha的密钥和网站密钥
-INSERT INTO `config` VALUES ('105', 'hcaptcha_secret', '');
-INSERT INTO `config` VALUES ('106', 'hcaptcha_sitekey', '');

+ 0 - 21
sql/mod/20200415.sql

@@ -1,21 +0,0 @@
--- 添加码支付配置
-update `config` SET `name` = 'codepay_url', `value` = 'https://codepay.fateqq.com/creat_order/?' where `config`.`id` = 43;
-update `config` SET `name` = 'codepay_id', `value` = '' where `config`.`id` = 44;
-update `config` SET `name` = 'codepay_key', `value` = '' where `config`.`id` = 45;
-
--- 添加 支付回调链接自定义
-update `config` SET `name` = 'website_callback_url', `value` = '' where `config`.`id` = 50;
-
--- 在线支付数据库 简化
-alter table `payment`
-  drop `order_sn`,
-  drop `pay_way`,
-  drop `qr_id`,
-  drop `qr_url`,
-  drop `qr_code`,
-  drop `qr_local_url`;
-
-drop table `order_goods`;
-
-ALTER TABLE `payment`
-    ADD COLUMN `qr_code` text COLLATE utf8mb4_unicode_ci COMMENT '支付二维码' AFTER `amount`;

+ 0 - 7
sql/mod/20200419.sql

@@ -1,7 +0,0 @@
--- 添加各类支付方式首选项
-update `config` SET `name` = 'is_AliPay', `value` = '' where `config`.`id` = 78;
-update `config` SET `name` = 'is_QQPay', `value` = '' where `config`.`id` = 79;
-update `config` SET `name` = 'is_WeChatPay', `value` = '' where `config`.`id` = 80;
-
--- 添加 支付订单命称
-update `config` SET `name` = 'subject_name' where `config`.`id` = 91;

+ 0 - 5
sql/mod/20200420.sql

@@ -1,5 +0,0 @@
--- 添加各类支付方式首选项
-update `config` SET `name` = 'is_otherPay', `value` = '' where `config`.`id` = 81;
-
--- 添加麻瓜宝配置
-update `config` SET `name` = 'bitpay_secret', `value` = '' where `config`.`id` = 86;

+ 0 - 8
sql/mod/20200422.sql

@@ -1,8 +0,0 @@
--- 推送通知 方式重置
-update `config` SET `name` = 'is_notification', `value` = '0' where `config`.`id` = 39;
-
--- 修改支付方式命名
-alter table `order` CHANGE `pay_way` `pay_way` VARCHAR(20) NOT NULL DEFAULT '1' COMMENT '支付方式:balance、f2fpay、codepay、payjs、bitpayx等';
-UPDATE `order` SET `pay_way`= 'balance' WHERE pay_way = '1';
-UPDATE `order` SET `pay_way`= 'youzan' WHERE pay_way = '2';
-UPDATE `order` SET `pay_way`= 'f2fpay' WHERE pay_way = '5';

+ 0 - 8
sql/mod/20200426.sql

@@ -1,8 +0,0 @@
-INSERT INTO `config` VALUES ('107', 'paypal_username', '');
-INSERT INTO `config` VALUES ('108', 'paypal_password', '');
-INSERT INTO `config` VALUES ('109', 'paypal_secret', '');
-INSERT INTO `config` VALUES ('110', 'paypal_certificate', '');
-INSERT INTO `config` VALUES ('111', 'paypal_app_id', '');
-
-ALTER TABLE `payment`
-    ADD COLUMN `url` text COLLATE utf8mb4_unicode_ci COMMENT '支付链接' AFTER `qr_code`;

+ 0 - 576
sql/mod/20200503.sql

@@ -1,576 +0,0 @@
--- 由于本次数据库改动过大,请在更新前备份数据库!
--- 由于本次数据库改动过大,请在更新前备份数据库!
--- 由于本次数据库改动过大,请在更新前备份数据库!
--- 本次对数据库数据类型进行规范化处理,会修改很多字段;
--- 添加web api需要字段;
-ALTER TABLE `ss_node`
-    CHANGE `id` `id`                         INT(10) UNSIGNED     NOT NULL AUTO_INCREMENT,
-    CHANGE `type` `type`                     TINYINT(1) UNSIGNED  NOT NULL DEFAULT '1' COMMENT '服务类型:1-ShadowsocksR、2-V2ray',
-    DROP `group_id`,
-    DROP INDEX `idx_group`,
-    CHANGE `server` `server`                 VARCHAR(255)         NULL     DEFAULT '' COMMENT '服务器域名地址',
-    CHANGE `ip` `ip`                         CHAR(15)             NULL     DEFAULT NULL COMMENT '服务器IPV4地址',
-    CHANGE `ipv6` `ipv6`                     VARCHAR(128)         NULL     DEFAULT NULL COMMENT '服务器IPV6地址',
-    ADD `relay_server`                       VARCHAR(255)         NULL     DEFAULT NULL COMMENT '中转地址' AFTER `ipv6`,
-    ADD `relay_port`                         SMALLINT(5) UNSIGNED NULL     DEFAULT 0 COMMENT '中转端口' AFTER `relay_server`,
-    ADD `level`                              TINYINT(3) UNSIGNED  NOT NULL DEFAULT '0' COMMENT '等级:0-无等级,全部可见' AFTER `relay_port`,
-    ADD `speed_limit`                        BIGINT(20) UNSIGNED  NOT NULL DEFAULT '0' COMMENT '节点限速,为0表示不限速,单位Byte' AFTER `level`,
-    ADD `client_limit`                       TINYINT(3) UNSIGNED  NOT NULL DEFAULT 0 COMMENT '设备数限制' AFTER `speed_limit`,
-    CHANGE `desc` `description`              VARCHAR(255)         NULL     DEFAULT '' COMMENT '节点简单描述',
-    CHANGE `protocol_param` `protocol_param` VARCHAR(128)         NULL     DEFAULT NULL COMMENT '协议参数',
-    CHANGE `obfs_param` `obfs_param`         VARCHAR(255)         NULL     DEFAULT NULL COMMENT '混淆参数',
-    CHANGE `traffic_rate` `traffic_rate`     FLOAT(6, 2) UNSIGNED NOT NULL DEFAULT '1.00' COMMENT '流量比率',
-    DROP `bandwidth`,
-    DROP `traffic`,
-    DROP `monitor_url`,
-    CHANGE `is_subscribe` `is_subscribe`     BIT                  NOT NULL DEFAULT 1 COMMENT '是否允许用户订阅该节点:0-否、1-是',
-    CHANGE `is_ddns` `is_ddns`               BIT                  NOT NULL DEFAULT 0 COMMENT '是否使用DDNS:0-否、1-是',
-    CHANGE `is_transit` `is_relay`           BIT                  NOT NULL DEFAULT 0 COMMENT '是否中转节点:0-否、1-是',
-    ADD `is_udp`                             BIT                  NOT NULL DEFAULT 1 COMMENT '是否启用UDP:0-不启用、1-启用' AFTER `is_relay`,
-    CHANGE `ssh_port` `ssh_port`             SMALLINT(5) UNSIGNED NOT NULL DEFAULT '22' COMMENT 'SSH端口',
-    CHANGE `detectiontype` `detection_type`  TINYINT(1)           NOT NULL DEFAULT '1' COMMENT '节点检测: 0-关闭、1-只检测TCP、2-只检测ICMP、3-检测全部',
-    CHANGE `compatible` `compatible`         BIT                  NOT NULL DEFAULT 0 COMMENT '兼容SS',
-    CHANGE `single` `single`                 BIT                  NOT NULL DEFAULT 0 COMMENT '启用单端口功能:0-否、1-是',
-    CHANGE `port` `port`                     SMALLINT(5) UNSIGNED NULL     DEFAULT NULL COMMENT '单端口的端口号或连接端口号',
-    CHANGE `passwd` `passwd`                 VARCHAR(255)         NULL     DEFAULT NULL COMMENT '单端口的连接密码',
-    CHANGE `sort` `sort`                     TINYINT(3) UNSIGNED  NOT NULL DEFAULT '0' COMMENT '排序值,值越大越靠前显示',
-    CHANGE `status` `status`                 BIT                  NOT NULL DEFAULT 1 COMMENT '状态:0-维护、1-正常',
-    CHANGE `v2_alter_id` `v2_alter_id`       SMALLINT(5) UNSIGNED NOT NULL DEFAULT '16' COMMENT 'V2Ray额外ID',
-    CHANGE `v2_port` `v2_port`               SMALLINT(5) UNSIGNED NOT NULL DEFAULT 0 COMMENT 'V2Ray服务端口',
-    CHANGE `v2_method` `v2_method`           VARCHAR(32)          NOT NULL DEFAULT 'aes-128-gcm' COMMENT 'V2Ray加密方式',
-    CHANGE `v2_net` `v2_net`                 VARCHAR(16)          NOT NULL DEFAULT 'tcp' COMMENT 'V2Ray传输协议',
-    CHANGE `v2_type` `v2_type`               VARCHAR(32)          NOT NULL DEFAULT 'none' COMMENT 'V2Ray伪装类型',
-    CHANGE `v2_host` `v2_host`               VARCHAR(255)         NOT NULL DEFAULT '' COMMENT 'V2Ray伪装的域名',
-    CHANGE `v2_path` `v2_path`               VARCHAR(255)         NOT NULL DEFAULT '' COMMENT 'V2Ray的WS/H2路径',
-    CHANGE `v2_tls` `v2_tls`                 BIT                  NOT NULL DEFAULT 0 COMMENT 'V2Ray连接TLS:0-未开启、1-开启',
-    DROP `v2_insider_port`,
-    DROP `v2_outsider_port`,
-    ADD `v2_tls_insecure`                    BIT                  NOT NULL DEFAULT 0 COMMENT '是否允许不安全连接' AFTER `v2_tls`,
-    ADD `v2_tls_insecure_ciphers`            BIT                  NOT NULL DEFAULT 0 COMMENT '是否允许不安全的加密方式' AFTER `v2_tls_insecure`;
-
-DROP TABLE IF EXISTS `ss_node_deny`;
-
-ALTER TABLE `ss_node_info`
-    CHANGE `id` `id`             INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
-    CHANGE `node_id` `node_id`   INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '节点ID',
-    CHANGE `uptime` `uptime`     INT(10) UNSIGNED NOT NULL COMMENT '后端存活时长,单位秒',
-    CHANGE `log_time` `log_time` INT(10) UNSIGNED NOT NULL COMMENT '记录时间';
-
-ALTER TABLE `ss_node_online_log`
-    CHANGE `id` `id`                   INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
-    CHANGE `node_id` `node_id`         INT(10) UNSIGNED NOT NULL COMMENT '节点ID',
-    CHANGE `online_user` `online_user` INT(10) UNSIGNED NOT NULL COMMENT '在线用户数',
-    CHANGE `log_time` `log_time`       INT(10) UNSIGNED NOT NULL COMMENT '记录时间';
-
-ALTER TABLE `ss_node_ping`
-    CHANGE `id` `id`           INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
-    CHANGE `node_id` `node_id` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '对应节点id',
-    CHANGE `ct` `ct`           INT(10)          NOT NULL DEFAULT '0' COMMENT '电信',
-    CHANGE `cu` `cu`           INT(10)          NOT NULL DEFAULT '0' COMMENT '联通',
-    CHANGE `cm` `cm`           INT(10)          NOT NULL DEFAULT '0' COMMENT '移动',
-    CHANGE `hk` `hk`           INT(10)          NOT NULL DEFAULT '0' COMMENT '香港';
-
-ALTER TABLE `ss_node_label`
-    CHANGE `id` `id`             INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
-    CHANGE `node_id` `node_id`   INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '节点ID',
-    CHANGE `label_id` `label_id` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '标签ID';
-
-UPDATE `user` SET `transfer_enable` = 0 WHERE `transfer_enable` < 0;
-ALTER TABLE `user`
-    CHANGE `id` `id`                           INT(10) UNSIGNED     NOT NULL AUTO_INCREMENT,
-    CHANGE `username` `username`               VARCHAR(64)          NOT NULL DEFAULT '' COMMENT '昵称',
-    CHANGE `email` `email`                     VARCHAR(128)         NOT NULL DEFAULT '' COMMENT '邮箱',
-    CHANGE `port` `port`                       SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT '代理端口',
-    CHANGE `vmess_id` `uuid`                   VARCHAR(64)          NOT NULL DEFAULT '',
-    CHANGE `transfer_enable` `transfer_enable` BIGINT(20) UNSIGNED  NOT NULL DEFAULT '1099511627776' COMMENT '可用流量,单位字节,默认1TiB',
-    CHANGE `u` `u`                             BIGINT(20) UNSIGNED  NOT NULL DEFAULT '0' COMMENT '已上传流量,单位字节',
-    CHANGE `d` `d`                             BIGINT(20) UNSIGNED  NOT NULL DEFAULT '0' COMMENT '已下载流量,单位字节',
-    CHANGE `t` `t`                             INT(10) UNSIGNED     NOT NULL DEFAULT '0' COMMENT '最后使用时间',
-    DROP `protocol_param`,
-    DROP `obfs_param`,
-    DROP `speed_limit_per_con`,
-    DROP `speed_limit_per_user`,
-    ADD `speed_limit`                          BIGINT(20) UNSIGNED  NOT NULL DEFAULT '0' COMMENT '用户限速,为0表示不限速,单位Byte' AFTER `obfs`,
-    DROP `usage`,
-    DROP `pay_way`,
-    CHANGE `balance` `credit`                  INT(10) UNSIGNED     NOT NULL DEFAULT '0' COMMENT '余额,单位分',
-    CHANGE `ban_time` `ban_time`               INT(10) UNSIGNED     NOT NULL DEFAULT '0' COMMENT '封禁到期时间',
-    CHANGE `level` `level`                     TINYINT(3) UNSIGNED  NOT NULL DEFAULT '0' COMMENT '等级,默认0级',
-    CHANGE `is_admin` `is_admin`               BIT                  NOT NULL DEFAULT 0 COMMENT '是否管理员:0-否、1-是',
-    CHANGE `reg_ip` `reg_ip`                   CHAR(15)             NOT NULL DEFAULT '127.0.0.1' COMMENT '注册IP',
-    CHANGE `last_login` `last_login`           INT(10) UNSIGNED     NOT NULL DEFAULT '0' COMMENT '最后登录时间',
-    CHANGE `referral_uid` `referral_uid`       INT(10) UNSIGNED     NOT NULL DEFAULT '0' COMMENT '邀请人',
-    CHANGE `reset_time` `reset_time`           DATE                 NULL COMMENT '流量重置日期,NULL表示不重置',
-    CHANGE `invite_num` `invite_num`           INT(10) UNSIGNED     NOT NULL DEFAULT '0' COMMENT '可生成邀请码数',
-    CHANGE `remember_token` `remember_token`   VARCHAR(255) DEFAULT '';
-
-DROP TABLE IF EXISTS `level`;
-CREATE TABLE `level`
-(
-    `id`    INT(10) UNSIGNED    NOT NULL AUTO_INCREMENT,
-    `level` TINYINT(3) UNSIGNED NOT NULL DEFAULT '1' COMMENT '等级',
-    `name`  VARCHAR(100)        NOT NULL DEFAULT '' COMMENT '等级名称',
-    PRIMARY KEY (`id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT ='等级表';
-
-
--- ----------------------------
--- Records of `level`
--- ----------------------------
-INSERT INTO `level`(`id`, `level`, `name`)
-VALUES (1, '0', 'Free'),
-       (2, '1', 'VIP1'),
-       (3, '2', 'VIP2'),
-       (4, '3', 'VIP3'),
-       (5, '4', 'VIP4'),
-       (6, '5', 'VIP5'),
-       (7, '6', 'VIP6'),
-       (8, '7', 'VIP7');
-
-
-ALTER TABLE `user_traffic_log`
-    CHANGE `id` `id`             INT(10) UNSIGNED     NOT NULL AUTO_INCREMENT,
-    CHANGE `user_id` `user_id`   INT(10) UNSIGNED     NOT NULL DEFAULT '0' COMMENT '用户ID',
-    CHANGE `node_id` `node_id`   INT(10) UNSIGNED     NOT NULL DEFAULT '0' COMMENT '节点ID',
-    CHANGE `u` `u`               INT(10) UNSIGNED     NOT NULL DEFAULT '0' COMMENT '上传流量',
-    CHANGE `d` `d`               INT(10) UNSIGNED     NOT NULL DEFAULT '0' COMMENT '下载流量',
-    CHANGE `rate` `rate`         FLOAT(6, 2) UNSIGNED NOT NULL COMMENT '倍率',
-    CHANGE `log_time` `log_time` INT(10) UNSIGNED     NOT NULL COMMENT '记录时间';
-
-ALTER TABLE `ss_config`
-    CHANGE `id` `id`                 INT(10) UNSIGNED    NOT NULL AUTO_INCREMENT,
-    CHANGE `type` `type`             TINYINT(1)          NOT NULL DEFAULT '1' COMMENT '类型:1-加密方式、2-协议、3-混淆',
-    CHANGE `is_default` `is_default` BIT                 NOT NULL DEFAULT 0 COMMENT '是否默认:0-不是、1-是',
-    CHANGE `sort` `sort`             TINYINT(3) UNSIGNED NOT NULL DEFAULT '0' COMMENT '排序:值越大排越前';
-
-ALTER TABLE `config`
-    CHANGE `id` `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT;
-
-ALTER TABLE `article`
-    CHANGE `id` `id`     INT(10) UNSIGNED    NOT NULL AUTO_INCREMENT,
-    CHANGE `type` `type` TINYINT(1) DEFAULT '1' COMMENT '类型:1-文章、2-站内公告、3-站外公告',
-    CHANGE `sort` `sort` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0' COMMENT '排序';
-
-ALTER TABLE `invite`
-    CHANGE `id` `id`         INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
-    CHANGE `uid` `uid`       INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '邀请人ID',
-    CHANGE `fuid` `fuid`     INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '受邀人ID',
-    CHANGE `status` `status` TINYINT(1)       NOT NULL DEFAULT '0' COMMENT '邀请码状态:0-未使用、1-已使用、2-已过期';
-
-DROP TABLE `label`;
-
-CREATE TABLE `label`
-(
-    `id`   INT(10) UNSIGNED    NOT NULL AUTO_INCREMENT,
-    `name` VARCHAR(255)        NOT NULL DEFAULT '' COMMENT '名称',
-    `sort` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0' COMMENT '排序值',
-    PRIMARY KEY (`id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT ='标签';
-
-INSERT INTO `label`(`id`, `name`, `sort`)
-VALUES (1, 'Netflix', 0),
-       (2, 'Hulu', 0),
-       (3, 'HBO', 0),
-       (4, 'Amazon Video', 0),
-       (5, 'DisneyNow', 0),
-       (6, 'BBC', 0),
-       (7, 'Channel 4', 0),
-       (8, 'Fox+', 0),
-       (9, 'Happyon', 0),
-       (10, 'AbemeTV', 0),
-       (11, 'DMM', 0),
-       (12, 'Niconico', 0),
-       (13, 'DAZN', 0),
-       (14, 'pixiv', 0),
-       (15, 'TVer', 0),
-       (16, 'TVB', 0),
-       (17, 'HBO Go', 0),
-       (18, 'Bilibili 港澳台', 0),
-       (19, 'Viu', 0),
-       (20, '動畫瘋', 0),
-       (21, '四季線上影視', 0),
-       (22, 'LINE TV', 0),
-       (23, 'Youtube Premium', 0),
-       (24, '优酷', 0),
-       (25, '爱奇艺', 0),
-       (26, '腾讯视频', 0),
-       (27, '搜狐视频', 0),
-       (28, 'PP视频', 0),
-       (29, '凤凰视频', 0),
-       (30, '百度视频', 0),
-       (31, '芒果TV', 0),
-       (32, '土豆网', 0),
-       (33, '哔哩哔哩', 0),
-       (34, '网易云音乐', 0),
-       (35, 'Bahamut', 0),
-       (36, 'Deezer', 0),
-       (37, 'DisneyPlus', 0),
-       (38, 'HWTV', 0),
-       (39, 'ITV', 0),
-       (40, 'JOOX', 0),
-       (41, 'KKBOX', 0),
-       (42, 'KKTV', 0),
-       (43, 'LiTV', 0),
-       (44, 'My5', 0),
-       (45, 'PBS', 0),
-       (46, 'Pandora', 0),
-       (47, 'SoundCloud', 0),
-       (48, 'Spotify', 0),
-       (49, 'TIDAL', 0),
-       (50, 'TaiWanGood', 0),
-       (51, 'TikTok', 0),
-       (52, 'Pornhub', 0),
-       (53, 'Twitch', 0),
-       (54, 'ViuTV', 0),
-       (55, 'encoreTVB', 0),
-       (56, 'myTV_SUPER', 0),
-       (57, 'niconico', 0),
-       (58, 'QQ音乐', 0);
-
-ALTER TABLE `verify`
-    CHANGE `id` `id`           INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
-    CHANGE `type` `type`       TINYINT(1)       NOT NULL DEFAULT '1' COMMENT '激活类型:1-自行激活、2-管理员激活',
-    CHANGE `user_id` `user_id` INT(10) UNSIGNED NOT NULL COMMENT '用户ID';
-
-ALTER TABLE `verify_code`
-    CHANGE `id` `id`         INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
-    CHANGE `status` `status` TINYINT(1)       NOT NULL DEFAULT '0' COMMENT '状态:0-未使用、1-已使用、2-已失效';
-
-DROP TABLE `ss_group`;
-DROP TABLE `ss_group_node`;
-
-ALTER TABLE `goods`
-    CHANGE `id` `id`                 INT(10) UNSIGNED    NOT NULL AUTO_INCREMENT,
-    DROP `sku`,
-    CHANGE `logo` `logo`             VARCHAR(255) DEFAULT NULL COMMENT '商品图片地址',
-    CHANGE `traffic` `traffic`       BIGINT(20) UNSIGNED NOT NULL DEFAULT '0' COMMENT '商品内含多少流量,单位MiB',
-    CHANGE `type` `type`             TINYINT(1)          NOT NULL DEFAULT '1' COMMENT '商品类型:1-流量包、2-套餐',
-    CHANGE `price` `price`           INT(10) UNSIGNED    NOT NULL DEFAULT '0' COMMENT '售价,单位分',
-    ADD `level`                      TINYINT(3) UNSIGNED NOT NULL DEFAULT '0' COMMENT '购买后给用户授权的等级' AFTER `price`,
-    CHANGE `renew` `renew`           INT(10) UNSIGNED    NOT NULL DEFAULT '0' COMMENT '流量重置价格,单位分',
-    CHANGE `period` `period`         INT(10) UNSIGNED    NOT NULL DEFAULT '0' COMMENT '流量自动重置周期',
-    CHANGE `desc` `description`      VARCHAR(255) DEFAULT '' COMMENT '商品描述',
-    CHANGE `days` `days`             INT(10) UNSIGNED    NOT NULL DEFAULT '30' COMMENT '有效期',
-    CHANGE `invite_num` `invite_num` INT(10) UNSIGNED    NOT NULL DEFAULT '0' COMMENT '赠送邀请码数',
-    CHANGE `limit_num` `limit_num`   INT(10) UNSIGNED    NOT NULL DEFAULT '0' COMMENT '限购数量,默认为0不限购',
-    CHANGE `sort` `sort`             TINYINT(3) UNSIGNED NOT NULL DEFAULT '0' COMMENT '排序',
-    CHANGE `is_hot` `is_hot`         BIT                 NOT NULL DEFAULT 0 COMMENT '是否热销:0-否、1-是',
-    CHANGE `status` `status`         BIT                 NOT NULL DEFAULT 1 COMMENT '状态:0-下架、1-上架';
-
-DROP TABLE IF EXISTS `coupon`;
-CREATE TABLE `coupon`
-(
-    `id`              INT(10) UNSIGNED    NOT NULL AUTO_INCREMENT,
-    `name`            VARCHAR(50)         NOT NULL COMMENT '优惠券名称',
-    `logo`            VARCHAR(255)        NOT NULL DEFAULT '' COMMENT '优惠券LOGO',
-    `sn`              VARCHAR(50)         NOT NULL DEFAULT '' COMMENT '优惠券码',
-    `type`            TINYINT(1)          NOT NULL DEFAULT '1' COMMENT '类型:1-抵用券、2-折扣券、3-充值券',
-    `usage_count`     SMALLINT UNSIGNED   NOT NULL DEFAULT '1' COMMENT '可使用次数',
-    `amount`          INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '金额,单位分',
-    `discount`        DECIMAL(10, 2)      NOT NULL DEFAULT '0.00' COMMENT '折扣',
-    `rule`            INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '使用限制,单位分',
-    `available_start` INT(10) UNSIGNED    NOT NULL DEFAULT '0' COMMENT '有效期开始',
-    `available_end`   INT(10) UNSIGNED    NOT NULL DEFAULT '0' COMMENT '有效期结束',
-    `status`          TINYINT(1)          NOT NULL DEFAULT '1' COMMENT '状态:0-未使用、1-已使用、2-已失效',
-    `created_at`      DATETIME                     DEFAULT NULL COMMENT '创建时间',
-    `updated_at`      DATETIME                     DEFAULT NULL COMMENT '最后更新时间',
-    `deleted_at`      DATETIME            NULL     DEFAULT NULL COMMENT '删除时间',
-    PRIMARY KEY (`id`),
-    UNIQUE INDEX `unq_sn` (`sn`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT ='优惠券';
-
-ALTER TABLE `coupon_log`
-    CHANGE `id` `id`               INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
-    CHANGE `coupon_id` `coupon_id` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '优惠券ID',
-    CHANGE `goods_id` `goods_id`   INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '商品ID',
-    CHANGE `order_id` `order_id`   INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '订单ID',
-    CHANGE `desc` `description`    VARCHAR(50)      NOT NULL DEFAULT '' COMMENT '备注';
-
-CREATE TABLE `products_pool`
-(
-    `id`         INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
-    `name`       VARCHAR(255)              DEFAULT NULL COMMENT '名称',
-    `min_amount` INT(10) UNSIGNED          DEFAULT 0 COMMENT '适用最小金额,单位分',
-    `max_amount` INT(10) UNSIGNED          DEFAULT 0 COMMENT '适用最大金额,单位分',
-    `status`     BIT              NOT NULL DEFAULT 1 COMMENT '状态:0-未启用、1-已启用',
-    `created_at` DATETIME                  DEFAULT NULL COMMENT '创建时间',
-    `updated_at` DATETIME                  DEFAULT NULL COMMENT '最后更新时间',
-    PRIMARY KEY (`id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT ='产品名称池';
-
-UPDATE `order` SET `goods_id` = 0 WHERE `goods_id` = -1;
-ALTER TABLE `order`
-    CHANGE `oid` `oid`                     INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
-    CHANGE `user_id` `user_id`             INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '操作人',
-    CHANGE `goods_id` `goods_id`           INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '商品ID',
-    CHANGE `coupon_id` `coupon_id`         INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '优惠券ID',
-    DROP `email`,
-    CHANGE `origin_amount` `origin_amount` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '订单原始总价,单位分',
-    CHANGE `amount` `amount`               INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '订单总价,单位分',
-    CHANGE `is_expire` `is_expire`         BIT              NOT NULL DEFAULT 0 COMMENT '是否已过期:0-未过期、1-已过期',
-    CHANGE `pay_way` `pay_way`             VARCHAR(10)      NOT NULL DEFAULT '' COMMENT '支付方式:balance、f2fpay、codepay、payjs、bitpayx等',
-    CHANGE `status` `status`               TINYINT(1)       NOT NULL DEFAULT '0' COMMENT '订单状态:-1-已关闭、0-待支付、1-已支付待确认、2-已完成';
-
-ALTER TABLE `ticket`
-    CHANGE `id` `id`           INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
-    CHANGE `user_id` `user_id` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '用户ID',
-    CHANGE `status` `status`   TINYINT(1)       NOT NULL DEFAULT '0' COMMENT '状态:0-待处理、1-已处理未关闭、2-已关闭';
-
-ALTER TABLE `ticket_reply`
-    CHANGE `id` `id`               INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
-    CHANGE `ticket_id` `ticket_id` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '工单ID',
-    CHANGE `user_id` `user_id`     INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '回复用户的ID';
-
-RENAME TABLE `user_balance_log` TO `user_credit_log`;
-ALTER TABLE `user_credit_log`
-    CHANGE `id` `id`             INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
-    CHANGE `user_id` `user_id`   INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '账号ID',
-    CHANGE `order_id` `order_id` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '订单ID',
-    CHANGE `before` `before`     INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '发生前余额,单位分',
-    CHANGE `after` `after`       INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '发生后金额,单位分',
-    CHANGE `amount` `amount`     INT(10)          NOT NULL DEFAULT '0' COMMENT '发生金额,单位分',
-    CHANGE `desc` `description`  VARCHAR(255) DEFAULT '' COMMENT '操作描述';
-
-ALTER TABLE `user_traffic_modify_log`
-    CHANGE `id` `id`             INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
-    CHANGE `user_id` `user_id`   INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '用户ID',
-    CHANGE `order_id` `order_id` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '发生的订单ID',
-    CHANGE `desc` `description`  VARCHAR(255)     NOT NULL DEFAULT '' COMMENT '描述';
-
-ALTER TABLE `referral_apply`
-    CHANGE `id` `id`               INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
-    CHANGE `user_id` `user_id`     INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '用户ID',
-    CHANGE `before` `before`       INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '操作前可提现金额,单位分',
-    CHANGE `after` `after`         INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '操作后可提现金额,单位分',
-    CHANGE `amount` `amount`       INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '本次提现金额,单位分',
-    CHANGE `link_logs` `link_logs` TEXT             NOT NULL COMMENT '关联返利日志ID,例如:1,3,4',
-    CHANGE `status` `status`       TINYINT(1)       NOT NULL DEFAULT '0' COMMENT '状态:-1-驳回、0-待审核、1-审核通过待打款、2-已打款';
-
-ALTER TABLE `referral_log`
-    CHANGE `id` `id`                   INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
-    CHANGE `user_id` `user_id`         INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '用户ID',
-    CHANGE `ref_user_id` `ref_user_id` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '推广人ID',
-    CHANGE `order_id` `order_id`       INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '关联订单ID',
-    CHANGE `amount` `amount`           INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '消费金额,单位分',
-    CHANGE `ref_amount` `ref_amount`   INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '返利金额',
-    CHANGE `status` `status`           TINYINT(1)       NOT NULL DEFAULT '0' COMMENT '状态:0-未提现、1-审核中、2-已提现';
-
-ALTER TABLE `notification_log`
-    CHANGE `id` `id`         INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
-    CHANGE `type` `type`     TINYINT(1)       NOT NULL DEFAULT '1' COMMENT '类型:1-邮件、2-ServerChan、3-Bark、4-Telegram',
-    CHANGE `status` `status` TINYINT(1)       NOT NULL DEFAULT '0' COMMENT '状态:-1发送失败、0-等待发送、1-发送成功';
-
-ALTER TABLE `sensitive_words`
-    CHANGE `id` `id`     INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
-    CHANGE `type` `type` TINYINT(1)       NOT NULL DEFAULT '1' COMMENT '类型:1-黑名单、2-白名单';
-
-ALTER TABLE `user_subscribe`
-    CHANGE `id` `id`             INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
-    CHANGE `user_id` `user_id`   INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '用户ID',
-    CHANGE `code` `code`         CHAR(8) DEFAULT '' COMMENT '订阅地址唯一识别码',
-    CHANGE `times` `times`       INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '地址请求次数',
-    CHANGE `status` `status`     BIT              NOT NULL DEFAULT 1 COMMENT '状态:0-禁用、1-启用',
-    CHANGE `ban_time` `ban_time` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '封禁时间';
-
-ALTER TABLE `user_subscribe_log`
-    CHANGE `id` `id`   INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
-    CHANGE `sid` `sid` INT(10) UNSIGNED DEFAULT NULL COMMENT '对应user_subscribe的id';
-
-ALTER TABLE `user_traffic_daily`
-    CHANGE `id` `id`           INT(10) UNSIGNED    NOT NULL AUTO_INCREMENT,
-    CHANGE `user_id` `user_id` INT(10) UNSIGNED    NOT NULL DEFAULT '0' COMMENT '用户ID',
-    CHANGE `node_id` `node_id` INT(10) UNSIGNED    NOT NULL DEFAULT '0' COMMENT '节点ID,0表示统计全部节点',
-    CHANGE `u` `u`             BIGINT(20) UNSIGNED NOT NULL DEFAULT '0' COMMENT '上传流量',
-    CHANGE `d` `d`             BIGINT(20) UNSIGNED NOT NULL DEFAULT '0' COMMENT '下载流量',
-    CHANGE `total` `total`     BIGINT(20) UNSIGNED NOT NULL DEFAULT '0' COMMENT '总流量';
-
-ALTER TABLE `user_traffic_hourly`
-    CHANGE `id` `id`           INT(10) UNSIGNED    NOT NULL AUTO_INCREMENT,
-    CHANGE `user_id` `user_id` INT(10) UNSIGNED    NOT NULL DEFAULT '0' COMMENT '用户ID',
-    CHANGE `node_id` `node_id` INT(10) UNSIGNED    NOT NULL DEFAULT '0' COMMENT '节点ID,0表示统计全部节点',
-    CHANGE `u` `u`             BIGINT(20) UNSIGNED NOT NULL DEFAULT '0' COMMENT '上传流量',
-    CHANGE `d` `d`             BIGINT(20) UNSIGNED NOT NULL DEFAULT '0' COMMENT '下载流量',
-    CHANGE `total` `total`     BIGINT(20) UNSIGNED NOT NULL DEFAULT '0' COMMENT '总流量';
-
-ALTER TABLE `ss_node_traffic_daily`
-    CHANGE `id` `id`           INT(10) UNSIGNED    NOT NULL AUTO_INCREMENT,
-    CHANGE `node_id` `node_id` INT(10) UNSIGNED    NOT NULL DEFAULT '0' COMMENT '节点ID',
-    CHANGE `u` `u`             BIGINT(20) UNSIGNED NOT NULL DEFAULT '0' COMMENT '上传流量',
-    CHANGE `d` `d`             BIGINT(20) UNSIGNED NOT NULL DEFAULT '0' COMMENT '下载流量',
-    CHANGE `total` `total`     BIGINT(20) UNSIGNED NOT NULL DEFAULT '0' COMMENT '总流量';
-
-ALTER TABLE `ss_node_traffic_hourly`
-    CHANGE `id` `id`           INT(10) UNSIGNED    NOT NULL AUTO_INCREMENT,
-    CHANGE `node_id` `node_id` INT(10) UNSIGNED    NOT NULL DEFAULT '0' COMMENT '节点ID',
-    CHANGE `u` `u`             BIGINT(20) UNSIGNED NOT NULL DEFAULT '0' COMMENT '上传流量',
-    CHANGE `d` `d`             BIGINT(20) UNSIGNED NOT NULL DEFAULT '0' COMMENT '下载流量',
-    CHANGE `total` `total`     BIGINT(20) UNSIGNED NOT NULL DEFAULT '0' COMMENT '总流量';
-
-ALTER TABLE `user_ban_log`
-    CHANGE `id` `id`            INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
-    CHANGE `user_id` `user_id`  INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '用户ID',
-    CHANGE `minutes` `minutes`  INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '封禁账号时长,单位分钟',
-    CHANGE `desc` `description` VARCHAR(255)     NOT NULL DEFAULT '' COMMENT '操作描述',
-    CHANGE `status` `status`    BIT              NOT NULL DEFAULT 0 COMMENT '状态:0-未处理、1-已处理';
-
-DROP TABLE user_label;
-DROP TABLE goods_label;
-
-ALTER TABLE `country`
-    CHANGE `id` `id`     INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
-    CHANGE `code` `code` VARCHAR(5)       NOT NULL DEFAULT '' COMMENT '代码';
-
-ALTER TABLE `payment`
-    CHANGE `id` `id`           INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
-    CHANGE `sn` `trade_no`     VARCHAR(64)      DEFAULT NULL COMMENT '支付单号(本地订单号)',
-    CHANGE `user_id` `user_id` INT(10) UNSIGNED NOT NULL COMMENT '用户ID',
-    CHANGE `oid` `oid`         INT(10) UNSIGNED DEFAULT NULL COMMENT '本地订单ID',
-    CHANGE `amount` `amount`   INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '金额,单位分',
-    CHANGE `status` `status`   TINYINT(1)       NOT NULL DEFAULT '0' COMMENT '支付状态:-1-支付失败、0-等待支付、1-支付成功';
-
-DROP TABLE `payment_callback`;
-CREATE TABLE `payment_callback`
-(
-    `id`           INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
-    `trade_no`     VARCHAR(64)      DEFAULT NULL COMMENT '本地订单号',
-    `out_trade_no` VARCHAR(64)      DEFAULT NULL COMMENT '外部订单号(支付平台)',
-    `amount`       INT(10) UNSIGNED DEFAULT NULL COMMENT '交易金额,单位分',
-    `status`       BIT              DEFAULT NULL COMMENT '交易状态:0-失败、1-成功',
-    `created_at`   DATETIME         DEFAULT NULL,
-    `updated_at`   DATETIME         DEFAULT NULL,
-    PRIMARY KEY (`id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT ='支付回调日志';
-
-ALTER TABLE `marketing`
-    CHANGE `id` `id`         INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
-    CHANGE `type` `type`     TINYINT(1)       NOT NULL COMMENT '类型:1-邮件群发',
-    CHANGE `status` `status` TINYINT(1)       NOT NULL COMMENT '状态:-1-失败、0-待发送、1-成功';
-
-ALTER TABLE `user_login_log`
-    CHANGE `id` `id`             INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
-    CHANGE `user_id` `user_id`   INT(10) UNSIGNED NOT NULL DEFAULT '0',
-    CHANGE `ip` `ip`             VARCHAR(128)     NOT NULL,
-    CHANGE `country` `country`   VARCHAR(128)     NOT NULL,
-    CHANGE `province` `province` VARCHAR(128)     NOT NULL,
-    CHANGE `city` `city`         VARCHAR(128)     NOT NULL,
-    CHANGE `county` `county`     VARCHAR(128)     NOT NULL,
-    CHANGE `isp` `isp`           VARCHAR(128)     NOT NULL,
-    CHANGE `area` `area`         VARCHAR(255)     NOT NULL;
-
-ALTER TABLE `ss_node_ip`
-    CHANGE `id` `id`                 INT(10) UNSIGNED     NOT NULL AUTO_INCREMENT,
-    CHANGE `node_id` `node_id`       INT(10) UNSIGNED     NOT NULL DEFAULT '0' COMMENT '节点ID',
-    CHANGE `user_id` `user_id`       INT(10) UNSIGNED     NOT NULL DEFAULT '0' COMMENT '用户ID',
-    CHANGE `port` `port`             SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT '端口',
-    CHANGE `type` `type`             CHAR(3)              NOT NULL DEFAULT 'tcp' COMMENT '类型:all、tcp、udp',
-    CHANGE `created_at` `created_at` INT(10) UNSIGNED     NOT NULL DEFAULT '0' COMMENT '上报时间';
-
-DROP TABLE IF EXISTS `rule`;
-CREATE TABLE `rule`
-(
-    `id`         INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
-    `type`       TINYINT(1)       NOT NULL DEFAULT '1' COMMENT '类型:1-正则表达式、2-域名、3-IP、4-协议',
-    `name`       VARCHAR(100)     NOT NULL COMMENT '规则描述',
-    `pattern`    TEXT             NOT NULL COMMENT '规则值',
-    `created_at` DATETIME         NOT NULL,
-    `updated_at` DATETIME         NOT NULL,
-    PRIMARY KEY (`id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT ='审计规则';
-INSERT INTO `rule`(`id`, `type`, `name`, `pattern`, `created_at`, `updated_at`)
-VALUES (1, '1', '360',
-        '(.*\.||)(^360|0360|1360|3600|360safe|^so|qhimg|qhmsg|^yunpan|qihoo|qhcdn|qhupdate|360totalsecurity|360shouji|qihucdn|360kan|secmp)\.(cn|com|net)',
-        '2019-07-19 15:04:11', '2019-07-19 15:04:11'),
-       (2, '1', '腾讯管家', '(\.guanjia\.qq\.com|qqpcmgr|QQPCMGR)', '2019-07-19 15:04:11', '2019-07-19 15:04:11'),
-       (3, '1', '金山毒霸', '(.*\.||)(rising|kingsoft|duba|xindubawukong|jinshanduba)\.(com|net|org)',
-        '2019-07-19 15:04:11', '2019-07-19 15:04:11'),
-       (4, '1', '暗网相关', '(.*\.||)(netvigator|torproject)\.(cn|com|net|org)', '2019-07-19 15:04:11',
-        '2019-07-19 15:04:11'),
-       (5, '1', '百度定位',
-        '(api|ps|sv|offnavi|newvector|ulog\\.imap|newloc|tracknavi)(\\.map|)\\.(baidu|n\\.shifen)\\.com',
-        '2019-07-19 15:05:06', '2019-07-19 15:05:06'),
-       (6, '1', '法轮功类',
-        '(.*\\.||)(dafahao|minghui|dongtaiwang|dajiyuan|falundata|shenyun|tuidang|epochweekly|epochtimes|ntdtv|falundafa|wujieliulan|zhengjian)\\.(org|com|net)',
-        '2019-07-19 15:05:46', '2019-07-19 15:05:46'),
-       (7, '1', 'BT扩展名',
-        '(torrent|\\.torrent|peer_id=|info_hash|get_peers|find_node|BitTorrent|announce_peer|announce\\.php\\?passkey=)',
-        '2019-07-19 15:06:07', '2019-07-19 15:06:07'),
-       (8, '1', '邮件滥发',
-        '((^.*\@)(guerrillamail|guerrillamailblock|sharklasers|grr|pokemail|spam4|bccto|chacuo|027168)\.(info|biz|com|de|net|org|me|la)|Subject|HELO|SMTP)',
-        '2019-07-19 15:06:20', '2019-07-19 15:06:20'),
-       (9, '1', '迅雷下载', '(.?)(xunlei|sandai|Thunder|XLLiveUD)(.)', '2019-07-19 15:06:31', '2019-07-19 15:06:31'),
-       (10, '1', '大陆应用',
-        '(.*\\.||)(qq|163|sohu|sogoucdn|sogou|uc|58|taobao|qpic|bilibili|hdslb|sina|douban|doubanio|xiaohongshu|sinaimg|weibo|xiaomi)\\.(org|com|net|cn)',
-        '0000-00-00 00:00:00', '0000-00-00 00:00:00'),
-       (11, '1', '大陆银行',
-        '(.*\\.||)(icbc|ccb|boc|bankcomm|abchina|cmbchina|psbc|cebbank|cmbc|pingan|spdb|citicbank|cib|hxb|bankofbeijing|hsbank|tccb|4001961200|bosc|hkbchina|njcb|nbcb|lj-bank|bjrcb|jsbchina|gzcb|cqcbank|czbank|hzbank|srcb|cbhb|cqrcb|grcbank|qdccb|bocd|hrbcb|jlbank|bankofdl|qlbchina|dongguanbank|cscb|hebbank|drcbank|zzbank|bsb|xmccb|hljrcc|jxnxs|gsrcu|fjnx|sxnxs|gx966888|gx966888|zj96596|hnnxs|ahrcu|shanxinj|hainanbank|scrcu|gdrcu|hbxh|ynrcc|lnrcc|nmgnxs|hebnx|jlnls|js96008|hnnx|sdnxs)\\.(org|com|net|cn)',
-        '0000-00-00 00:00:00', '0000-00-00 00:00:00'),
-       (12, '1', '台湾银行',
-        '(.*\\.||)(firstbank|bot|cotabank|megabank|tcb-bank|landbank|hncb|bankchb|tbb|ktb|tcbbank|scsb|bop|sunnybank|kgibank|fubon|ctbcbank|cathaybk|eximbank|bok|ubot|feib|yuantabank|sinopac|esunbank|taishinbank|jihsunbank|entiebank|hwataibank|csc|skbank)\\.(org|com|net|tw)',
-        '0000-00-00 00:00:00', '0000-00-00 00:00:00'),
-       (13, '1', '大陆第三方支付',
-        '(.*\\.||)(alipay|baifubao|yeepay|99bill|95516|51credit|cmpay|tenpay|lakala|jdpay)\\.(org|com|net|cn)',
-        '0000-00-00 00:00:00', '0000-00-00 00:00:00'),
-       (14, '1', '台湾特供', '(.*\.||)(visa|mycard|mastercard|gov|gash|beanfun|bank|line)\.(org|com|net|cn|tw|jp|kr)',
-        '0000-00-00 00:00:00', '0000-00-00 00:00:00'),
-       (15, '1', '涉政治类',
-        '(.*\\.||)(shenzhoufilm|secretchina|renminbao|aboluowang|mhradio|guangming|zhengwunet|soundofhope|yuanming|zhuichaguoji|fgmtv|xinsheng|shenyunperformingarts|epochweekly|tuidang|shenyun|falundata|bannedbook|pincong)\\.(org|com|net|rocks)',
-        '0000-00-00 00:00:00', '0000-00-00 00:00:00'),
-       (16, '1', '流媒体',
-        '(.*\.||)(youtube|googlevideo|hulu|netflix|nflxvideo|akamai|nflximg|hbo|mtv|bbc|tvb)\.(org|club|com|net|tv)',
-        '2019-11-19 15:04:11', '2019-11-19 15:04:11'),
-       (17, '1', '测速类', '(.*\.||)(fast|speedtest)\.(org|com|net|cn)', '2019-11-19 15:04:11', '2019-11-19 15:04:11');
-
-DROP TABLE IF EXISTS `rule_group`;
-CREATE TABLE `rule_group`
-(
-    `id`         INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
-    `type`       BIT          DEFAULT 1 COMMENT '模式:1-阻断、0-放行',
-    `name`       VARCHAR(255) DEFAULT NULL COMMENT '分组名称',
-    `rules`      TEXT COMMENT '关联的规则ID,多个用,号分隔',
-    `nodes`      TEXT COMMENT '关联的节点ID,多个用,号分隔',
-    `created_at` DATETIME     DEFAULT NULL,
-    `updated_at` DATETIME     DEFAULT NULL,
-    PRIMARY KEY (`id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT ='审计规则分组';
-
-INSERT INTO `rule_group`(`id`, `type`, `name`, `rules`, `nodes`, `created_at`, `updated_at`)
-VALUES (1, 1, '默认', '1,2,3,4,5,6,7,8,9,10,11,12,13,14', NULL, '2019-10-26 15:29:48', '2019-10-26 15:29:48');
-
-DROP TABLE `device`;
-
-CREATE TABLE `rule_group_node`
-(
-    `id`            INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
-    `rule_group_id` INT(10) UNSIGNED DEFAULT '0' COMMENT '规则分组ID',
-    `node_id`       INT(10) UNSIGNED DEFAULT '0' COMMENT '节点ID',
-    `created_at`    DATETIME         DEFAULT NULL,
-    `updated_at`    DATETIME         DEFAULT NULL,
-    PRIMARY KEY (`id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT ='审计规则分组节点关联表';
-
-CREATE TABLE `rule_log`
-(
-    `id`         INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
-    `user_id`    INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '用户ID',
-    `node_id`    INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '节点ID',
-    `rule_id`    INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '规则ID,0表示白名单模式下访问访问了非规则允许的网址',
-    `reason`     VARCHAR(255)     NOT NULL DEFAULT '' COMMENT '触发原因',
-    `created_at` DATETIME         NOT NULL,
-    `updated_at` DATETIME         NOT NULL,
-    PRIMARY KEY (`id`),
-    INDEX `idx` (`user_id`, `node_id`, `rule_id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT ='触发审计规则日志表';
-
-CREATE TABLE `node_rule`
-(
-    `id`         INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
-    `node_id`    INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '节点ID',
-    `rule_id`    INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '审计规则ID',
-    `is_black`   BIT              NOT NULL DEFAULT 1 COMMENT '是否黑名单模式:0-不是、1-是',
-    `created_at` DATETIME         NOT NULL,
-    `updated_at` DATETIME         NOT NULL,
-    PRIMARY KEY (`id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT ='节点审计规则关联';
-
-ALTER TABLE `migrations`
-    CHANGE `batch` `batch` INT(10) UNSIGNED NOT NULL;

+ 0 - 3
sql/mod/20200624.sql

@@ -1,3 +0,0 @@
-ALTER TABLE `user`
-    CHANGE `uuid` `vmess_id` VARCHAR(64) NOT NULL DEFAULT '',
-    ADD `protocol_param` varchar(255) DEFAULT '' COMMENT '协议参数' AFTER `protocol`;

+ 0 - 32
sql/mod/20200630.sql

@@ -1,32 +0,0 @@
-ALTER TABLE `ss_node`
-    CHANGE `ssh_port` `push_port` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT '消息推送端口',
-    ADD `tls_provider`            TEXT                 NULL     DEFAULT NULL COMMENT 'V2Ray节点的TLS提供商授权信息' AFTER `v2_tls`,
-    DROP `v2_tls_insecure`,
-    DROP `v2_tls_insecure_ciphers`;
-
-CREATE TABLE `node_auth`
-(
-    `id`         INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
-    `node_id`    INT(10) UNSIGNED NOT NULL                          DEFAULT '0' COMMENT '授权节点ID',
-    `key`        CHAR(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT '' COMMENT '认证KEY',
-    `secret`     CHAR(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin  DEFAULT '' COMMENT '通信密钥',
-    `created_at` DATETIME         NULL                              DEFAULT NULL COMMENT '创建时间',
-    `updated_at` DATETIME         NULL                              DEFAULT NULL COMMENT '最后更新时间',
-    PRIMARY KEY (`id`),
-    INDEX `id` (`id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT ='节点授权密钥表';
-
-CREATE TABLE `node_certificate`
-(
-    `id`         INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
-    `domain`     VARCHAR(255)     NOT NULL COMMENT '域名',
-    `key`        TEXT             NULL COMMENT '域名证书KEY',
-    `pem`        TEXT             NULL COMMENT '域名证书PEM',
-    `created_at` DATETIME         NOT NULL,
-    `updated_at` DATETIME         NOT NULL,
-    PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB COLLATE = 'utf8mb4_unicode_ci' COMMENT ='域名证书';
-
-UPDATE `config` SET `name` = 'vnet_license' WHERE `config`.`id` = 51;
-UPDATE `config` SET `name` = 'v2ray_license' WHERE `config`.`id` = 52;
-UPDATE `config` SET `name` = 'trojan_license' WHERE `config`.`id` = 53;

+ 0 - 2
sql/mod/20200707.sql

@@ -1,2 +0,0 @@
-ALTER TABLE `user`
-    CHANGE `enable` `enable` TINYINT(1) NOT NULL DEFAULT 1 COMMENT '代理状态';

+ 0 - 5
sql/mod/20200708.sql

@@ -1,5 +0,0 @@
-ALTER TABLE `ss_node`
-    CHANGE `client_limit` `client_limit` SMALLINT(5) UNSIGNED NOT NULL DEFAULT 0 COMMENT '设备数限制';
-
-UPDATE `config` SET `name` = 'web_api_url' WHERE `config`.`id` = 51;
-UPDATE `config` SET `name` = 'v2ray_tls_provider' WHERE `config`.`id` = 54;

+ 0 - 7
sql/mod/20200711.sql

@@ -1,7 +0,0 @@
-ALTER TABLE `ticket`
-    ADD `admin_id` INT(10) UNSIGNED DEFAULT '0' COMMENT '管理员ID' AFTER `user_id`;
-
-ALTER TABLE `ticket_reply`
-    ADD `admin_id` INT(10) UNSIGNED DEFAULT '0' COMMENT '管理员ID' AFTER `user_id`;
-
--- 升级sql后 运行 php artisan updateTicket 更新工单

+ 0 - 16
sql/mod/20200713.sql

@@ -1,16 +0,0 @@
--- 请选择性 更新本文件! 以往ssrpanel使用label(标签)来区分用户的,可以使用本文件清理label, 再升级为用level(等级)区分的新版本
--- Optional update! For original ssrpanel update Label to Level as new way to rank the user-node.
-
-DROP TABLE IF EXISTS `ss_node_label`;
-CREATE TABLE `ss_node_label`
-(
-    `id`       INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
-    `node_id`  INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '节点ID',
-    `label_id` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '标签ID',
-    PRIMARY KEY (`id`),
-    INDEX `idx_node_label` (`node_id`, `label_id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT ='节点标签';
-
--- 更新sql之后 | After sql update
--- 运行升级命令前, 请先给商品【套餐】加上等级,再运行 php artisan updateUserLevel 来更新等级; 别忘了同样要给节点加等级 和 标签!
--- Before apply level, set up goods in the level your want in the goods edition page, then run 'php artisan updateUserLevel' to update Level; Don't forget add level and label to nodes afterward.

+ 0 - 2
sql/mod/20200715.sql

@@ -1,2 +0,0 @@
-ALTER TABLE `order`
-    ADD `pay_type` TINYINT(1) UNSIGNED DEFAULT '0' COMMENT '支付渠道:0-余额、1-支付宝、2-QQ、3-微信、4-虚拟货币、5-paypal' AFTER `is_expire`;

+ 0 - 11
sql/mod/20200719.sql

@@ -1,11 +0,0 @@
--- 触发审计规则后强制跳转地址
-INSERT INTO `config` VALUES ('112', 'redirect_url', '');
-
--- 移除审计规则无用字段
-ALTER TABLE `rule`
-    DROP COLUMN `created_at`,
-    DROP COLUMN `updated_at`;
-
--- 加入新审计规则条目:外汇交易类
-INSERT INTO `rule` (`id`, `type`, `name`, `pattern`)
-VALUES (18, '1', '外汇交易类', '(.*\.||)(metatrader4|metatrader5|mql5)\.(org|com|net)');

+ 0 - 3
sql/mod/20200720.sql

@@ -1,3 +0,0 @@
-INSERT INTO `config` VALUES ('113', 'epay_url', '');
-INSERT INTO `config` VALUES ('114', 'epay_mch_id', '');
-INSERT INTO `config` VALUES ('115', 'epay_key', '');

+ 0 - 13
sql/mod/20200725.sql

@@ -1,13 +0,0 @@
-ALTER TABLE `ss_node`
-    ADD `geo` VARCHAR(255) NULL DEFAULT NULL COMMENT '节点地理位置' AFTER `description`;
-
-ALTER TABLE `user`
-    ADD `group_id` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '所属分组' AFTER `level`;
-
-CREATE TABLE `user_group`
-(
-    `id`    INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
-    `name`  VARCHAR(255) DEFAULT NULL COMMENT '分组名称',
-    `nodes` TEXT COMMENT '关联的节点ID,多个用,号分隔',
-    PRIMARY KEY (`id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT ='用户分组控制表';

+ 0 - 192
sql/mod/20200730.sql

@@ -1,192 +0,0 @@
--- 运行完sql后, 运行php artisan fixDailyTrafficLogError 完成升级
-
--- 注意:本次更新涉及时间修改,请不要在23:50之后运行,以防换日期导致记录出问题。
-
-ALTER TABLE `ss_node`
-    CHANGE `created_at` `created_at` DATETIME NOT NULL COMMENT '创建时间',
-    CHANGE `updated_at` `updated_at` DATETIME NOT NULL COMMENT '最后更新时间';
-
-ALTER TABLE `ss_node_ping`
-    CHANGE `created_at` `created_at` DATETIME NOT NULL COMMENT '创建时间',
-    DROP `updated_at`;
-
-ALTER TABLE `user`
-    CHANGE `t` `t`                   INT(10) UNSIGNED DEFAULT NULL COMMENT '最后使用时间',
-    CHANGE `ban_time` `ban_time`     INT(10) UNSIGNED DEFAULT NULL COMMENT '封禁到期时间',
-    CHANGE `reset_time` `reset_time` DATE     NULL COMMENT '流量重置日期',
-    CHANGE `created_at` `created_at` DATETIME NOT NULL COMMENT '创建时间',
-    CHANGE `updated_at` `updated_at` DATETIME NOT NULL COMMENT '最后更新时间';
-
-ALTER TABLE `user_group`
-    CHANGE `name` `name` VARCHAR(255) NOT NULL COMMENT '分组名称';
-
-ALTER TABLE `article`
-    CHANGE `created_at` `created_at` DATETIME NOT NULL COMMENT '创建时间',
-    CHANGE `updated_at` `updated_at` DATETIME NOT NULL COMMENT '最后更新时间',
-    CHANGE `deleted_at` `deleted_at` DATETIME DEFAULT NULL COMMENT '删除时间';
-
-ALTER TABLE `invite`
-    CHANGE `dateline` `dateline`     DATETIME NOT NULL COMMENT '有效期至',
-    CHANGE `created_at` `created_at` DATETIME NOT NULL COMMENT '创建时间',
-    CHANGE `updated_at` `updated_at` DATETIME NOT NULL COMMENT '最后更新时间';
-
-ALTER TABLE `verify`
-    CHANGE `created_at` `created_at` DATETIME NOT NULL COMMENT '创建时间',
-    CHANGE `updated_at` `updated_at` DATETIME NOT NULL COMMENT '最后更新时间';
-
-ALTER TABLE `verify_code`
-    CHANGE `created_at` `created_at` DATETIME NOT NULL COMMENT '创建时间',
-    CHANGE `updated_at` `updated_at` DATETIME NOT NULL COMMENT '最后更新时间';
-
-ALTER TABLE `goods`
-    CHANGE `created_at` `created_at` DATETIME NOT NULL COMMENT '创建时间',
-    CHANGE `updated_at` `updated_at` DATETIME NOT NULL COMMENT '最后更新时间';
-
-ALTER TABLE `coupon`
-    CHANGE `created_at` `created_at` DATETIME NOT NULL COMMENT '创建时间',
-    CHANGE `updated_at` `updated_at` DATETIME NOT NULL COMMENT '最后更新时间',
-    CHANGE `deleted_at` `deleted_at` DATETIME DEFAULT NULL COMMENT '删除时间';
-
-ALTER TABLE `coupon_log`
-    CHANGE `created_at` `created_at` DATETIME NOT NULL COMMENT '创建时间',
-    DROP `updated_at`;
-
-ALTER TABLE `products_pool`
-    CHANGE `name` `name`             VARCHAR(255)     NOT NULL COMMENT '名称',
-    CHANGE `min_amount` `min_amount` INT(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '适用最小金额,单位分',
-    CHANGE `max_amount` `max_amount` INT(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '适用最大金额,单位分',
-    CHANGE `created_at` `created_at` DATETIME         NOT NULL COMMENT '创建时间',
-    CHANGE `updated_at` `updated_at` DATETIME         NOT NULL COMMENT '最后更新时间';
-
-ALTER TABLE `order`
-    CHANGE `expire_at` `expired_at`  DATETIME DEFAULT NULL COMMENT '过期时间',
-    CHANGE `pay_type` `pay_type`     TINYINT(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '支付渠道:0-余额、1-支付宝、2-QQ、3-微信、4-虚拟货币、5-paypal',
-    CHANGE `created_at` `created_at` DATETIME            NOT NULL COMMENT '创建时间',
-    CHANGE `updated_at` `updated_at` DATETIME            NOT NULL COMMENT '最后更新时间';
-
-ALTER TABLE `ticket`
-    CHANGE `admin_id` `admin_id`     INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '管理员ID',
-    CHANGE `created_at` `created_at` DATETIME         NOT NULL COMMENT '创建时间',
-    CHANGE `updated_at` `updated_at` DATETIME         NOT NULL COMMENT '最后更新时间';
-
-ALTER TABLE `ticket_reply`
-    CHANGE `created_at` `created_at` DATETIME NOT NULL COMMENT '创建时间',
-    CHANGE `updated_at` `updated_at` DATETIME NOT NULL COMMENT '最后更新时间';
-
-ALTER TABLE `user_credit_log`
-    CHANGE `created_at` `created_at` DATETIME NOT NULL COMMENT '创建时间';
-
-ALTER TABLE `user_traffic_modify_log`
-    CHANGE `created_at` `created_at` DATETIME NOT NULL COMMENT '创建时间',
-    DROP `updated_at`;
-
-ALTER TABLE `referral_apply`
-    CHANGE `created_at` `created_at` DATETIME NOT NULL COMMENT '创建时间',
-    CHANGE `updated_at` `updated_at` DATETIME NOT NULL COMMENT '最后更新时间';
-
-ALTER TABLE `referral_log`
-    CHANGE `created_at` `created_at` DATETIME NOT NULL COMMENT '创建时间',
-    CHANGE `updated_at` `updated_at` DATETIME NOT NULL COMMENT '最后更新时间';
-
-ALTER TABLE `notification_log`
-    CHANGE `created_at` `created_at` DATETIME NOT NULL COMMENT '创建时间',
-    CHANGE `updated_at` `updated_at` DATETIME NOT NULL COMMENT '最后更新时间';
-
-ALTER TABLE `user_subscribe`
-    CHANGE `code` `code`             CHAR(8)  NOT NULL DEFAULT '' COMMENT '订阅地址唯一识别码',
-    CHANGE `created_at` `created_at` DATETIME NOT NULL COMMENT '创建时间',
-    CHANGE `updated_at` `updated_at` DATETIME NOT NULL COMMENT '最后更新时间';
-
-ALTER TABLE `user_subscribe_log`
-    CHANGE `sid` `sid`                   INT(10) UNSIGNED NOT NULL COMMENT '对应user_subscribe的id',
-    CHANGE `request_time` `request_time` DATETIME         NOT NULL COMMENT '请求时间';
-
-ALTER TABLE `user_traffic_daily`
-    CHANGE `created_at` `created_at` DATETIME NOT NULL COMMENT '创建时间',
-    DROP `updated_at`;
-
-ALTER TABLE `user_traffic_hourly`
-    CHANGE `created_at` `created_at` DATETIME NOT NULL COMMENT '创建时间',
-    DROP `updated_at`;
-
-ALTER TABLE `ss_node_traffic_daily`
-    CHANGE `created_at` `created_at` DATETIME NOT NULL COMMENT '创建时间',
-    DROP `updated_at`;
-
-ALTER TABLE `ss_node_traffic_hourly`
-    CHANGE `created_at` `created_at` DATETIME NOT NULL COMMENT '创建时间',
-    DROP `updated_at`;
-
-ALTER TABLE `user_ban_log`
-    CHANGE `created_at` `created_at` DATETIME NOT NULL COMMENT '创建时间',
-    CHANGE `updated_at` `updated_at` DATETIME NOT NULL COMMENT '最后更新时间';
-
-ALTER TABLE `payment`
-    CHANGE `trade_no` `trade_no`     VARCHAR(64)      NOT NULL COMMENT '支付单号(本地订单号)',
-    CHANGE `oid` `oid`               INT(10) UNSIGNED NOT NULL COMMENT '本地订单ID',
-    CHANGE `created_at` `created_at` DATETIME         NOT NULL COMMENT '创建时间',
-    CHANGE `updated_at` `updated_at` DATETIME         NOT NULL COMMENT '最后更新时间';
-
-DROP TABLE `payment_callback`;
-CREATE TABLE `payment_callback`
-(
-    `id`           INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
-    `trade_no`     VARCHAR(64)      NOT NULL COMMENT '本地订单号',
-    `out_trade_no` VARCHAR(64)      NOT NULL COMMENT '外部订单号(支付平台)',
-    `amount`       INT(10) UNSIGNED NOT NULL COMMENT '交易金额,单位分',
-    `status`       BIT              NOT NULL COMMENT '交易状态:0-失败、1-成功',
-    `created_at`   DATETIME         NOT NULL COMMENT '创建时间',
-    `updated_at`   DATETIME         NOT NULL COMMENT '最后更新时间',
-    PRIMARY KEY (`id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT ='支付回调日志';
-
-ALTER TABLE `marketing`
-    CHANGE `created_at` `created_at` DATETIME NOT NULL COMMENT '创建时间',
-    CHANGE `updated_at` `updated_at` DATETIME NOT NULL COMMENT '最后更新时间';
-
-ALTER TABLE `user_login_log`
-    CHANGE `user_id` `user_id`       INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '用户ID',
-    CHANGE `ip` `ip`                 VARCHAR(45)      NOT NULL COMMENT 'IP地址',
-    CHANGE `country` `country`       VARCHAR(128)     NOT NULL COMMENT '国家',
-    CHANGE `province` `province`     VARCHAR(128)     NOT NULL COMMENT '省份',
-    CHANGE `city` `city`             VARCHAR(128)     NOT NULL COMMENT '城市',
-    CHANGE `county` `county`         VARCHAR(128)     NOT NULL COMMENT '郡县',
-    CHANGE `isp` `isp`               VARCHAR(128)     NOT NULL COMMENT '运营商',
-    CHANGE `area` `area`             VARCHAR(255)     NOT NULL COMMENT '地区',
-    CHANGE `created_at` `created_at` DATETIME         NOT NULL COMMENT '创建时间',
-    DROP `updated_at`;
-
-ALTER TABLE `rule_group`
-    CHANGE `type` `type`             BIT          NOT NULL DEFAULT 1 COMMENT '模式:1-阻断、0-放行',
-    CHANGE `name` `name`             VARCHAR(255) NOT NULL COMMENT '分组名称',
-    CHANGE `rules` `rules`           TEXT DEFAULT NULL COMMENT '关联的规则ID,多个用,号分隔',
-    CHANGE `nodes` `nodes`           TEXT DEFAULT NULL COMMENT '关联的节点ID,多个用,号分隔',
-    CHANGE `created_at` `created_at` DATETIME     NOT NULL COMMENT '创建时间',
-    CHANGE `updated_at` `updated_at` DATETIME     NOT NULL COMMENT '最后更新时间';
-
-ALTER TABLE `rule_group_node`
-    CHANGE `rule_group_id` `rule_group_id` INT(10) UNSIGNED NOT NULL COMMENT '规则分组ID',
-    CHANGE `node_id` `node_id`             INT(10) UNSIGNED NOT NULL COMMENT '节点ID',
-    CHANGE `created_at` `created_at`       DATETIME         NOT NULL COMMENT '创建时间',
-    CHANGE `updated_at` `updated_at`       DATETIME         NOT NULL COMMENT '最后更新时间';
-
-ALTER TABLE `rule_log`
-    CHANGE `created_at` `created_at` DATETIME NOT NULL COMMENT '创建时间',
-    DROP `updated_at`;
-
-ALTER TABLE `node_rule`
-    CHANGE `node_id` `node_id`       INT(10) UNSIGNED NULL COMMENT '节点ID',
-    CHANGE `rule_id` `rule_id`       INT(10) UNSIGNED NULL COMMENT '审计规则ID',
-    CHANGE `created_at` `created_at` DATETIME         NOT NULL COMMENT '创建时间',
-    CHANGE `updated_at` `updated_at` DATETIME         NOT NULL COMMENT '最后更新时间';
-
-ALTER TABLE `node_auth`
-    CHANGE `node_id` `node_id`       INT(10) UNSIGNED NOT NULL COMMENT '授权节点ID',
-    CHANGE `key` `key`               CHAR(16)         NOT NULL COMMENT '认证KEY',
-    CHANGE `secret` `secret`         CHAR(8)          NOT NULL COMMENT '通信密钥',
-    CHANGE `created_at` `created_at` DATETIME         NOT NULL COMMENT '创建时间',
-    CHANGE `updated_at` `updated_at` DATETIME         NOT NULL COMMENT '最后更新时间';
-
-ALTER TABLE `node_certificate`
-    CHANGE `created_at` `created_at` DATETIME NOT NULL COMMENT '创建时间',
-    CHANGE `updated_at` `updated_at` DATETIME NOT NULL COMMENT '最后更新时间';

+ 0 - 9
sql/mod/20200804.sql

@@ -1,9 +0,0 @@
-RENAME TABLE `sensitive_words` TO `email_filter`;
-RENAME TABLE `ss_node_traffic_daily` TO `node_daily_data_flow`;
-RENAME TABLE `ss_node_traffic_hourly` TO `node_hourly_data_flow`;
-RENAME TABLE `ss_node_label` TO `node_label`;
-RENAME TABLE `ss_node_ping` TO `node_ping`;
-RENAME TABLE `user_ban_log` TO `user_baned_log`;
-RENAME TABLE `user_traffic_daily` TO `user_daily_data_flow`;
-RENAME TABLE `user_traffic_modify_log` TO `user_data_modify_log`;
-RENAME TABLE `user_traffic_hourly` TO `user_hourly_data_flow`;

+ 0 - 15
sql/mod/20200805.sql

@@ -1,15 +0,0 @@
--- 不管是否更新数据库,先运行 php artisan updateTextToJson 来转换数据库数据为最新适配的版本
--- run php artisan updateTextToJson to reformat database even if you aren't going to update the following sql
-
--- 可选性更新,推荐数据库版本5.7及以上更新
--- Optional Update, recommend for Mysql version >=5.7
-
-ALTER TABLE `referral_apply`
-    CHANGE `link_logs` `link_logs` JSON NOT NULL COMMENT '关联返利日志ID,例如:1,3,4';
-
-ALTER TABLE `user_group`
-    CHANGE `nodes` `nodes` JSON DEFAULT NULL COMMENT '关联的节点ID,多个用,号分隔';
-
-ALTER TABLE `rule_group`
-    CHANGE `rules` `rules` JSON DEFAULT NULL COMMENT '关联的规则ID,多个用,号分隔',
-    CHANGE `nodes` `nodes` JSON DEFAULT NULL COMMENT '关联的节点ID,多个用,号分隔';

+ 0 - 119
sql/mod/20200807.sql

@@ -1,119 +0,0 @@
-ALTER TABLE `article`
-    DROP `author`;
-
-ALTER TABLE `config`
-    DROP PRIMARY KEY,
-    DROP `id`,
-    CHANGE `name` `name` VARCHAR(255) NOT NULL COMMENT '配置名',
-    ADD PRIMARY KEY (`name`);
-
-ALTER TABLE `coupon`
-    CHANGE `usage_count` `usable_times`   SMALLINT UNSIGNED DEFAULT NULL COMMENT '可使用次数',
-    ADD `value`                           INT(10) UNSIGNED NOT NULL COMMENT '折扣金额(元)/折扣力度' AFTER `usable_times`,
-    CHANGE `rule` `rule`                  INT(10) UNSIGNED  DEFAULT NULL COMMENT '使用限制(元)',
-    CHANGE `available_start` `start_time` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '有效期开始',
-    CHANGE `available_end` `end_time`     INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '有效期结束';
-
--- 注意!! 本sql需要分 2 段分开运行
--- 运行 php artisan updateCoupon
-
-ALTER TABLE `coupon`
-    DROP `amount`,
-    DROP `discount`;
-
-DROP TABLE `country`;
-CREATE TABLE `country`
-(
-    `code` CHAR(2)     NOT NULL COMMENT 'ISO国家代码',
-    `name` VARCHAR(10) NOT NULL COMMENT '名称',
-    PRIMARY KEY (`code`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT ='国家代码';
-INSERT INTO `country`(`code`, `name`)
-VALUES ('au', '澳大利亚'),
-       ('br', '巴西'),
-       ('ca', '加拿大'),
-       ('ch', '瑞士'),
-       ('cn', '中国'),
-       ('de', '德国'),
-       ('dk', '丹麦'),
-       ('eg', '埃及'),
-       ('fr', '法国'),
-       ('gr', '希腊'),
-       ('hk', '香港'),
-       ('id', '印度尼西亚'),
-       ('ie', '爱尔兰'),
-       ('il', '以色列'),
-       ('in', '印度'),
-       ('iq', '伊拉克'),
-       ('ir', '伊朗'),
-       ('it', '意大利'),
-       ('jp', '日本'),
-       ('kr', '韩国'),
-       ('mx', '墨西哥'),
-       ('my', '马来西亚'),
-       ('nl', '荷兰'),
-       ('no', '挪威'),
-       ('nz', '纽西兰'),
-       ('ph', '菲律宾'),
-       ('ru', '俄罗斯'),
-       ('se', '瑞典'),
-       ('sg', '新加坡'),
-       ('th', '泰国'),
-       ('tr', '土耳其'),
-       ('tw', '台湾'),
-       ('uk', '英国'),
-       ('us', '美国'),
-       ('vn', '越南'),
-       ('pl', '波兰'),
-       ('kz', '哈萨克斯坦'),
-       ('ua', '乌克兰'),
-       ('ro', '罗马尼亚'),
-       ('ae', '阿联酋'),
-       ('za', '南非'),
-       ('mm', '缅甸'),
-       ('is', '冰岛'),
-       ('fi', '芬兰'),
-       ('lu', '卢森堡'),
-       ('be', '比利时'),
-       ('bg', '保加利亚'),
-       ('lt', '立陶宛'),
-       ('co', '哥伦比亚'),
-       ('mo', '澳门'),
-       ('ke', '肯尼亚'),
-       ('cz', '捷克'),
-       ('md', '摩尔多瓦'),
-       ('es', '西班牙'),
-       ('pk', '巴基斯坦'),
-       ('pt', '葡萄牙'),
-       ('hu', '匈牙利'),
-       ('ar', '阿根廷');
-
-ALTER TABLE `user`
-    DROP `enable_time`,
-    CHANGE `expire_time` `expired_at`  DATE NOT NULL DEFAULT '2099-01-01' COMMENT '过期时间',
-    CHANGE `referral_uid` `inviter_id` INT(10) UNSIGNED DEFAULT NULL COMMENT '邀请人';
-
-ALTER TABLE `invite`
-    CHANGE `uid` `inviter_id`  INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '邀请ID',
-    CHANGE `fuid` `invitee_id` INT(10) UNSIGNED DEFAULT NULL COMMENT '受邀ID';
-
-ALTER TABLE `referral_log`
-    CHANGE `user_id` `invitee_id`     INT(10) UNSIGNED NOT NULL COMMENT '用户ID',
-    CHANGE `ref_user_id` `inviter_id` INT(10) UNSIGNED NOT NULL COMMENT '推广人ID',
-    CHANGE `ref_amount` `commission`  INT(10) UNSIGNED NOT NULL COMMENT '返利金额';
-
-ALTER TABLE `order`
-    DROP PRIMARY KEY,
-    CHANGE `oid` `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
-    ADD PRIMARY KEY (`id`);
-
-ALTER TABLE `user_subscribe_log`
-    CHANGE `sid` `user_subscribe_id` INT(10) UNSIGNED NOT NULL COMMENT '对应user_subscribe的id',
-    DROP INDEX `sid`,
-    ADD INDEX `user_subscribe_id` (`user_subscribe_id`);
-
-ALTER TABLE `user_baned_log`
-    CHANGE `minutes` `time` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '封禁账号时长,单位分钟';
-
-ALTER TABLE `payment`
-    CHANGE `oid` `order_id` INT(10) UNSIGNED NOT NULL COMMENT '本地订单ID';

+ 0 - 92
sql/mod/20200823.sql

@@ -1,92 +0,0 @@
-ALTER TABLE `coupon`
-    CHANGE `logo` `logo` VARCHAR(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '优惠券LOGO';
-
-ALTER TABLE `coupon_log`
-    CHANGE `description` `description` VARCHAR(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注';
-
-ALTER TABLE `goods`
-    CHANGE `renew` `renew`           INT(10) UNSIGNED DEFAULT NULL COMMENT '流量重置价格,单位分',
-    CHANGE `period` `period`         INT(10) UNSIGNED DEFAULT NULL COMMENT '流量自动重置周期',
-    CHANGE `invite_num` `invite_num` INT(10) UNSIGNED DEFAULT NULL COMMENT '赠送邀请码数',
-    CHANGE `limit_num` `limit_num`   INT(10) UNSIGNED DEFAULT NULL COMMENT '限购数量,默认为null不限购';
-
-ALTER TABLE `invite`
-    CHANGE `code` `code` CHAR(12) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '邀请码';
-
-ALTER TABLE `order`
-    CHANGE `goods_id` `goods_id`   INT(10) UNSIGNED DEFAULT NULL COMMENT '商品ID',
-    CHANGE `coupon_id` `coupon_id` INT(10) UNSIGNED DEFAULT NULL COMMENT '优惠券ID';
-
-ALTER TABLE `rule_log`
-    CHANGE `reason` `reason` VARCHAR(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '触发原因';
-
-ALTER TABLE `ss_node`
-    CHANGE `v2_host` `v2_host` VARCHAR(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'V2Ray伪装的域名',
-    CHANGE `v2_path` `v2_path` VARCHAR(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'V2Ray的WS/H2路径';
-
-ALTER TABLE `user_credit_log`
-    CHANGE `order_id` `order_id` INT(10) UNSIGNED DEFAULT NULL COMMENT '订单ID';
-
-DROP TABLE IF EXISTS `migrations`;
-
-CREATE TABLE `migrations`
-(
-    `id`        INT(10) UNSIGNED                        NOT NULL AUTO_INCREMENT,
-    `migration` VARCHAR(255) COLLATE utf8mb4_unicode_ci NOT NULL,
-    `batch`     INT(11)                                 NOT NULL,
-    PRIMARY KEY (`id`)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-INSERT INTO `migrations` (`id`, `migration`, `batch`)
-
-VALUES (1, '2020_08_21_145711_create_article_table', 1),
-       (2, '2020_08_21_145711_create_config_table', 1),
-       (3, '2020_08_21_145711_create_country_table', 1),
-       (4, '2020_08_21_145711_create_coupon_log_table', 1),
-       (5, '2020_08_21_145711_create_coupon_table', 1),
-       (6, '2020_08_21_145711_create_email_filter_table', 1),
-       (7, '2020_08_21_145711_create_failed_jobs_table', 1),
-       (8, '2020_08_21_145711_create_goods_table', 1),
-       (9, '2020_08_21_145711_create_invite_table', 1),
-       (10, '2020_08_21_145711_create_jobs_table', 1),
-       (11, '2020_08_21_145711_create_label_table', 1),
-       (12, '2020_08_21_145711_create_level_table', 1),
-       (13, '2020_08_21_145711_create_marketing_table', 1),
-       (14, '2020_08_21_145711_create_node_auth_table', 1),
-       (15, '2020_08_21_145711_create_node_certificate_table', 1),
-       (16, '2020_08_21_145711_create_node_daily_data_flow_table', 1),
-       (17, '2020_08_21_145711_create_node_hourly_data_flow_table', 1),
-       (18, '2020_08_21_145711_create_node_label_table', 1),
-       (19, '2020_08_21_145711_create_node_ping_table', 1),
-       (20, '2020_08_21_145711_create_node_rule_table', 1),
-       (21, '2020_08_21_145711_create_notification_log_table', 1),
-       (22, '2020_08_21_145711_create_order_table', 1),
-       (23, '2020_08_21_145711_create_payment_callback_table', 1),
-       (24, '2020_08_21_145711_create_payment_table', 1),
-       (25, '2020_08_21_145711_create_products_pool_table', 1),
-       (26, '2020_08_21_145711_create_referral_apply_table', 1),
-       (27, '2020_08_21_145711_create_referral_log_table', 1),
-       (28, '2020_08_21_145711_create_rule_group_node_table', 1),
-       (29, '2020_08_21_145711_create_rule_group_table', 1),
-       (30, '2020_08_21_145711_create_rule_log_table', 1),
-       (31, '2020_08_21_145711_create_rule_table', 1),
-       (32, '2020_08_21_145711_create_ss_config_table', 1),
-       (33, '2020_08_21_145711_create_ss_node_info_table', 1),
-       (34, '2020_08_21_145711_create_ss_node_ip_table', 1),
-       (35, '2020_08_21_145711_create_ss_node_online_log_table', 1),
-       (36, '2020_08_21_145711_create_ss_node_table', 1),
-       (37, '2020_08_21_145711_create_ticket_reply_table', 1),
-       (38, '2020_08_21_145711_create_ticket_table', 1),
-       (39, '2020_08_21_145711_create_user_baned_log_table', 1),
-       (40, '2020_08_21_145711_create_user_credit_log_table', 1),
-       (41, '2020_08_21_145711_create_user_daily_data_flow_table', 1),
-       (42, '2020_08_21_145711_create_user_data_modify_log_table', 1),
-       (43, '2020_08_21_145711_create_user_group_table', 1),
-       (44, '2020_08_21_145711_create_user_hourly_data_flow_table', 1),
-       (45, '2020_08_21_145711_create_user_login_log_table', 1),
-       (46, '2020_08_21_145711_create_user_subscribe_log_table', 1),
-       (47, '2020_08_21_145711_create_user_subscribe_table', 1),
-       (48, '2020_08_21_145711_create_user_table', 1),
-       (49, '2020_08_21_145711_create_user_traffic_log_table', 1),
-       (50, '2020_08_21_145711_create_verify_code_table', 1),
-       (51, '2020_08_21_145711_create_verify_table', 1),
-       (52, '2020_08_21_150711_preset_data', 1);

+ 0 - 42
sql/mod/20200930.sql

@@ -1,42 +0,0 @@
--- 2.4.0版本以前 或 数据库以下字段为bit的 需要运行本文件来矫正数据库
-
-alter table `goods`
-    change `is_hot` `is_hot` TINYINT(1) not null default 0 comment '是否热销:0-否、1-是',
-    change `status` `status` TINYINT(1) not null default 1 comment '状态:0-下架、1-上架';
-
-alter table `node_rule`
-    change `is_black` `is_black` TINYINT(1) not null default 1 comment '是否黑名单模式:0-不是、1-是';
-
-alter table `order`
-    change `is_expire` `is_expire` TINYINT(1) not null default 0 comment '是否已过期:0-未过期、1-已过期';
-
-alter table `payment_callback`
-    change `status` `status` TINYINT(1) not null comment '交易状态:0-失败、1-成功';
-
-alter table `products_pool`
-    change `status` `status` TINYINT(1) not null default 1 comment '状态:0-未启用、1-已启用';
-
-alter table `rule_group`
-    change `type` `type` TINYINT(1) not null default 1 comment '模式:1-阻断、0-放行';
-
-alter table `ss_config`
-    change `is_default` `is_default` TINYINT(1) not null default 0 comment '是否默认:0-不是、1-是';
-
-alter table `ss_node`
-    change `is_subscribe` `is_subscribe` TINYINT(1) not null default 1 comment '是否允许用户订阅该节点:0-否、1-是',
-    change `is_ddns` `is_ddns`           TINYINT(1) not null default 0 comment '是否使用DDNS:0-否、1-是',
-    change `is_relay` `is_relay`         TINYINT(1) not null default 0 comment '是否中转节点:0-否、1-是',
-    change `is_udp` `is_udp`             TINYINT(1) not null default 1 comment '是否启用UDP:0-不启用、1-启用',
-    change `compatible` `compatible`     TINYINT(1) not null default 0 comment '兼容SS',
-    change `single` `single`             TINYINT(1) not null default 0 comment '启用单端口功能:0-否、1-是',
-    change `status` `status`             TINYINT(1) not null default 1 comment '状态:0-维护、1-正常',
-    change `v2_tls` `v2_tls`             TINYINT(1) not null default 0 comment 'V2Ray连接TLS:0-未开启、1-开启';
-
-alter table `user`
-    change `is_admin` `is_admin` TINYINT(1) not null default 0 comment '是否管理员:0-否、1-是';
-
-alter table `user_baned_log`
-    change `status` `status` TINYINT(1) not null default 0 comment '状态:0-未处理、1-已处理';
-
-alter table `user_subscribe`
-    change `status` `status` TINYINT(1) not null default 1 comment '状态:0-禁用、1-启用';

+ 1 - 1
update.sh

@@ -3,6 +3,6 @@ git fetch --all
 git reset --hard origin/master
 git pull
 php artisan optimize:clear
-composer install --prefer-dist
+composer install --prefer-dist --optimize-autoloader --no-dev
 php artisan optimize
 chown -R www:www ./