Compare commits
2 Commits
5d43923217
...
00a46dee2e
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
00a46dee2e | ||
|
|
6a40fdd435 |
@ -141,9 +141,10 @@ class VidmolyUploader {
|
||||
}
|
||||
return {
|
||||
uploadUrl: payload.upload_url,
|
||||
// Classic XFS upload fields in the order the server expects.
|
||||
params: { upload_type: 'file', sess_id: payload.sess_id, srv_tmp_url: '', utype: 'reg' },
|
||||
fileFieldName: 'file_0'
|
||||
// Fields verified from a real browser POST capture.
|
||||
// to_json=1 forces a JSON response instead of an HTML redirect page.
|
||||
params: { sess_id: payload.sess_id, to_json: '1', fld_id: '0' },
|
||||
fileFieldName: 'file'
|
||||
};
|
||||
}
|
||||
|
||||
@ -244,28 +245,33 @@ class VidmolyUploader {
|
||||
resultHtml = await body.text();
|
||||
}
|
||||
|
||||
// Try JSON first (some XFS versions return JSON)
|
||||
// Try JSON first. The current transit server returns
|
||||
// { status: "OK", file_code: "...", msg: "Upload Completed" }.
|
||||
// Legacy XFS shapes (json.files / json.result) are kept as fallback.
|
||||
try {
|
||||
const json = JSON.parse(resultHtml);
|
||||
if (json.status && /ok/i.test(json.status) && json.file_code) {
|
||||
return this._buildUrlsFromCode(json.file_code);
|
||||
}
|
||||
if (json.file_code || json.filecode) {
|
||||
return this._buildUrlsFromCode(json.file_code || json.filecode);
|
||||
}
|
||||
if (json.files && json.files.length > 0) {
|
||||
const f = json.files[0];
|
||||
const code = f.filecode || f.file_code;
|
||||
return {
|
||||
download_url: code ? `${BASE_URL}/w/${code}` : null,
|
||||
embed_url: code ? `${BASE_URL}/embed-${code}.html` : null,
|
||||
file_code: code
|
||||
};
|
||||
return this._buildUrlsFromCode(f.filecode || f.file_code);
|
||||
}
|
||||
if (json.result) {
|
||||
const r = Array.isArray(json.result) ? json.result[0] : json.result;
|
||||
const code = r.filecode || r.file_code;
|
||||
return {
|
||||
download_url: r.download_url || (code ? `${BASE_URL}/w/${code}` : null),
|
||||
embed_url: r.embed_url || (code ? `${BASE_URL}/embed-${code}.html` : null),
|
||||
file_code: code
|
||||
};
|
||||
const urls = this._buildUrlsFromCode(code);
|
||||
if (urls) return urls;
|
||||
}
|
||||
} catch {}
|
||||
if (json.status && !/ok/i.test(json.status) && json.msg) {
|
||||
throw new Error(`Vidmoly Upload abgelehnt: ${json.msg}`);
|
||||
}
|
||||
} catch (err) {
|
||||
if (err && /Vidmoly Upload abgelehnt/.test(err.message)) throw err;
|
||||
}
|
||||
|
||||
try {
|
||||
return this._parseUploadResult(resultHtml);
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "multi-hoster-uploader",
|
||||
"version": "3.0.0",
|
||||
"version": "3.0.1",
|
||||
"description": "Upload files to doodstream, voe, vidmoly, byse simultaneously",
|
||||
"main": "main.js",
|
||||
"scripts": {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user