Files
Havline/migrations/006_proxy_multi_host.sql
T
mrlee 278f8267b7 chore: 初始提交 Fonu 1.0.2
- 公网反代:Nginx 状态卡片(版本 / 运行状态 / 配置校验 / 端口监听)
- 部署设置第一、二梯队(HTTPS 开关、安全头、限流、连接数、仅中国大陆 IP)
- 隧道检测兼容 frps v0.68 / v0.71(V2 与旧版端点)
- 恢复被清空的 internal/frp/store.go、internal/api/ddns_handler.go、web/src/views/DdnsView.vue
2026-09-23 09:40:59 +08:00

51 lines
1.8 KiB
SQL

CREATE TEMP TABLE proxy_domain_backup AS
SELECT id, domain FROM proxy_rules;
CREATE TABLE proxy_rules_new (
id INTEGER PRIMARY KEY AUTOINCREMENT,
upstream TEXT NOT NULL,
listen_port INTEGER NOT NULL DEFAULT 80 CHECK (listen_port > 0 AND listen_port <= 65535),
listen_ipv4 INTEGER NOT NULL DEFAULT 1 CHECK (listen_ipv4 IN (0, 1)),
listen_ipv6 INTEGER NOT NULL DEFAULT 0 CHECK (listen_ipv6 IN (0, 1)),
https_enabled INTEGER NOT NULL DEFAULT 1 CHECK (https_enabled IN (0, 1)),
http_redirect INTEGER NOT NULL DEFAULT 1 CHECK (http_redirect IN (0, 1)),
enabled INTEGER NOT NULL DEFAULT 1 CHECK (enabled IN (0, 1)),
created_at TEXT NOT NULL DEFAULT (datetime('now')),
updated_at TEXT NOT NULL DEFAULT (datetime('now'))
);
INSERT INTO proxy_rules_new (id, upstream, listen_port, listen_ipv4, listen_ipv6, https_enabled, http_redirect, enabled, created_at, updated_at)
SELECT
id,
upstream,
CASE WHEN https_enabled = 1 THEN 443 ELSE 80 END,
1,
0,
https_enabled,
http_redirect,
enabled,
created_at,
updated_at
FROM proxy_rules;
DROP TABLE proxy_rules;
ALTER TABLE proxy_rules_new RENAME TO proxy_rules;
CREATE TABLE IF NOT EXISTS proxy_hosts (
id INTEGER PRIMARY KEY AUTOINCREMENT,
rule_id INTEGER NOT NULL REFERENCES proxy_rules(id) ON DELETE CASCADE,
hostname TEXT NOT NULL COLLATE NOCASE,
listen_port INTEGER CHECK (listen_port IS NULL OR (listen_port > 0 AND listen_port <= 65535)),
created_at TEXT NOT NULL DEFAULT (datetime('now')),
UNIQUE(hostname)
);
CREATE INDEX IF NOT EXISTS idx_proxy_hosts_rule_id ON proxy_hosts(rule_id);
INSERT INTO proxy_hosts (rule_id, hostname, listen_port)
SELECT id, domain, NULL
FROM proxy_domain_backup
WHERE domain IS NOT NULL AND TRIM(domain) != '';
DROP TABLE proxy_domain_backup;