fix: 修复无法获取真实ip的错误

This commit is contained in:
lyz05
2022-11-08 22:35:32 +08:00
parent ff816ae50c
commit 057af8af09
3 changed files with 11 additions and 3 deletions

View File

@@ -5,7 +5,8 @@
"scripts": {
"start": "node --max-old-space-size=200 ./bin/www",
"dev": "nodemon --max-old-space-size=200 ./bin/www",
"test": "nyc -a mocha --recursive"
"test": "nyc -a mocha --recursive",
"deploy": "flyctl deploy"
},
"dependencies": {
"ali-oss": "^6.17.1",

View File

@@ -99,7 +99,7 @@ router.get('/cache', async function (req, res, next) {
const key = Object.keys(database.suburl)[i]
messages.push({title: 'Download', key, status: res.status})
const userinfo = res.headers['subscription-userinfo']
const base64userinfo = btoa(userinfo)
const base64userinfo = Buffer.from(userinfo).toString('base64')
// 设置强制下载并设置文件名
headers = {
'Content-type': 'text/plain; charset=utf-8',

View File

@@ -10,6 +10,13 @@ function getscheme(req) {
return req.headers['x-forwarded-proto'] || req.protocol;
}
function getClientIp(req) {
return req.headers['x-forwarded-for'] ||
req.connection.remoteAddress ||
req.socket.remoteAddress ||
req.connection.socket.remoteAddress;
}
async function build_response(url) {
try {
await axios.get(url)
@@ -38,7 +45,7 @@ async function build_response(url) {
/* GET home page. */
router.get('/', async function (req, res, next) {
leancloud.danmakuAccessAdd({ip: req.ip, url: req.query.url, ua: req.headers['user-agent']})
leancloud.danmakuAccessAdd({ip: getClientIp(req), url: req.query.url, ua: req.headers['user-agent']})
//检查是否包含URL参数
if (!req.query.url) {
var urls = [mgtv.example_urls[0], bilibili.example_urls[0], tencentvideo.example_urls[0], youku.example_urls[0], iqiyi.example_urls[0]];