33 lines
889 B
JavaScript
33 lines
889 B
JavaScript
const express = require('express');
|
|
const axios = require('axios');
|
|
|
|
const app = express();
|
|
const port = 3003;
|
|
|
|
app.use((req, res, next) => {
|
|
const userAgent = req.headers['user-agent'];
|
|
if (userAgent && (userAgent.includes('PCL') || userAgent.includes('FCL') || userAgent.includes('HMCL') || userAgent.includes('BakaXL'))) {
|
|
next(); // User-Agent 已经包含所需字符串,无需修改
|
|
} else {
|
|
// 重定向前设置 User-Agent
|
|
req.customUserAgent = 'MTB Hello';
|
|
next();
|
|
}
|
|
});
|
|
//////
|
|
app.get('/:path(*)', (req, res) => {
|
|
const path = req.params.path;
|
|
const userAgent = req.customUserAgent || 'MTB Hello';
|
|
const redirectUrl = `https://bmclapi2.bangbang93.com/${path}`;
|
|
res.set({
|
|
'Location': redirectUrl,
|
|
'User-Agent': userAgent
|
|
}).status(302).end();
|
|
});
|
|
|
|
|
|
|
|
app.listen(`${port}`, () => {
|
|
console.log(`Server is running on port ${port}`);
|
|
});
|