- Throttle progress events to 250ms intervals (was every byte chunk) - Batch UI updates during uploads (render/statusbar/stats every 200ms) - In-place row updates instead of full innerHTML table rebuild - Single-pass queue stats computation (was 9 separate array filters) - Remove CSS transition on progress bars (caused layout thrashing) - Event delegation for recent files table (was per-row listener rebind) - Increase persist debounce to 10s during uploads (was 3s) - Remove redundant "Ziele auswählen" button (hoster selection on file add) - Dark title bar via nativeTheme Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
428 lines
12 KiB
JSON
428 lines
12 KiB
JSON
{
|
|
"hosters": {
|
|
"doodstream.com": {
|
|
"enabled": false,
|
|
"apiKey": "",
|
|
"username": "",
|
|
"password": ""
|
|
},
|
|
"voe.sx": {
|
|
"enabled": true,
|
|
"apiKey": "exZEXqkwEnb8eLR79eUI6WVt3JYGFzAfuPsjuGp2nAn7NATGaYhY86NVK5EX1PzD"
|
|
},
|
|
"vidmoly.me": {
|
|
"enabled": true,
|
|
"authType": "login",
|
|
"username": "bariusgariusdi",
|
|
"password": "Paluffel123!"
|
|
},
|
|
"byse.sx": {
|
|
"enabled": true,
|
|
"apiKey": "83124r74v61t9dmojm4gz"
|
|
}
|
|
},
|
|
"hosterSettings": {
|
|
"doodstream.com": {
|
|
"retries": 3,
|
|
"maxSpeedKbs": 0,
|
|
"parallelCount": 2,
|
|
"restartBelowKbs": 0,
|
|
"timeIntervalSec": 0,
|
|
"maxSizeMb": 0
|
|
},
|
|
"voe.sx": {
|
|
"retries": 3,
|
|
"maxSpeedKbs": 0,
|
|
"parallelCount": 2,
|
|
"restartBelowKbs": 0,
|
|
"timeIntervalSec": 0,
|
|
"maxSizeMb": 0
|
|
},
|
|
"vidmoly.me": {
|
|
"retries": 25,
|
|
"maxSpeedKbs": 0,
|
|
"parallelCount": 2,
|
|
"restartBelowKbs": 0,
|
|
"timeIntervalSec": 1,
|
|
"maxSizeMb": 0
|
|
},
|
|
"byse.sx": {
|
|
"retries": 3,
|
|
"maxSpeedKbs": 0,
|
|
"parallelCount": 2,
|
|
"restartBelowKbs": 0,
|
|
"timeIntervalSec": 0,
|
|
"maxSizeMb": 0
|
|
}
|
|
},
|
|
"globalSettings": {
|
|
"alwaysOnTop": false,
|
|
"shutdownAfterFinish": "nothing",
|
|
"logFilePath": "",
|
|
"sessionLog": false,
|
|
"resumeQueueOnLaunch": true,
|
|
"parallelUploadCount": 0,
|
|
"scaleParallelUploads": true,
|
|
"removeFromQueueOnDone": false,
|
|
"globalMaxSpeedKbs": 0,
|
|
"pendingQueue": {
|
|
"selectedUploadHosters": [
|
|
"doodstream.com",
|
|
"voe.sx",
|
|
"vidmoly.me",
|
|
"byse.sx"
|
|
],
|
|
"selectedFiles": [
|
|
{
|
|
"path": "C:\\Users\\ploet\\Downloads\\Einfach mal die Fresse halten!!!.mp4",
|
|
"name": "Einfach mal die Fresse halten!!!.mp4",
|
|
"size": 0
|
|
}
|
|
],
|
|
"queueJobs": [
|
|
{
|
|
"id": "preview-1773271047205-k8l83r",
|
|
"file": "C:\\Users\\ploet\\Downloads\\Einfach mal die Fresse halten!!!.mp4",
|
|
"fileName": "Einfach mal die Fresse halten!!!.mp4",
|
|
"hoster": "doodstream.com",
|
|
"status": "preview",
|
|
"bytesTotal": 0,
|
|
"error": null,
|
|
"result": null,
|
|
"maxAttempts": 0
|
|
},
|
|
{
|
|
"id": "preview-1773271047206-npnpph",
|
|
"file": "C:\\Users\\ploet\\Downloads\\Einfach mal die Fresse halten!!!.mp4",
|
|
"fileName": "Einfach mal die Fresse halten!!!.mp4",
|
|
"hoster": "voe.sx",
|
|
"status": "preview",
|
|
"bytesTotal": 0,
|
|
"error": null,
|
|
"result": null,
|
|
"maxAttempts": 0
|
|
},
|
|
{
|
|
"id": "preview-1773271047206-q2skl1",
|
|
"file": "C:\\Users\\ploet\\Downloads\\Einfach mal die Fresse halten!!!.mp4",
|
|
"fileName": "Einfach mal die Fresse halten!!!.mp4",
|
|
"hoster": "vidmoly.me",
|
|
"status": "preview",
|
|
"bytesTotal": 0,
|
|
"error": null,
|
|
"result": null,
|
|
"maxAttempts": 0
|
|
},
|
|
{
|
|
"id": "preview-1773271047206-cek27b",
|
|
"file": "C:\\Users\\ploet\\Downloads\\Einfach mal die Fresse halten!!!.mp4",
|
|
"fileName": "Einfach mal die Fresse halten!!!.mp4",
|
|
"hoster": "byse.sx",
|
|
"status": "preview",
|
|
"bytesTotal": 0,
|
|
"error": null,
|
|
"result": null,
|
|
"maxAttempts": 0
|
|
}
|
|
]
|
|
},
|
|
"scramble": {
|
|
"active": false,
|
|
"prefix": "",
|
|
"suffix": "",
|
|
"chars": "both",
|
|
"length": 0
|
|
}
|
|
},
|
|
"history": [
|
|
{
|
|
"id": "batch-1771639560711",
|
|
"timestamp": "2026-02-21T02:06:04.634Z",
|
|
"total": 3,
|
|
"succeeded": 1,
|
|
"failed": 2,
|
|
"files": [
|
|
{
|
|
"name": "ssstwitter.com_1770829061540.mp4",
|
|
"size": 7799235,
|
|
"results": [
|
|
{
|
|
"hoster": "doodstream.com",
|
|
"status": "error",
|
|
"error": "Invalid URL",
|
|
"download_url": null,
|
|
"embed_url": null,
|
|
"file_code": null
|
|
},
|
|
{
|
|
"hoster": "byse.sx",
|
|
"status": "error",
|
|
"error": "Kein Upload-Server erhalten. API-Key pruefen.",
|
|
"download_url": null,
|
|
"embed_url": null,
|
|
"file_code": null
|
|
},
|
|
{
|
|
"hoster": "voe.sx",
|
|
"status": "done",
|
|
"download_url": "https://voe.sx/nnxl9k1bsmpj",
|
|
"embed_url": "https://voe.sx/e/nnxl9k1bsmpj",
|
|
"file_code": "nnxl9k1bsmpj"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "batch-1771639617785",
|
|
"timestamp": "2026-02-21T02:07:01.083Z",
|
|
"total": 4,
|
|
"succeeded": 1,
|
|
"failed": 3,
|
|
"files": [
|
|
{
|
|
"name": "ssstwitter.com_1770829061540.mp4",
|
|
"size": 7799235,
|
|
"results": [
|
|
{
|
|
"hoster": "vidmoly.me",
|
|
"status": "error",
|
|
"error": "maxRedirections is not supported, use the redirect interceptor",
|
|
"download_url": null,
|
|
"embed_url": null,
|
|
"file_code": null
|
|
},
|
|
{
|
|
"hoster": "byse.sx",
|
|
"status": "error",
|
|
"error": "Kein Upload-Server erhalten. API-Key pruefen.",
|
|
"download_url": null,
|
|
"embed_url": null,
|
|
"file_code": null
|
|
},
|
|
{
|
|
"hoster": "doodstream.com",
|
|
"status": "error",
|
|
"error": "Invalid URL",
|
|
"download_url": null,
|
|
"embed_url": null,
|
|
"file_code": null
|
|
},
|
|
{
|
|
"hoster": "voe.sx",
|
|
"status": "done",
|
|
"download_url": "https://voe.sx/ujoqyizmrayw",
|
|
"embed_url": "https://voe.sx/e/ujoqyizmrayw",
|
|
"file_code": "ujoqyizmrayw"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "batch-1771639907565",
|
|
"timestamp": "2026-02-21T02:13:33.560Z",
|
|
"total": 4,
|
|
"succeeded": 3,
|
|
"failed": 1,
|
|
"files": [
|
|
{
|
|
"name": "video_1770829348221_0hmfi8.mp4",
|
|
"size": 107220796,
|
|
"results": [
|
|
{
|
|
"hoster": "vidmoly.me",
|
|
"status": "error",
|
|
"error": "Vidmoly Upload-Ergebnis: Kein Download-Link gefunden",
|
|
"download_url": null,
|
|
"embed_url": null,
|
|
"file_code": null
|
|
},
|
|
{
|
|
"hoster": "voe.sx",
|
|
"status": "done",
|
|
"download_url": "https://voe.sx/f38bgbhvia4x",
|
|
"embed_url": "https://voe.sx/e/f38bgbhvia4x",
|
|
"file_code": "f38bgbhvia4x"
|
|
},
|
|
{
|
|
"hoster": "byse.sx",
|
|
"status": "done",
|
|
"download_url": "https://byse.sx/zwbsud9yjxks",
|
|
"embed_url": "https://byse.sx/e/zwbsud9yjxks",
|
|
"file_code": "zwbsud9yjxks"
|
|
},
|
|
{
|
|
"hoster": "doodstream.com",
|
|
"status": "done",
|
|
"download_url": "https://dsvplay.com/d/cv1y50vfrf7f",
|
|
"embed_url": "https://dsvplay.com/e/cv1y50vfrf7f",
|
|
"file_code": "cv1y50vfrf7f"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "batch-1771640325234",
|
|
"timestamp": "2026-02-21T02:18:52.471Z",
|
|
"total": 4,
|
|
"succeeded": 2,
|
|
"failed": 2,
|
|
"files": [
|
|
{
|
|
"name": "ssstwitter.com_1770829061540.mp4",
|
|
"size": 7799235,
|
|
"results": [
|
|
{
|
|
"hoster": "doodstream.com",
|
|
"status": "error",
|
|
"error": "Invalid URL",
|
|
"download_url": null,
|
|
"embed_url": null,
|
|
"file_code": null
|
|
},
|
|
{
|
|
"hoster": "voe.sx",
|
|
"status": "done",
|
|
"download_url": "https://voe.sx/y4zhied9n4f5",
|
|
"embed_url": "https://voe.sx/e/y4zhied9n4f5",
|
|
"file_code": "y4zhied9n4f5"
|
|
},
|
|
{
|
|
"hoster": "vidmoly.me",
|
|
"status": "error",
|
|
"error": "Vidmoly Upload-Ergebnis: Kein Download-Link gefunden",
|
|
"download_url": null,
|
|
"embed_url": null,
|
|
"file_code": null
|
|
},
|
|
{
|
|
"hoster": "byse.sx",
|
|
"status": "done",
|
|
"download_url": "https://byse.sx/3caubwbj6jxu",
|
|
"embed_url": "https://byse.sx/e/3caubwbj6jxu",
|
|
"file_code": "3caubwbj6jxu"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "batch-1771643316134",
|
|
"timestamp": "2026-02-21T03:09:10.532Z",
|
|
"total": 4,
|
|
"succeeded": 4,
|
|
"failed": 0,
|
|
"files": [
|
|
{
|
|
"name": "ssstwitter.com_1770829061540.mp4",
|
|
"size": 7799235,
|
|
"results": [
|
|
{
|
|
"hoster": "voe.sx",
|
|
"status": "done",
|
|
"download_url": "https://voe.sx/juoamb17cdea",
|
|
"embed_url": "https://voe.sx/e/juoamb17cdea",
|
|
"file_code": "juoamb17cdea"
|
|
},
|
|
{
|
|
"hoster": "byse.sx",
|
|
"status": "done",
|
|
"download_url": "https://byse.sx/mu8p6ikpsabf",
|
|
"embed_url": "https://byse.sx/e/mu8p6ikpsabf",
|
|
"file_code": "mu8p6ikpsabf"
|
|
},
|
|
{
|
|
"hoster": "vidmoly.me",
|
|
"status": "done",
|
|
"download_url": "https://vidmoly.me/w/7460ei78oj22",
|
|
"embed_url": "https://vidmoly.me/embed-7460ei78oj22.html",
|
|
"file_code": "7460ei78oj22"
|
|
},
|
|
{
|
|
"hoster": "doodstream.com",
|
|
"status": "done",
|
|
"download_url": "https://dsvplay.com/d/l4rm1kbpkgt0",
|
|
"embed_url": "https://dsvplay.com/e/l4rm1kbpkgt0",
|
|
"file_code": "l4rm1kbpkgt0"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "batch-1773173725103",
|
|
"timestamp": "2026-03-10T20:15:25.339Z",
|
|
"total": 1,
|
|
"succeeded": 1,
|
|
"failed": 0,
|
|
"files": [
|
|
{
|
|
"name": "test-e2e-upload.txt",
|
|
"size": 22,
|
|
"results": [
|
|
{
|
|
"hoster": "voe.sx",
|
|
"status": "done",
|
|
"download_url": null,
|
|
"embed_url": null,
|
|
"file_code": null
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "batch-1773176124038",
|
|
"timestamp": "2026-03-10T20:55:24.931Z",
|
|
"total": 1,
|
|
"succeeded": 1,
|
|
"failed": 0,
|
|
"files": [
|
|
{
|
|
"name": "Einfach mal die Fresse halten!!!.mp4",
|
|
"size": 172248,
|
|
"results": [
|
|
{
|
|
"hoster": "voe.sx",
|
|
"status": "done",
|
|
"download_url": "https://voe.sx/nlvswooic50v",
|
|
"embed_url": "https://voe.sx/e/nlvswooic50v",
|
|
"file_code": "nlvswooic50v"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "batch-1773176209320",
|
|
"timestamp": "2026-03-10T20:56:59.349Z",
|
|
"total": 2,
|
|
"succeeded": 2,
|
|
"failed": 0,
|
|
"files": [
|
|
{
|
|
"name": "export_1771588307185.mov",
|
|
"size": 7330963,
|
|
"results": [
|
|
{
|
|
"hoster": "voe.sx",
|
|
"status": "done",
|
|
"download_url": "https://voe.sx/qh1jriyz5up7",
|
|
"embed_url": "https://voe.sx/e/qh1jriyz5up7",
|
|
"file_code": "qh1jriyz5up7"
|
|
},
|
|
{
|
|
"hoster": "doodstream.com",
|
|
"status": "done",
|
|
"download_url": "https://dsvplay.com/d/q5tib39woqq4",
|
|
"embed_url": "https://dsvplay.com/e/q5tib39woqq4",
|
|
"file_code": "q5tib39woqq4"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
} |