mirror of
https://github.com/BlueSkyXN/WorkerJS_CloudFlare_ImageBed.git
synced 2024-11-16 03:32:26 +08:00
0.7.1
新增 da8m,qts8,vviptuangou三个图床
This commit is contained in:
parent
f7b2c988b7
commit
6e93c0e4dc
|
@ -74,7 +74,7 @@
|
|||
<option value="tencent">Tencent</option>
|
||||
<option value="qst8">qst8</option>
|
||||
<option value="vviptuangou">vviptuangou</option>
|
||||
<option value="mtdp">mtdp</option>
|
||||
<option value="da8m">da8m</option>
|
||||
<option value="aagmoe">ihs.aag.moe</option>
|
||||
</select>
|
||||
</div>
|
||||
|
|
78
cloudflare-worker-js-api/API_IMG_da8m.js
Normal file
78
cloudflare-worker-js-api/API_IMG_da8m.js
Normal file
|
@ -0,0 +1,78 @@
|
|||
addEventListener('fetch', event => {
|
||||
event.respondWith(handleDa8mRequest(event.request));
|
||||
});
|
||||
|
||||
async function handleDa8mRequest(request) {
|
||||
console.log('Request received:', request.url);
|
||||
|
||||
if (request.method !== 'POST') {
|
||||
return new Response('Method not allowed', { status: 405 });
|
||||
}
|
||||
|
||||
try {
|
||||
const formData = await request.formData();
|
||||
const file = formData.get('image'); // 使用 'image' 字段名
|
||||
if (!file) {
|
||||
return new Response('No file uploaded', { status: 400 });
|
||||
}
|
||||
|
||||
const newFormData = new FormData();
|
||||
newFormData.append('file', file, file.name); // 上传到目标服务器时使用 'file'
|
||||
|
||||
const targetUrl = 'https://api.da8m.cn/api/upload';
|
||||
|
||||
const response = await fetch(targetUrl, {
|
||||
method: 'POST',
|
||||
body: newFormData,
|
||||
headers: {
|
||||
'Accept': 'application/json, text/javascript, */*; q=0.01',
|
||||
'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,zh-TW;q=0.7',
|
||||
'Branchid': '1002',
|
||||
'Cache-Control': 'no-cache',
|
||||
'DNT': '1',
|
||||
'Origin': 'https://mlw10086.serv00.net',
|
||||
'Pragma': 'no-cache',
|
||||
'Priority': 'u=1, i',
|
||||
'Referer': 'https://mlw10086.serv00.net/',
|
||||
'Sec-Ch-Ua': '"Chromium";v="128", "Not;A=Brand";v="24", "Google Chrome";v="128"',
|
||||
'Sec-Ch-Ua-Mobile': '?0',
|
||||
'Sec-Ch-Ua-Platform': '"Windows"',
|
||||
'Sec-Fetch-Dest': 'empty',
|
||||
'Sec-Fetch-Mode': 'cors',
|
||||
'Sec-Fetch-Site': 'cross-site',
|
||||
'Sign': 'e346dedcb06bace9cd7ccc6688dd7ca1', // 替换为动态生成的sign值
|
||||
'Source': 'h5',
|
||||
'Tenantid': '3',
|
||||
'Timestamp': '1725792862411', // 替换为动态生成的timestamp值
|
||||
'Token': '4ca04a3ff8ca3b8f0f8cfa01899ddf8e', // 请替换成有效的 token
|
||||
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36'
|
||||
}
|
||||
});
|
||||
|
||||
console.log('Response status:', response.status);
|
||||
const responseText = await response.text();
|
||||
console.log('Response body:', responseText);
|
||||
|
||||
try {
|
||||
const jsonResponse = JSON.parse(responseText);
|
||||
if (jsonResponse.status === 1 && jsonResponse.imgurl) {
|
||||
// 根据 imgurl 构建正确的图片链接
|
||||
const correctImageUrl = `https://assets.da8m.cn/${jsonResponse.imgurl}`;
|
||||
return new Response(correctImageUrl, {
|
||||
status: 200,
|
||||
headers: { 'Content-Type': 'text/plain' }
|
||||
});
|
||||
}
|
||||
} catch (e) {
|
||||
console.error('Failed to parse JSON:', e);
|
||||
}
|
||||
|
||||
return new Response(responseText, {
|
||||
status: response.status,
|
||||
headers: response.headers
|
||||
});
|
||||
} catch (error) {
|
||||
console.error('Error:', error);
|
||||
return new Response('Internal Server Error', { status: 500 });
|
||||
}
|
||||
}
|
|
@ -53,6 +53,9 @@ async function handleRequest(request) {
|
|||
case '/upload/vviptuangou':
|
||||
response = await handleVviptuangouRequest(request);
|
||||
break;
|
||||
case '/upload/da8m':
|
||||
response = await handleDa8mRequest(request);
|
||||
break;
|
||||
default:
|
||||
response = new Response('Not Found', { status: 404 });
|
||||
break;
|
||||
|
@ -470,3 +473,78 @@ async function handleRequest(request) {
|
|||
}
|
||||
}
|
||||
|
||||
async function handleDa8mRequest(request) {
|
||||
console.log('Request received:', request.url);
|
||||
|
||||
if (request.method !== 'POST') {
|
||||
return new Response('Method not allowed', { status: 405 });
|
||||
}
|
||||
|
||||
try {
|
||||
const formData = await request.formData();
|
||||
const file = formData.get('image'); // 使用 'image' 字段名
|
||||
if (!file) {
|
||||
return new Response('No file uploaded', { status: 400 });
|
||||
}
|
||||
|
||||
const newFormData = new FormData();
|
||||
newFormData.append('file', file, file.name); // 上传到目标服务器时使用 'file'
|
||||
|
||||
const targetUrl = 'https://api.da8m.cn/api/upload';
|
||||
|
||||
const response = await fetch(targetUrl, {
|
||||
method: 'POST',
|
||||
body: newFormData,
|
||||
headers: {
|
||||
'Accept': 'application/json, text/javascript, */*; q=0.01',
|
||||
'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,zh-TW;q=0.7',
|
||||
'Branchid': '1002',
|
||||
'Cache-Control': 'no-cache',
|
||||
'DNT': '1',
|
||||
'Origin': 'https://mlw10086.serv00.net',
|
||||
'Pragma': 'no-cache',
|
||||
'Priority': 'u=1, i',
|
||||
'Referer': 'https://mlw10086.serv00.net/',
|
||||
'Sec-Ch-Ua': '"Chromium";v="128", "Not;A=Brand";v="24", "Google Chrome";v="128"',
|
||||
'Sec-Ch-Ua-Mobile': '?0',
|
||||
'Sec-Ch-Ua-Platform': '"Windows"',
|
||||
'Sec-Fetch-Dest': 'empty',
|
||||
'Sec-Fetch-Mode': 'cors',
|
||||
'Sec-Fetch-Site': 'cross-site',
|
||||
'Sign': 'e346dedcb06bace9cd7ccc6688dd7ca1', // 替换为动态生成的sign值
|
||||
'Source': 'h5',
|
||||
'Tenantid': '3',
|
||||
'Timestamp': '1725792862411', // 替换为动态生成的timestamp值
|
||||
'Token': '4ca04a3ff8ca3b8f0f8cfa01899ddf8e', // 请替换成有效的 token
|
||||
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36'
|
||||
}
|
||||
});
|
||||
|
||||
console.log('Response status:', response.status);
|
||||
const responseText = await response.text();
|
||||
console.log('Response body:', responseText);
|
||||
|
||||
try {
|
||||
const jsonResponse = JSON.parse(responseText);
|
||||
if (jsonResponse.status === 1 && jsonResponse.imgurl) {
|
||||
// 根据 imgurl 构建正确的图片链接
|
||||
const correctImageUrl = `https://assets.da8m.cn/${jsonResponse.imgurl}`;
|
||||
return new Response(correctImageUrl, {
|
||||
status: 200,
|
||||
headers: { 'Content-Type': 'text/plain' }
|
||||
});
|
||||
}
|
||||
} catch (e) {
|
||||
console.error('Failed to parse JSON:', e);
|
||||
}
|
||||
|
||||
return new Response(responseText, {
|
||||
status: response.status,
|
||||
headers: response.headers
|
||||
});
|
||||
} catch (error) {
|
||||
console.error('Error:', error);
|
||||
return new Response('Internal Server Error', { status: 500 });
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user