- GOST 下载 URL 修复:补全版本号 (gost_3.2.6_linux_amd64.tar.gz) - CN 中转机服务名改为 gost-sub2api-relay,避免与现有 gost-relay 冲突 - CN 中转机监听协议改为 http(兼容 node-tls-proxy 的 HTTP CONNECT) - 美国落地机服务名改为 gost-sub2api-exit - sub2api 容器透传 HTTPS_PROXY/HTTP_PROXY 环境变量(解决 OAuth 超时) - ops_cleanup 日志字段名避免触发 ERROR 误判 - 添加密码重置脚本和 SOCKS5 服务文件
52 lines
1.7 KiB
Bash
52 lines
1.7 KiB
Bash
#!/usr/bin/env bash
|
|
# 重置用户密码脚本
|
|
# 用法: bash reset-password.sh
|
|
set -euo pipefail
|
|
|
|
EMAIL="zfc9393@163.com"
|
|
PASSWORD="zfc123.."
|
|
DB_USER="sub2api"
|
|
DB_NAME="sub2api"
|
|
|
|
# 自动查找 docker-compose 文件所在目录
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
COMPOSE_DIR="$SCRIPT_DIR/deploy"
|
|
if [ ! -f "$COMPOSE_DIR/docker-compose.yml" ]; then
|
|
COMPOSE_DIR="$SCRIPT_DIR"
|
|
fi
|
|
|
|
cd "$COMPOSE_DIR"
|
|
echo "=== 重置密码: $EMAIL ==="
|
|
|
|
# 1. 确保 pgcrypto 扩展存在
|
|
docker compose exec -T postgres psql -U "$DB_USER" -d "$DB_NAME" -c \
|
|
"CREATE EXTENSION IF NOT EXISTS pgcrypto;" 2>/dev/null
|
|
|
|
# 2. 检查用户是否存在
|
|
EXISTS=$(docker compose exec -T postgres psql -U "$DB_USER" -d "$DB_NAME" -t -A -c \
|
|
"SELECT COUNT(1) FROM users WHERE email = '$EMAIL';")
|
|
|
|
if [ "$EXISTS" -gt 0 ]; then
|
|
# 用户存在 → 更新密码
|
|
docker compose exec -T postgres psql -U "$DB_USER" -d "$DB_NAME" -c \
|
|
"UPDATE users SET password_hash = crypt('$PASSWORD', gen_salt('bf', 10)), updated_at = NOW() WHERE email = '$EMAIL';"
|
|
echo "✅ 密码已重置"
|
|
else
|
|
# 用户不存在 → 创建管理员
|
|
docker compose exec -T postgres psql -U "$DB_USER" -d "$DB_NAME" -c \
|
|
"INSERT INTO users (email, password_hash, role, balance, concurrency, status, created_at, updated_at)
|
|
VALUES ('$EMAIL', crypt('$PASSWORD', gen_salt('bf', 10)), 'admin', 0, 5, 'active', NOW(), NOW());"
|
|
echo "✅ 管理员用户已创建"
|
|
fi
|
|
|
|
# 3. 验证
|
|
echo ""
|
|
echo "=== 用户信息 ==="
|
|
docker compose exec -T postgres psql -U "$DB_USER" -d "$DB_NAME" -c \
|
|
"SELECT id, email, role, status FROM users WHERE email = '$EMAIL';"
|
|
|
|
echo ""
|
|
echo "登录信息:"
|
|
echo " 邮箱: $EMAIL"
|
|
echo " 密码: $PASSWORD"
|