mirror of
https://github.com/MoonTechLab/LunaTV.git
synced 2026-03-06 20:17:32 +08:00
feat: storage in machine code
This commit is contained in:
@@ -276,8 +276,26 @@ async function initializeDeviceAuth(): Promise<void> {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 生成机器码
|
// 生成机器码(包含存储URL信息)
|
||||||
const combinedString = authToken + username + password;
|
const storageType = process.env.NEXT_PUBLIC_STORAGE_TYPE || 'localstorage';
|
||||||
|
let storageUrl = '';
|
||||||
|
|
||||||
|
// 根据存储类型获取对应的URL
|
||||||
|
switch (storageType) {
|
||||||
|
case 'kvrocks':
|
||||||
|
storageUrl = process.env.KVROCKS_URL || '';
|
||||||
|
break;
|
||||||
|
case 'upstash':
|
||||||
|
storageUrl = process.env.UPSTASH_URL || '';
|
||||||
|
break;
|
||||||
|
case 'redis':
|
||||||
|
storageUrl = process.env.REDIS_URL || '';
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
storageUrl = 'localstorage';
|
||||||
|
}
|
||||||
|
|
||||||
|
const combinedString = authToken + username + password + storageUrl;
|
||||||
const encoder = new TextEncoder();
|
const encoder = new TextEncoder();
|
||||||
const data = encoder.encode(combinedString);
|
const data = encoder.encode(combinedString);
|
||||||
const hashBuffer = await crypto.subtle.digest('SHA-256', data);
|
const hashBuffer = await crypto.subtle.digest('SHA-256', data);
|
||||||
|
|||||||
@@ -381,8 +381,26 @@ async function checkAuthentication(): Promise<void> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// 第一步:生成机器码
|
// 第一步:生成机器码(包含存储URL信息)
|
||||||
const combinedString = authToken + username + password;
|
const storageType = process.env.NEXT_PUBLIC_STORAGE_TYPE || 'localstorage';
|
||||||
|
let storageUrl = '';
|
||||||
|
|
||||||
|
// 根据存储类型获取对应的URL
|
||||||
|
switch (storageType) {
|
||||||
|
case 'kvrocks':
|
||||||
|
storageUrl = process.env.KVROCKS_URL || '';
|
||||||
|
break;
|
||||||
|
case 'upstash':
|
||||||
|
storageUrl = process.env.UPSTASH_URL || '';
|
||||||
|
break;
|
||||||
|
case 'redis':
|
||||||
|
storageUrl = process.env.REDIS_URL || '';
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
storageUrl = 'localstorage';
|
||||||
|
}
|
||||||
|
|
||||||
|
const combinedString = authToken + username + password + storageUrl;
|
||||||
const encoder = new TextEncoder();
|
const encoder = new TextEncoder();
|
||||||
const data = encoder.encode(combinedString);
|
const data = encoder.encode(combinedString);
|
||||||
const hashBuffer = await crypto.subtle.digest('SHA-256', data);
|
const hashBuffer = await crypto.subtle.digest('SHA-256', data);
|
||||||
@@ -502,16 +520,16 @@ async function runCriticalStartupChecks(): Promise<void> {
|
|||||||
checkEnvironment();
|
checkEnvironment();
|
||||||
console.log('✅ 环境变量检查通过');
|
console.log('✅ 环境变量检查通过');
|
||||||
|
|
||||||
// 2. 认证检查
|
// 2. 数据库配置检查
|
||||||
console.log('🔐 检查认证信息...');
|
|
||||||
await checkAuthentication();
|
|
||||||
console.log('✅ 认证检查通过');
|
|
||||||
|
|
||||||
// 3. 数据库配置检查
|
|
||||||
console.log('🗄️ 检查数据库配置...');
|
console.log('🗄️ 检查数据库配置...');
|
||||||
checkDatabaseConfig();
|
checkDatabaseConfig();
|
||||||
console.log('✅ 数据库配置检查通过');
|
console.log('✅ 数据库配置检查通过');
|
||||||
|
|
||||||
|
// 3. 认证检查
|
||||||
|
console.log('🔐 检查认证信息...');
|
||||||
|
await checkAuthentication();
|
||||||
|
console.log('✅ 认证检查通过');
|
||||||
|
|
||||||
console.log('🎉 所有关键检查通过,服务器正常启动');
|
console.log('🎉 所有关键检查通过,服务器正常启动');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user