|
const express = require('express') |
|
const app = express() |
|
const axios = require('axios') |
|
const {startServer} = require('./lifestyle'); |
|
|
|
import {GptModelOld} from './models.js' |
|
|
|
var Database = require('./database.js'); |
|
|
|
app.get('/', (req, res) => { |
|
res.redirect('https://t.me/RendyProjects'); |
|
}); |
|
|
|
app.use(async (req, res, next) => { |
|
const dbClient = new Database("AkenoXJs", "FastJsAPI"); |
|
const xForwardedFor = req.headers['x-forwarded-for']; |
|
const xRealIP = req.headers['x-real-ip']; |
|
const cfConnectingIP = req.headers['cf-connecting-ip']; |
|
|
|
let realIP = req.ip; |
|
|
|
if (xForwardedFor) { |
|
realIP = xForwardedFor.split(',')[0].trim(); |
|
} |
|
else if (xRealIP){ |
|
realIP = xRealIP; |
|
} |
|
else if (cfConnectingIP) { |
|
realIP = cfConnectingIP; |
|
} |
|
|
|
req.realIP = realIP; |
|
const isBlocked = await dbClient.CheckIsBlocked(realIP) |
|
if (isBlocked && isBlocked.blocked === true) { |
|
return res.status(403).send("Access denied: IP is blocked"); |
|
} |
|
if (req.path === '/env') { |
|
console.log("check path /env"); |
|
await dbClient.AddIpisBlocked(realIP) |
|
return res.status(403).send("Access denied: IP is blocked.."); |
|
} |
|
|
|
await dbClient.IPAddressAndUpdate(realIP); |
|
console.log(`Real IP address is: ${realIP}, header: ${xForwardedFor ? "x-forwarded-for" : xRealIP ? "x-real-ip" : cfConnectingIP ? "cf-connecting-ip" : "req.ip"} `); |
|
await next(); |
|
}); |
|
|
|
app.get('/api/test', async (req, res) => { |
|
try { |
|
|
|
res.send("Hello world") |
|
} catch (error) { |
|
res.status(401).json({error: error.message}) |
|
} |
|
}) |
|
|
|
const OpenaiRes = async (prompt) => { |
|
try { |
|
const EncodeUrl = "aHR0cHM6Ly9vcGVuYWktZ3B0LnJlbWl4cHJvamVjdC5vcmcv" |
|
let url; |
|
try { |
|
url = atob(EncodeUrl); |
|
} catch (e) { |
|
console.error("Could not decode the string! " + e); |
|
} |
|
const headers = { |
|
"Accept": "application/json", |
|
"Content-Type": "application/json", |
|
"Accept-Language": "en", |
|
"Connection": "keep-alive", |
|
"Origin": "https://remix.ethereum.org", |
|
"Referer": "https://remix.ethereum.org/", |
|
"Sec-Fetch-Dest": "empty", |
|
"Sec-Fetch-Mode": "cors", |
|
"Sec-Fetch-Site": "cross-site", |
|
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134" |
|
}; |
|
const response = await axios.post(url, GptModelOld(prompt), { headers, timeout: 50000 }); |
|
if (response.status === 200) { |
|
return response.data.choices[0].message.content + "\n\nPowered By xtdevs"; |
|
} |
|
|
|
} catch (error) { |
|
console.error("Error:", error.message); |
|
return null; |
|
} |
|
}; |
|
|
|
app.get('/api/gpt-old', async (req, res) => { |
|
try { |
|
const query = req.query.query; |
|
const results = await OpenaiRes(query); |
|
res.json({ results }); |
|
} catch (error) { |
|
res.status(401).json({ error: error.message }); |
|
} |
|
}); |
|
|
|
|
|
startServer(app); |