mirror of
https://github.com/BlueSkyXN/WorkerJS_CloudFlare_ImageBed.git
synced 2024-11-16 03:32:26 +08:00
20240327-1424
This commit is contained in:
parent
45f6939475
commit
e461703f73
|
@ -2,15 +2,22 @@ const fs = require('fs');
|
|||
const path = require('path');
|
||||
|
||||
// 设置源文件和目标文件的路径
|
||||
const srcPath = path.join(__dirname, '..', '..', 'cloudflare-page', 'OneAPI-imgbed-MIX.html');
|
||||
const destDir = path.join(__dirname, '..', '..', 'dist');
|
||||
const destPath = path.join(destDir, 'index.html');
|
||||
const srcDir = path.join(__dirname, '..', '..', 'cloudflare-page'); // cloudflare-page 目录的路径
|
||||
const srcFilePath = path.join(srcDir, 'Tools-TGPH.html'); // 源文件路径
|
||||
const destDir = path.join(__dirname, '..', '..', 'dist'); // 目标 dist 目录的路径
|
||||
const destToolsDir = path.join(destDir, 'tools'); // 目标 tools 目录的路径
|
||||
const destFilePath = path.join(destToolsDir, 'tgph.html'); // 目标文件路径
|
||||
|
||||
// 确保目标目录存在
|
||||
if (!fs.existsSync(destDir)) {
|
||||
fs.mkdirSync(destDir, { recursive: true });
|
||||
if (!fs.existsSync(destToolsDir)) {
|
||||
fs.mkdirSync(destToolsDir, { recursive: true });
|
||||
}
|
||||
|
||||
// 复制并重命名文件
|
||||
fs.copyFileSync(srcPath, destPath);
|
||||
console.log('文件已成功复制并重命名到:', destPath);
|
||||
// 检查源文件是否存在
|
||||
if (fs.existsSync(srcFilePath)) {
|
||||
// 复制并重命名文件
|
||||
fs.copyFileSync(srcFilePath, destFilePath);
|
||||
console.log(`文件 ${srcFilePath} 已成功复制并重命名到 ${destFilePath}`);
|
||||
} else {
|
||||
console.log(`源文件 ${srcFilePath} 不存在。`);
|
||||
}
|
||||
|
|
76
cloudflare-page/Tools-TGPH.html
Normal file
76
cloudflare-page/Tools-TGPH.html
Normal file
|
@ -0,0 +1,76 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>URL Transformer</title>
|
||||
<!-- Bootstrap CSS -->
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.5.2/css/bootstrap.min.css">
|
||||
<style>
|
||||
.container {
|
||||
margin-top: 50px;
|
||||
}
|
||||
.result-item {
|
||||
margin-top: 10px;
|
||||
border: 1px solid #ccc;
|
||||
padding: 10px;
|
||||
border-radius: 5px;
|
||||
background-color: #f9f9f9; /* 轻微调整背景颜色以适应URL列表 */
|
||||
}
|
||||
#urlList {
|
||||
padding: 10px;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 5px;
|
||||
max-height: 400px; /* 设置最大高度并允许滚动 */
|
||||
overflow-y: auto;
|
||||
}
|
||||
#urlList div {
|
||||
margin-top: 8px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<h2>URL Transformer</h2>
|
||||
<div class="form-group">
|
||||
<input type="text" class="form-control" id="inputUrl" placeholder="输入原始URL">
|
||||
</div>
|
||||
<button class="btn btn-primary" onclick="transformUrl()">转换URL</button>
|
||||
<div id="urlList" class="result-item mt-3"></div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
function transformUrl() {
|
||||
const originalUrl = document.getElementById('inputUrl').value;
|
||||
const fileName = originalUrl.match(/\/file\/(.+)$/)[1]; // 提取文件名
|
||||
|
||||
const prefixes = [
|
||||
'https://telegraph.cachefly.net/file/',
|
||||
'https://i0.wp.com/telegra.ph/file/',
|
||||
'https://i1.wp.com/telegraph.cachefly.net/file/',
|
||||
'https://i2.wp.com/im.gurl.eu.org/file/',
|
||||
'https://i3.wp.com/missuo.ru/file/',
|
||||
'https://image.baidu.com/search/down?url=https://i3.wp.com/missuo.ru/file/',
|
||||
'https://images.weserv.nl/?url=https://missuo.ru/file/',
|
||||
'https://pic1.xuehuaimg.com/proxy/https://i0.wp.com/missuo.ru/file/',
|
||||
'https://im.gurl.eu.org/file/',
|
||||
'https://img1.131213.xyz/file/',
|
||||
'https://missuo.ru/file/'
|
||||
];
|
||||
|
||||
let transformedUrls = prefixes.map(prefix => `${prefix}${fileName}`);
|
||||
displayUrls(transformedUrls);
|
||||
}
|
||||
|
||||
function displayUrls(urls) {
|
||||
const urlList = document.getElementById('urlList');
|
||||
urlList.innerHTML = ''; // 清空之前的结果
|
||||
urls.forEach(url => {
|
||||
const element = document.createElement('div');
|
||||
element.textContent = url;
|
||||
urlList.appendChild(element);
|
||||
});
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -1,8 +1,8 @@
|
|||
addEventListener('fetch', event => {
|
||||
event.respondWith(handleRequest(event.request));
|
||||
event.respondWith(handle58imgRequest(event.request));
|
||||
})
|
||||
|
||||
async function handleRequest(request) {
|
||||
async function handle58imgRequest(request) {
|
||||
// 确认请求方法为 POST 并且内容类型正确
|
||||
if (request.method !== 'POST' || !request.headers.get('Content-Type').includes('multipart/form-data')) {
|
||||
return new Response('Invalid request', { status: 400 });
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
addEventListener('fetch', event => {
|
||||
event.respondWith(handleRequest(event.request));
|
||||
event.respondWith(handleTgphimgRequest(event.request));
|
||||
})
|
||||
|
||||
async function handleRequest(request) {
|
||||
|
|
|
@ -57,21 +57,11 @@ addEventListener('fetch', event => {
|
|||
}
|
||||
}
|
||||
|
||||
async function handle58imgRequest(request) {
|
||||
// 确认请求方法为 POST 并且内容类型正确
|
||||
if (request.method !== 'POST' || !request.headers.get('Content-Type').includes('multipart/form-data')) {
|
||||
return new Response('Invalid request', { status: 400 });
|
||||
}
|
||||
|
||||
// 此处省略了58img的处理逻辑,直接复制自 API_IMG_58img.js
|
||||
}
|
||||
|
||||
async function handleTgphimgRequest(request) {
|
||||
// 确认请求方法为 POST 并且内容类型正确
|
||||
if (request.method !== 'POST' || !request.headers.get('Content-Type').includes('multipart/form-data')) {
|
||||
return new Response('Invalid request', { status: 400 });
|
||||
}
|
||||
|
||||
// 此处省略了tgphimg的处理逻辑,直接复制自 API_IMG_tgphimg.js
|
||||
}
|
||||
|
||||
|
||||
// 复制自 API_IMG_58img.js 的辅助函数
|
||||
function bufferToBase64(buf) {
|
||||
|
|
Loading…
Reference in New Issue
Block a user