diff --git a/backend/server.js b/backend/server.js index eaacc3c..ebbde25 100644 --- a/backend/server.js +++ b/backend/server.js @@ -7,7 +7,7 @@ * PORT 监听端口(默认 3000) * DATA_DIR SQLite 数据目录(默认 backend/data) * VCM_USERNAME 面板登录账号(默认 admin) - * VCM_PASSWORD 面板登录密码(默认 admin123,Docker 部署务必通过 compose 覆盖) + * VCM_PASSWORD 面板登录密码(默认 666666,Docker 部署务必通过 compose 覆盖) * UV_THREADPOOL_SIZE libuv IO 线程池大小(默认 4 → 8:扫描/stat/readFile 并发更高,NAS 四核安全) */ // 必须在 libuv 线程池首次使用前设置:扫描大量目录/文件时默认 4 线程是主要瓶颈 @@ -198,7 +198,7 @@ function buildPackages(keyword = '') { // —— 登录鉴权:内置账号(Docker 部署通过 VCM_USERNAME/VCM_PASSWORD 环境变量覆盖) —— const AUTH_USERNAME = process.env.VCM_USERNAME || 'admin' -const AUTH_PASSWORD = process.env.VCM_PASSWORD || 'admin123' +const AUTH_PASSWORD = process.env.VCM_PASSWORD || '666666' const SESSION_TTL_MS = 12 * 3600_000 // 会话有效期 12 小时,防长期 token 泄漏 const LOGIN_LOCK = { failures: 3, windowMs: 5 * 60_000, lockMs: 15 * 60_000 } // 3 次失败锁 15 分钟 const sessions = new Map() // token -> { name, at, exp };内存态,进程重启后需重新登录 @@ -596,7 +596,7 @@ app.listen(PORT, () => { const mode = isDemoMode() ? 'demo' : 'storage' if (!process.env.VCM_PASSWORD) { console.warn( - '[auth] ⚠ 未设置 VCM_PASSWORD 环境变量,正在使用默认口令 admin123。' + + '[auth] ⚠ 未设置 VCM_PASSWORD 环境变量,正在使用默认口令 666666。' + '生产部署请务必通过 docker-compose 的环境变量覆盖,否则面板可被任意登录!', ) } diff --git a/docker-compose.yml b/docker-compose.yml index 254bf8e..9562c3e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -13,7 +13,7 @@ services: - PORT=3000 - TZ=Asia/Shanghai # 每日 00:00 自动扫描按北京时间执行 - VCM_USERNAME=${VCM_USERNAME:-admin} # 面板登录账号(可在宿主机 .env 覆盖) - - VCM_PASSWORD=${VCM_PASSWORD:-admin123} # 面板登录密码(务必改为强密码) + - VCM_PASSWORD=${VCM_PASSWORD:-666666} # 面板登录密码(默认 666666,可在宿主机 .env 覆盖) - UV_THREADPOOL_SIZE=8 # libuv IO 线程池(默认4→8):扫描/stat 并发更高,NAS 四核安全 volumes: - "/volume2/docker/verdaccio_verdaccio-1/verdaccio_storage:/verdaccio/storage" # Verdaccio 缓存目录(读写,清理需要) diff --git a/frontend/src/api/index.js b/frontend/src/api/index.js index 40233e1..62ed597 100644 --- a/frontend/src/api/index.js +++ b/frontend/src/api/index.js @@ -87,7 +87,7 @@ const api = { async login(username, password, remember = true) { if (USE_MOCK) { await delay(400) - if (username !== 'admin' || password !== 'admin123') return { ok: false, message: '用户名或密码错误' } + if (username !== 'admin' || password !== '666666') return { ok: false, message: '用户名或密码错误' } const token = `mock-${Date.now()}` if (remember) storage.set(TOKEN_KEY, token) else storage.setSession(TOKEN_KEY, token) diff --git a/frontend/src/views/LoginView.vue b/frontend/src/views/LoginView.vue index 342229e..54de8c0 100644 --- a/frontend/src/views/LoginView.vue +++ b/frontend/src/views/LoginView.vue @@ -8,8 +8,8 @@ const router = useRouter() const route = useRoute() const { theme, toggle } = useTheme() -const username = ref('') -const password = ref('') +const username = ref('admin') +const password = ref('666666') const remember = ref(true) const loading = ref(false) @@ -60,7 +60,7 @@ async function login() { -