Lunny Xiao
9286f29576
Some checks failed
continuous-integration/drone/push Build is failing
Fix #1876 Reviewed-on: #1878 Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com> Co-committed-by: Lunny Xiao <xiaolunwen@gmail.com>
279 lines
10 KiB
SQL
279 lines
10 KiB
SQL
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
|
|
SET time_zone = "+00:00";
|
|
|
|
-- 基本用户信息表
|
|
CREATE TABLE IF NOT EXISTS `user` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
PRIMARY KEY (`id`),
|
|
KEY `uid` (`id`),
|
|
`user_name` varchar(128) CHARACTER SET utf8mb4 NOT NULL,
|
|
KEY `user_name` (`user_name`),
|
|
`email` varchar(32) NOT NULL,
|
|
KEY `email` (`email`),
|
|
`pass` varchar(256) NOT NULL,
|
|
`passwd` varchar(16) NOT NULL,
|
|
`uuid` TEXT NULL DEFAULT NULL COMMENT 'uuid',
|
|
`t` int(11) NOT NULL DEFAULT '0',
|
|
`u` bigint(20) NOT NULL,
|
|
`d` bigint(20) NOT NULL,
|
|
`plan` varchar(2) CHARACTER SET utf8mb4 NOT NULL DEFAULT 'A',
|
|
`node_group` INT NOT NULL DEFAULT '0',
|
|
`auto_reset_day` INT NOT NULL DEFAULT '0',
|
|
`auto_reset_bandwidth` DECIMAL(12,2) NOT NULL DEFAULT '0.00',
|
|
`transfer_enable` BIGINT(20) NOT NULL,
|
|
`port` int(11) NOT NULL,
|
|
`protocol_param` VARCHAR(128) NULL DEFAULT NULL,
|
|
`obfs_param` VARCHAR(128) NULL DEFAULT NULL,
|
|
`switch` tinyint(4) NOT NULL DEFAULT '1',
|
|
`enable` tinyint(4) NOT NULL DEFAULT '1',
|
|
`type` tinyint(4) NOT NULL DEFAULT '1',
|
|
`last_get_gift_time` int(11) NOT NULL DEFAULT '0',
|
|
`last_check_in_time` int(11) NOT NULL DEFAULT '0',
|
|
`last_rest_pass_time` int(11) NOT NULL DEFAULT '0',
|
|
`reg_date` datetime NOT NULL,
|
|
`invite_num` int(8) NOT NULL,
|
|
`money` decimal(12,2) NOT NULL,
|
|
`ref_by` int(11) NOT NULL DEFAULT '0',
|
|
`expire_time` int(11) NOT NULL DEFAULT '0',
|
|
`is_email_verify` tinyint(4) NOT NULL DEFAULT '0',
|
|
`reg_ip` varchar(128) NOT NULL DEFAULT '127.0.0.1',
|
|
`node_speedlimit` DECIMAL(12,2) NOT NULL DEFAULT '0.00',
|
|
`node_connector` int(11) NOT NULL DEFAULT '0',
|
|
`forbidden_ip` LONGTEXT NULL DEFAULT '',
|
|
`forbidden_port` LONGTEXT NULL DEFAULT '',
|
|
`disconnect_ip` LONGTEXT NULL DEFAULT '',
|
|
`is_hide` INT NOT NULL DEFAULT '0',
|
|
`last_detect_ban_time` datetime DEFAULT '1989-06-04 00:05:00',
|
|
`all_detect_number` int(11) NOT NULL DEFAULT '0',
|
|
`is_multi_user` INT NOT NULL DEFAULT '0',
|
|
`telegram_id` BIGINT NULL,
|
|
`is_admin` int(2) NOT NULL DEFAULT '0',
|
|
`im_type` int(11) DEFAULT '1',
|
|
`im_value` text,
|
|
`last_day_t` bigint(20) NOT NULL DEFAULT '0',
|
|
`mail_notified` int(11) NOT NULL DEFAULT '0',
|
|
`class` int(11) NOT NULL DEFAULT '0',
|
|
`class_expire` datetime NOT NULL DEFAULT '1989-06-04 00:05:00',
|
|
`expire_in` datetime NOT NULL DEFAULT '2099-06-04 00:05:00',
|
|
`theme` text NOT NULL,
|
|
`ga_token` text NOT NULL,
|
|
`ga_enable` int(11) NOT NULL DEFAULT '0',
|
|
`pac` LONGTEXT,
|
|
`remark` text
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
|
|
-- 用户流量信息表
|
|
-- TODO: 重写流量信息提取逻辑
|
|
CREATE TABLE IF NOT EXISTS `user_traffic_log` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
PRIMARY KEY (`id`),
|
|
`user_id` int(11) NOT NULL,
|
|
`u` BIGINT(20) NOT NULL,
|
|
`d` BIGINT(20) NOT NULL,
|
|
`node_id` int(11) NOT NULL,
|
|
`rate` float NOT NULL,
|
|
`traffic` varchar(32) NOT NULL,
|
|
`log_time` int(11) NOT NULL
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
|
|
-- 用户订阅 TOKEN 信息表
|
|
CREATE TABLE IF NOT EXISTS `user_token` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
PRIMARY KEY (`id`),
|
|
`token` varchar(256) NOT NULL,
|
|
`user_id` int(11) NOT NULL,
|
|
`create_time` int(11) NOT NULL,
|
|
`expire_time` int(11) NOT NULL
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
|
|
-- 充值码使用信息表
|
|
CREATE TABLE IF NOT EXISTS `charge_code` (
|
|
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
|
PRIMARY KEY (`id`),
|
|
`code` text NOT NULL,
|
|
`type` int(11) NOT NULL,
|
|
`number` DECIMAL(11,2) NOT NULL,
|
|
`isused` int(11) NOT NULL DEFAULT '0',
|
|
`userid` bigint(20) NOT NULL,
|
|
`usedatetime` datetime NOT NULL
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
|
|
-- 邀请码使用信息表
|
|
CREATE TABLE IF NOT EXISTS `invite_code` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
PRIMARY KEY (`id`),
|
|
`code` varchar(128) NOT NULL,
|
|
KEY `user_id` (`user_id`),
|
|
`user_id` int(11) NOT NULL,
|
|
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
`updated_at` timestamp NOT NULL DEFAULT '2016-06-01 00:00:00'
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
|
|
-- 公告信息表
|
|
CREATE TABLE IF NOT EXISTS `announcement` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
PRIMARY KEY (`id`),
|
|
`date` datetime NOT NULL,
|
|
`content` LONGTEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
|
|
`markdown` LONGTEXT NOT NULL
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
|
|
-- 节点信息表
|
|
CREATE TABLE IF NOT EXISTS `node` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
PRIMARY KEY (`id`),
|
|
`name` varchar(128) NOT NULL,
|
|
`type` int(3) NOT NULL,
|
|
`online_user` int(11) NOT NULL,
|
|
`mu_only` INT NULL DEFAULT '0',
|
|
`online` BOOLEAN NOT NULL DEFAULT TRUE,
|
|
`server` varchar(128) NOT NULL,
|
|
`method` varchar(64) NOT NULL,
|
|
`info` varchar(128) NOT NULL,
|
|
`status` varchar(128) NOT NULL,
|
|
`node_group` INT NOT NULL DEFAULT '0',
|
|
`sort` int(3) NOT NULL,
|
|
`custom_method` tinyint(1) NOT NULL DEFAULT '0',
|
|
`traffic_rate` float NOT NULL DEFAULT '1',
|
|
`node_class` int(11) NOT NULL DEFAULT '0',
|
|
`node_speedlimit` DECIMAL(12,2) NOT NULL DEFAULT '0.00',
|
|
`node_connector` int(11) NOT NULL DEFAULT '0',
|
|
`node_bandwidth` bigint(20) NOT NULL DEFAULT '0',
|
|
`node_bandwidth_limit` bigint(20) NOT NULL DEFAULT '0',
|
|
`bandwidthlimit_resetday` int(11) NOT NULL DEFAULT '0',
|
|
`node_heartbeat` bigint(20) NOT NULL DEFAULT '0',
|
|
`node_ip` text
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
-- TODO: 修改 VPN 节点的结算说明
|
|
|
|
-- 商店数据表
|
|
CREATE TABLE `shop` (
|
|
`id` BIGINT NOT NULL AUTO_INCREMENT,
|
|
`name` TEXT NOT NULL,
|
|
`price` DECIMAL(12,2) NOT NULL,
|
|
`content` TEXT NOT NULL,
|
|
`auto_renew` INT NOT NULL,
|
|
`status` INT NOT NULL DEFAULT '1',
|
|
`auto_reset_bandwidth` INT NOT NULL DEFAULT '0',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE = InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
|
|
-- 优惠券数据表
|
|
CREATE TABLE `coupon` (
|
|
`id` BIGINT NOT NULL AUTO_INCREMENT,
|
|
`code` TEXT NOT NULL,
|
|
`onetime` INT NOT NULL,
|
|
`expire` BIGINT NOT NULL,
|
|
`shop` TEXT NOT NULL,
|
|
`credit` INT NOT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE = InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
|
|
-- 购买记录数据表
|
|
CREATE TABLE `bought` (
|
|
`id` BIGINT NOT NULL AUTO_INCREMENT,
|
|
`userid` BIGINT NOT NULL,
|
|
`shopid` BIGINT NOT NULL,
|
|
`coupon` TEXT NOT NULL,
|
|
`datetime` BIGINT NOT NULL,
|
|
`renew` BIGINT(11) NOT NULL,
|
|
`price` DECIMAL(12,2) NOT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE = InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
|
|
-- 工单数据表
|
|
CREATE TABLE `ticket` (
|
|
`id` BIGINT NOT NULL AUTO_INCREMENT,
|
|
`title` LONGTEXT NOT NULL,
|
|
`status` INT NOT NULL DEFAULT '1',
|
|
`content` LONGTEXT NOT NULL,
|
|
`rootid` BIGINT NOT NULL,`userid` BIGINT NOT NULL,
|
|
`datetime` BIGINT NOT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE = InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
|
|
-- 返利记录数据表
|
|
CREATE TABLE `payback` (
|
|
`id` BIGINT NOT NULL AUTO_INCREMENT,
|
|
`total` DECIMAL(12,2) NOT NULL,
|
|
`userid` BIGINT NOT NULL,
|
|
`ref_by` BIGINT NOT NULL,
|
|
`ref_get` DECIMAL(12,2) NOT NULL,
|
|
`datetime` BIGINT NOT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE = InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
|
|
-- 审计规则数据表
|
|
CREATE TABLE `detect_list` (
|
|
`id` BIGINT NOT NULL AUTO_INCREMENT,
|
|
`name` LONGTEXT NOT NULL,
|
|
`type` INT NOT NULL,
|
|
`text` LONGTEXT NOT NULL,
|
|
`regex` LONGTEXT NOT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE = InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
|
|
-- 审计记录数据表
|
|
CREATE TABLE `detect_log` (
|
|
`id` BIGINT NOT NULL AUTO_INCREMENT,
|
|
`user_id` BIGINT NOT NULL,
|
|
`node_id` INT NOT NULL,
|
|
`list_id` BIGINT NOT NULL,
|
|
`datetime` BIGINT NOT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE = InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
|
|
-- 中转规则数据表
|
|
CREATE TABLE IF NOT EXISTS `relay` (
|
|
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
|
PRIMARY KEY (`id`),
|
|
`user_id` bigint(20) NOT NULL,
|
|
`source_node_id` bigint(20) NOT NULL,
|
|
`dist_node_id` bigint(20) NOT NULL,
|
|
`dist_ip` text NOT NULL,
|
|
`port` int(11) NOT NULL,
|
|
`priority` int(11) NOT NULL
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
|
|
-- 用户订阅日志
|
|
CREATE TABLE IF NOT EXISTS `user_subscribe_log` (
|
|
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
|
|
`user_name` varchar(128) NOT NULL COMMENT '用户名',
|
|
`user_id` int(11) NOT NULL COMMENT '用户 ID',
|
|
`email` varchar(32) NOT NULL COMMENT '用户邮箱',
|
|
`subscribe_type` varchar(20) NOT NULL COMMENT '获取的订阅类型',
|
|
`request_ip` varchar(128) NOT NULL COMMENT '请求 IP',
|
|
`request_time` datetime NOT NULL COMMENT '请求时间',
|
|
`request_user_agent` text COMMENT '请求 UA 信息',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户订阅日志';
|
|
|
|
-- 审计封禁日志
|
|
CREATE TABLE IF NOT EXISTS `detect_ban_log` (
|
|
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
|
|
`user_name` varchar(128) NOT NULL COMMENT '用户名',
|
|
`user_id` int(11) NOT NULL COMMENT '用户 ID',
|
|
`email` varchar(32) NOT NULL COMMENT '用户邮箱',
|
|
`detect_number` int(11) NOT NULL COMMENT '本次违规次数',
|
|
`ban_time` int(11) NOT NULL COMMENT '本次封禁时长',
|
|
`start_time` bigint(20) NOT NULL COMMENT '统计开始时间',
|
|
`end_time` bigint(20) NOT NULL COMMENT '统计结束时间',
|
|
`all_detect_number` int(11) NOT NULL COMMENT '累计违规次数',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='审计封禁日志';
|
|
|
|
-- 管理员操作记录
|
|
CREATE TABLE IF NOT EXISTS `gconfig` (
|
|
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
|
|
`key` varchar(128) NOT NULL COMMENT '配置键名',
|
|
`type` varchar(32) NOT NULL COMMENT '值类型',
|
|
`value` text NOT NULL COMMENT '配置值',
|
|
`oldvalue` text NOT NULL COMMENT '之前的配置值',
|
|
`name` varchar(128) NOT NULL COMMENT '配置名称',
|
|
`comment` text NOT NULL COMMENT '配置描述',
|
|
`operator_id` int(11) NOT NULL COMMENT '操作员 ID',
|
|
`operator_name` varchar(128) NOT NULL COMMENT '操作员名称',
|
|
`operator_email` varchar(32) NOT NULL COMMENT '操作员邮箱',
|
|
`last_update` bigint(20) NOT NULL COMMENT '修改时间',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='网站配置'; |