diff --git a/VERSION b/VERSION index 2080591..0b9c019 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.3.11 +0.3.12 diff --git a/source_clean/VERSION b/source_clean/VERSION index 2080591..0b9c019 100644 --- a/source_clean/VERSION +++ b/source_clean/VERSION @@ -1 +1 @@ -0.3.11 +0.3.12 diff --git a/source_clean/src/cloud/drivers/baidu.driver.ts b/source_clean/src/cloud/drivers/baidu.driver.ts index bba0333..5595c61 100644 --- a/source_clean/src/cloud/drivers/baidu.driver.ts +++ b/source_clean/src/cloud/drivers/baidu.driver.ts @@ -37,7 +37,8 @@ interface ShareDetail { // Constants // ═══════════════════════════════════ const API_HOST = "https://pan.baidu.com"; -const CHROMIUM_PATH = process.env.CHROMIUM_PATH || "/usr/bin/chromium-browser"; +import config from '../../config'; +const CHROMIUM_PATH = config.chromiumPath; const APP_ID_WEB = "38824127"; // Web app ID from BaiduPanFilesTransfers // HTTP headers matching BaiduPanFilesTransfers diff --git a/source_clean/src/cloud/qr-login.service.ts b/source_clean/src/cloud/qr-login.service.ts index 742a34a..7b07f41 100755 --- a/source_clean/src/cloud/qr-login.service.ts +++ b/source_clean/src/cloud/qr-login.service.ts @@ -19,7 +19,8 @@ const SESSIONS = new Map(); const SESSION_TTL = 5 * 60 * 1000; // 5 minutes const COOKIE_CHECK_INTERVAL = 1500; // 1.5s between cookie checks -const CHROMIUM_PATH = process.env.CHROMIUM_PATH || '/usr/bin/chromium-browser'; +import config from '../config'; +const CHROMIUM_PATH = config.chromiumPath; // Clean up old sessions periodically setInterval(() => { diff --git a/source_clean/src/config/index.ts b/source_clean/src/config/index.ts index 224a9b8..b044b94 100755 --- a/source_clean/src/config/index.ts +++ b/source_clean/src/config/index.ts @@ -14,6 +14,7 @@ export interface Config { cacheTtlValid: number; cacheTtlInvalid: number; }; + chromiumPath: string; dbPath: string; } @@ -33,6 +34,7 @@ const config: Config = { cacheTtlValid: parseInt(process.env.CACHE_TTL_VALID || '14400', 10), // 4小时 cacheTtlInvalid: parseInt(process.env.CACHE_TTL_INVALID || '3600', 10), // 1小时 }, + chromiumPath: process.env.CHROMIUM_PATH || "/usr/bin/chromium-browser", dbPath: process.env.DB_PATH || './data/cloudsearch.db', }; diff --git a/source_clean/src/config/startup-validator.ts b/source_clean/src/config/startup-validator.ts index ac41f41..606f336 100644 --- a/source_clean/src/config/startup-validator.ts +++ b/source_clean/src/config/startup-validator.ts @@ -51,16 +51,6 @@ export function validateConfig(): ValidationError[] { }); } - // ─── CORS ─── - const corsOrigin = process.env.CORS_ORIGIN || ''; - if (isProd && (!corsOrigin || corsOrigin === 'https://your-production-domain.com')) { - errors.push({ - key: 'CORS_ORIGIN', - message: '生产环境未配置真实的 CORS_ORIGIN,临时允许所有来源请求', - severity: 'warn', - }); - } - // ─── Port conflict check (best-effort) ─── if (config.port < 1024 && (process as any).getuid?.() !== 0) { errors.push({ diff --git a/source_clean/src/utils/qr-login.service.ts b/source_clean/src/utils/qr-login.service.ts index 742a34a..7b07f41 100755 --- a/source_clean/src/utils/qr-login.service.ts +++ b/source_clean/src/utils/qr-login.service.ts @@ -19,7 +19,8 @@ const SESSIONS = new Map(); const SESSION_TTL = 5 * 60 * 1000; // 5 minutes const COOKIE_CHECK_INTERVAL = 1500; // 1.5s between cookie checks -const CHROMIUM_PATH = process.env.CHROMIUM_PATH || '/usr/bin/chromium-browser'; +import config from '../config'; +const CHROMIUM_PATH = config.chromiumPath; // Clean up old sessions periodically setInterval(() => {