From b883cac76754db2a36cc977daa5ad80ab3246632 Mon Sep 17 00:00:00 2001 From: = <=> Date: Thu, 7 Dec 2023 15:33:33 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0sql=E4=BB=A5=E5=8F=8A?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6=E8=BF=98=E5=8E=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- neutrino-proxy-admin/config/dev.env.js | 2 +- neutrino-proxy-admin/config/prod.env.js | 2 +- .../src/main/resources/app.yml | 2 +- .../server/dal/entity/SecurityRuleDO.java | 2 +- .../src/main/resources/app.yml | 10 +++--- .../main/resources/sql/h2/init-structure.sql | 32 +++++++++++++++++++ .../sql/h2/update/UPDATE-20231207.SQL | 30 +++++++++++++++++ .../resources/sql/mariadb/init-structure.sql | 31 ++++++++++++++++++ .../resources/sql/mysql/init-structure.sql | 4 +-- .../sql/mysql/update/UPDATE-20231207.SQL | 32 +++++++++++++++++++ 10 files changed, 135 insertions(+), 12 deletions(-) create mode 100644 neutrino-proxy-server/src/main/resources/sql/h2/update/UPDATE-20231207.SQL create mode 100644 neutrino-proxy-server/src/main/resources/sql/mysql/update/UPDATE-20231207.SQL diff --git a/neutrino-proxy-admin/config/dev.env.js b/neutrino-proxy-admin/config/dev.env.js index 6bb64a3f..03fd65b0 100644 --- a/neutrino-proxy-admin/config/dev.env.js +++ b/neutrino-proxy-admin/config/dev.env.js @@ -1,7 +1,7 @@ module.exports = { NODE_ENV: '"development"', ENV_CONFIG: '"dev"', - BASE_API: '"http://localhost:8888/neutrino-proxy-server"', + BASE_API: '"https://neutrino-proxy.asgc.fun/neutrino-proxy-server"', USER_NAME: '"visitor"', USER_PWD: '"123456"' } diff --git a/neutrino-proxy-admin/config/prod.env.js b/neutrino-proxy-admin/config/prod.env.js index c388e184..0c43ea73 100644 --- a/neutrino-proxy-admin/config/prod.env.js +++ b/neutrino-proxy-admin/config/prod.env.js @@ -1,5 +1,5 @@ module.exports = { NODE_ENV: '"production"', ENV_CONFIG: '"prod"', - BASE_API: '""' + BASE_API: '"https://api-prod"' } diff --git a/neutrino-proxy-client/src/main/resources/app.yml b/neutrino-proxy-client/src/main/resources/app.yml index 7ed0a997..c513862e 100644 --- a/neutrino-proxy-client/src/main/resources/app.yml +++ b/neutrino-proxy-client/src/main/resources/app.yml @@ -44,7 +44,7 @@ neutrino: # 是否启用SSL(注意:该配置必须和server-port对应上) ssl-enable: ${SSL_ENABLE:true} # 客户端连接唯一凭证 - license-key: ${LICENSE_KEY:b0a907332b474b25897c4dcb31fc7eb6} + license-key: ${LICENSE_KEY:} # 客户端唯一身份标识(可忽略,若不设置首次启动会自动生成) client-id: ${CLIENT_ID:} # 是否开启隧道传输报文日志(日志级别为debug时开启才有效) diff --git a/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/dal/entity/SecurityRuleDO.java b/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/dal/entity/SecurityRuleDO.java index 9a3240d4..9a9ff45a 100644 --- a/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/dal/entity/SecurityRuleDO.java +++ b/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/dal/entity/SecurityRuleDO.java @@ -135,7 +135,7 @@ public class SecurityRuleDO { } } - if (rule.equalsIgnoreCase("ALL") || rule.equals("0.0.0.0") || rule.equals("0..0.0.0/0")) { + if (rule.equalsIgnoreCase("ALL") || rule.equals("0.0.0.0") || rule.equals("0.0.0.0/0")) { return passType == SecurityRulePassTypeEnum.ALLOW ? SecurityRulePassTypeEnum.ALLOW : SecurityRulePassTypeEnum.DENY; } diff --git a/neutrino-proxy-server/src/main/resources/app.yml b/neutrino-proxy-server/src/main/resources/app.yml index cb798520..665cfc83 100644 --- a/neutrino-proxy-server/src/main/resources/app.yml +++ b/neutrino-proxy-server/src/main/resources/app.yml @@ -74,15 +74,13 @@ neutrino: data: db: # 数据库类型,目前支持h2、mysql、mariadb - # type: ${DB_TYPE:h2} - type: ${DB_TYPE:mysql} + type: ${DB_TYPE:h2} # 数据库连接URL - # url: ${DB_URL:jdbc:h2:file:./data/db;MODE=MySQL;AUTO_SERVER=TRUE} - url: ${DB_URL:jdbc:mysql://okfly.vip:37889/neutrino-proxy?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true} + url: ${DB_URL:jdbc:h2:file:./data/db;MODE=MySQL;AUTO_SERVER=TRUE} # 数据库用户名 - username: ${DB_USER:root} + username: ${DB_USER:} # 数据库密码 - password: ${DB_PASSWORD:Root1234@} + password: ${DB_PASSWORD:} #添加MIME印射(如果有需要?) #是否启用静态文件服务。(可不配,默认为启用) diff --git a/neutrino-proxy-server/src/main/resources/sql/h2/init-structure.sql b/neutrino-proxy-server/src/main/resources/sql/h2/init-structure.sql index 389a8799..d75fadce 100644 --- a/neutrino-proxy-server/src/main/resources/sql/h2/init-structure.sql +++ b/neutrino-proxy-server/src/main/resources/sql/h2/init-structure.sql @@ -45,6 +45,37 @@ CREATE TABLE IF NOT EXISTS `port_group` ( `create_time` TIMESTAMP NOT NULL, `update_time` TIMESTAMP NOT NULL ); + +#安全组 +CREATE TABLE IF NOT EXISTS `security_group` ( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `name` VARCHAR(20) NOT NULL, + `description` VARCHAR(255), + `user_id` INTEGER NOT NULL, + `enable` VARCHAR(20) NOT NULL, + `default_pass_type` VARCHAR(20) NOT NULL, + `create_time` TIMESTAMP NOT NULL, + `update_time` TIMESTAMP NOT NULL, + PRIMARY KEY (`id`) +); + +#安全组规则 +CREATE TABLE IF NOT EXISTS `security_rule` ( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `group_id` INTEGER NOT NULL, + `name` VARCHAR(20) NOT NULL, + `description` VARCHAR(255) NOT NULL, + `rule` text NOT NULL, + `pass_type` VARCHAR(20) NOT NULL, + `priority` INTEGER NOT NULL, + `user_id` INTEGER NOT NULL, + `enable` VARCHAR(20) NOT NULL, + `create_time` TIMESTAMP NOT NULL, + `update_time` TIMESTAMP NOT NULL, + PRIMARY KEY (`id`) +); +CREATE INDEX IF NOT EXISTS I_security_rule_group_id ON security_rule(group_id); + #############################代理配置相关表############################# #license表 CREATE TABLE IF NOT EXISTS `license` ( @@ -73,6 +104,7 @@ CREATE TABLE IF NOT EXISTS `port_mapping` ( `proxy_responses` INTEGER(20) NOT NULL DEFAULT 0, `proxy_timeout_ms` INTEGER(20) NOT NULL DEFAULT 0, `enable` INTEGER(2) NOT NULL, + `security_group_id` INTEGER(20) NOT NULL DEFAULT 0, `create_time` TIMESTAMP NOT NULL, `update_time` TIMESTAMP NOT NULL ); diff --git a/neutrino-proxy-server/src/main/resources/sql/h2/update/UPDATE-20231207.SQL b/neutrino-proxy-server/src/main/resources/sql/h2/update/UPDATE-20231207.SQL new file mode 100644 index 00000000..9b0d9f5e --- /dev/null +++ b/neutrino-proxy-server/src/main/resources/sql/h2/update/UPDATE-20231207.SQL @@ -0,0 +1,30 @@ +#安全组 +CREATE TABLE IF NOT EXISTS `security_group` ( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `name` VARCHAR(20) NOT NULL, + `description` VARCHAR(255), + `user_id` INTEGER NOT NULL, + `enable` VARCHAR(20) NOT NULL, + `default_pass_type` VARCHAR(20) NOT NULL, + `create_time` TIMESTAMP NOT NULL, + `update_time` TIMESTAMP NOT NULL, + PRIMARY KEY (`id`) +); + +#安全组规则 +CREATE TABLE IF NOT EXISTS `security_rule` ( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `group_id` INTEGER NOT NULL, + `name` VARCHAR(20) NOT NULL, + `description` VARCHAR(255) NOT NULL, + `rule` text NOT NULL, + `pass_type` VARCHAR(20) NOT NULL, + `priority` INTEGER NOT NULL, + `user_id` INTEGER NOT NULL, + `enable` VARCHAR(20) NOT NULL, + `create_time` TIMESTAMP NOT NULL, + `update_time` TIMESTAMP NOT NULL, + PRIMARY KEY (`id`) +); +CREATE INDEX IF NOT EXISTS I_security_rule_group_id ON security_rule(group_id); +ALTER TABLE `port_mapping` ADD COLUMN IF NOT EXISTS `security_group_id` INTEGER DEFAULT 0; diff --git a/neutrino-proxy-server/src/main/resources/sql/mariadb/init-structure.sql b/neutrino-proxy-server/src/main/resources/sql/mariadb/init-structure.sql index c6c0037b..fa7bbba9 100644 --- a/neutrino-proxy-server/src/main/resources/sql/mariadb/init-structure.sql +++ b/neutrino-proxy-server/src/main/resources/sql/mariadb/init-structure.sql @@ -50,6 +50,36 @@ CREATE TABLE IF NOT EXISTS `port_group` ( PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4; +#安全组 +CREATE TABLE IF NOT EXISTS `security_group` ( + `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `name` varchar(20) NOT NULL COMMENT '安全组名称', + `description` varchar(255) COMMENT '安全组描述', + `user_id` int NOT NULL COMMENT '用户ID', + `enable` varchar(20) NOT NULL COMMENT '启用状态', + `default_pass_type` varchar(20) NOT NULL COMMENT '默认放行类型', + `create_time` datetime(3) NOT NULL COMMENT '创建时间', + `update_time` datetime(3) NOT NULL COMMENT '更新时间', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + +#安全组规则 +CREATE TABLE IF NOT EXISTS `security_rule` ( + `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `group_id` int NOT NULL COMMENT '关联安全组', + `name` varchar(20) NOT NULL COMMENT '规则名称', + `description` varchar(255) NOT NULL COMMENT '规则描述', + `rule` text NOT NULL COMMENT '规则内容', + `pass_type` varchar(20) NOT NULL COMMENT '放行类型', + `priority` int(1) NOT NULL COMMENT '优先级', + `user_id` int NOT NULL COMMENT '用户ID', + `enable` varchar(20) NOT NULL COMMENT '启用状态', + `create_time` datetime(3) NOT NULL COMMENT '创建时间', + `update_time` datetime(3) NOT NULL COMMENT '更新时间', + PRIMARY KEY (`id`), + KEY `I_security_rule_group_id_priority` (`group_id`, `priority`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + #############################代理配置相关表############################# #license表 CREATE TABLE IF NOT EXISTS `license` ( @@ -79,6 +109,7 @@ CREATE TABLE IF NOT EXISTS `port_mapping` ( `proxy_responses` int NOT NULL DEFAULT 0 COMMENT '代理响应数据包数量', `proxy_timeout_ms` int NOT NULL DEFAULT 0 COMMENT '代理超时毫秒数', `enable` int NOT NULL COMMENT '是否启用(1、启用 2、禁用)', + `security_group_id` int DEFAULT 0 COMMENT '安全组Id', `create_time` datetime(3) NOT NULL COMMENT '创建时间', `update_time` datetime(3) NOT NULL COMMENT '更新时间', PRIMARY KEY (`id`), diff --git a/neutrino-proxy-server/src/main/resources/sql/mysql/init-structure.sql b/neutrino-proxy-server/src/main/resources/sql/mysql/init-structure.sql index 1234ddc0..7dd000c0 100644 --- a/neutrino-proxy-server/src/main/resources/sql/mysql/init-structure.sql +++ b/neutrino-proxy-server/src/main/resources/sql/mysql/init-structure.sql @@ -77,7 +77,7 @@ CREATE TABLE IF NOT EXISTS `security_rule` ( `create_time` datetime(3) NOT NULL COMMENT '创建时间', `update_time` datetime(3) NOT NULL COMMENT '更新时间', PRIMARY KEY (`id`), - KEY `I_group_id_priority` (`group_id`, `priority`) USING BTREE + KEY `I_security_rule_group_id_priority` (`group_id`, `priority`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; #############################代理配置相关表############################# @@ -109,7 +109,7 @@ CREATE TABLE IF NOT EXISTS `port_mapping` ( `proxy_responses` int NOT NULL DEFAULT 0 COMMENT '代理响应数据包数量', `proxy_timeout_ms` int NOT NULL DEFAULT 0 COMMENT '代理超时毫秒数', `enable` int NOT NULL COMMENT '是否启用(1、启用 2、禁用)', - `security_group_id` int DEFAULT NULL COMMENT '安全组Id', + `security_group_id` int DEFAULT 0 COMMENT '安全组Id', `create_time` datetime(3) NOT NULL COMMENT '创建时间', `update_time` datetime(3) NOT NULL COMMENT '更新时间', PRIMARY KEY (`id`), diff --git a/neutrino-proxy-server/src/main/resources/sql/mysql/update/UPDATE-20231207.SQL b/neutrino-proxy-server/src/main/resources/sql/mysql/update/UPDATE-20231207.SQL new file mode 100644 index 00000000..056de960 --- /dev/null +++ b/neutrino-proxy-server/src/main/resources/sql/mysql/update/UPDATE-20231207.SQL @@ -0,0 +1,32 @@ +#安全组 +CREATE TABLE IF NOT EXISTS `security_group` ( + `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `name` varchar(20) NOT NULL COMMENT '安全组名称', + `description` varchar(255) COMMENT '安全组描述', + `user_id` int NOT NULL COMMENT '用户ID', + `enable` varchar(20) NOT NULL COMMENT '启用状态', + `default_pass_type` varchar(20) NOT NULL COMMENT '默认放行类型', + `create_time` datetime(3) NOT NULL COMMENT '创建时间', + `update_time` datetime(3) NOT NULL COMMENT '更新时间', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + +#安全组规则 +CREATE TABLE IF NOT EXISTS `security_rule` ( + `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `group_id` int NOT NULL COMMENT '关联安全组', + `name` varchar(20) NOT NULL COMMENT '规则名称', + `description` varchar(255) NOT NULL COMMENT '规则描述', + `rule` text NOT NULL COMMENT '规则内容', + `pass_type` varchar(20) NOT NULL COMMENT '放行类型', + `priority` int(1) NOT NULL COMMENT '优先级', + `user_id` int NOT NULL COMMENT '用户ID', + `enable` varchar(20) NOT NULL COMMENT '启用状态', + `create_time` datetime(3) NOT NULL COMMENT '创建时间', + `update_time` datetime(3) NOT NULL COMMENT '更新时间', + PRIMARY KEY (`id`), + KEY `I_security_rule_group_id_priority` (`group_id`, `priority`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + +# port_mapping表增加字段 +ALTER TABLE `port_mapping` ADD COLUMN IF NOT EXISTS `security_group_id` int DEFAULT 0 COMMENT '安全组Id';