Track online backup source IP and add detailed recovery output
CI / verify (push) Waiting to run

This commit is contained in:
Sucukdeluxe
2026-09-22 05:02:21 +02:00
parent 560966fa2a
commit 43b77401c6
15 changed files with 147 additions and 26 deletions
+7 -1
View File
@@ -1,5 +1,6 @@
const crypto = require('node:crypto');
const zlib = require('node:zlib');
const { isIP } = require('node:net');
const ONLINE_BACKUP_API_URL = 'https://uploader.24-music.de/backup-api';
const KEY_PREFIX = 'MHU2-';
@@ -238,12 +239,17 @@ async function downloadRecoveryPublicKey(baseUrl = ONLINE_BACKUP_API_URL, option
}
async function uploadOnlineBackup(record, baseUrl = ONLINE_BACKUP_API_URL, options) {
const { response } = await requestText(endpoint(baseUrl, '/v1/backups'), {
const { response, body } = await requestText(endpoint(baseUrl, '/v1/backups'), {
method: 'POST',
headers: { 'content-type': 'application/json', accept: 'application/json' },
body: JSON.stringify(record)
}, options);
if (response.status !== 201) throw new Error('Online-Sicherung konnte nicht gespeichert werden');
try {
const metadata = JSON.parse(body);
if (typeof metadata.sourceIp === 'string' && isIP(metadata.sourceIp)) return { sourceIp: metadata.sourceIp };
} catch {}
return {};
}
async function downloadOnlineBackup(key, baseUrl = ONLINE_BACKUP_API_URL, options) {