/
githubmirror
/
traefik
Обзор
Документация
Войти
/
githubmirror
/
traefik
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
webui/src/utils/workers/scriptVerification.ts
55 строк
1 KB
Gina A.
Restore remote Upgrade to Hub button web component
12 ноя 2025, 14:16
Не верифицирован
12 ноя 2025, 14:16
a01c73d
Код
Авторство
О чём код?
export interface VerificationResult { verified: boolean scriptContent?: ArrayBuffer } async function verifySignature( contentPath: string, signaturePath: string, publicKey: string, ): Promise<VerificationResult> { return new Promise((resolve) => { const requestId = Math.random().toString(36).substring(2) const worker = new Worker(new URL('./scriptVerificationWorker.ts', import.meta.url), { type: 'module' }) const timeout = setTimeout(() => { worker.terminate() console.error('Script verification timeout') resolve({ verified: false }) }, 30000) worker.onmessage = (event) => { clearTimeout(timeout) worker.terminate() const { success, verified, error, scriptContent } = event.data if (!success) { console.error('Worker verification failed:', error) resolve({ verified: false }) return } resolve({ verified: verified === true, scriptContent: verified ? scriptContent : undefined, }) } worker.onerror = (error) => { clearTimeout(timeout) worker.terminate() console.error('Worker error:', error) resolve({ verified: false }) } worker.postMessage({ requestId, scriptUrl: contentPath, signatureUrl: signaturePath, publicKey, }) }) } export default verifySignature