feat:自动更换ip+流量监控
This commit is contained in:
91
init_tables.sql
Normal file
91
init_tables.sql
Normal file
@@ -0,0 +1,91 @@
|
||||
-- ProxyAuto Pro MySQL 表结构初始化
|
||||
-- 注意: 需要先确保数据库 proxyauto 已存在,并且有权限操作
|
||||
|
||||
-- 使用数据库
|
||||
USE proxyauto;
|
||||
|
||||
-- 用户表
|
||||
CREATE TABLE IF NOT EXISTS users (
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
username VARCHAR(64) NOT NULL UNIQUE,
|
||||
password_hash VARCHAR(128) NOT NULL,
|
||||
is_admin BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
created_at DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
|
||||
updated_at DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
-- 代理机器表
|
||||
CREATE TABLE IF NOT EXISTS proxy_machines (
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
name VARCHAR(128) NOT NULL UNIQUE,
|
||||
aws_service VARCHAR(32) NOT NULL DEFAULT 'ec2',
|
||||
aws_region VARCHAR(64) NOT NULL DEFAULT 'us-east-1',
|
||||
aws_instance_id VARCHAR(64) NOT NULL,
|
||||
note VARCHAR(255) NULL,
|
||||
enabled BOOLEAN NOT NULL DEFAULT TRUE,
|
||||
|
||||
-- 域名配置
|
||||
cf_zone_id VARCHAR(64) NULL,
|
||||
cf_record_name VARCHAR(255) NULL,
|
||||
cf_record_id VARCHAR(64) NULL,
|
||||
cf_proxied BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
|
||||
-- 更换时间配置
|
||||
change_interval_seconds INT NOT NULL DEFAULT 3600,
|
||||
auto_enabled BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
|
||||
-- 当前状态
|
||||
current_ip VARCHAR(64) NULL,
|
||||
last_run_at DATETIME(6) NULL,
|
||||
last_success BOOLEAN NULL,
|
||||
last_message TEXT NULL,
|
||||
|
||||
-- 流量预警配置
|
||||
traffic_alert_enabled BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
traffic_alert_limit_gb FLOAT NULL,
|
||||
traffic_alert_triggered BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
traffic_last_check_at DATETIME(6) NULL,
|
||||
|
||||
created_at DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
|
||||
updated_at DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
-- 全局配置表
|
||||
CREATE TABLE IF NOT EXISTS configs (
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
|
||||
-- AWS 凭证
|
||||
aws_access_key VARCHAR(255) NULL,
|
||||
aws_secret_key VARCHAR(255) NULL,
|
||||
|
||||
-- Cloudflare 凭证
|
||||
cloudflare_auth_type VARCHAR(32) NOT NULL DEFAULT 'api_token',
|
||||
cf_api_token VARCHAR(255) NULL,
|
||||
cf_email VARCHAR(255) NULL,
|
||||
cf_api_key VARCHAR(255) NULL,
|
||||
|
||||
-- 全局设置
|
||||
release_old_eip BOOLEAN NOT NULL DEFAULT TRUE,
|
||||
|
||||
-- 邮件通知配置
|
||||
smtp_host VARCHAR(255) NULL,
|
||||
smtp_port INT NULL DEFAULT 587,
|
||||
smtp_user VARCHAR(255) NULL,
|
||||
smtp_password VARCHAR(255) NULL,
|
||||
smtp_use_tls BOOLEAN NOT NULL DEFAULT TRUE,
|
||||
alert_email VARCHAR(255) NULL,
|
||||
|
||||
created_at DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
|
||||
updated_at DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
-- 插入默认管理员用户 (密码: 80012029Lz@)
|
||||
INSERT INTO users (username, password_hash, is_admin) VALUES
|
||||
('admin', 'cd9989255736652cd0161653ab79fed5f7cc3dc9308b61045106e78e073202ae', TRUE)
|
||||
ON DUPLICATE KEY UPDATE username=username;
|
||||
|
||||
-- 插入默认配置
|
||||
INSERT INTO configs (cloudflare_auth_type, release_old_eip) VALUES ('api_token', TRUE)
|
||||
ON DUPLICATE KEY UPDATE id=id;
|
||||
|
||||
SELECT 'ProxyAuto 表结构初始化完成!' AS message;
|
||||
Reference in New Issue
Block a user