File size: 5,312 Bytes
dc7aadc 8bf27ec cb25c80 dc7aadc 7dd5c4c b7604ef 7dd5c4c e1a7fd3 81d3ebe e1a7fd3 81d3ebe e1a7fd3 81d3ebe e1a7fd3 81d3ebe dc7aadc 90e4651 dc7aadc 6af284c 88b8ef4 a0f3bc5 29d38ea a0f3bc5 6c8d3a7 e1a7fd3 88b8ef4 3893e2e 8babfe5 66a7c30 d312f25 88b8ef4 a554442 d312f25 66a7c30 d312f25 d753ef3 4043d79 376597e d753ef3 419fa76 4043d79 d753ef3 4043d79 17f2e27 d753ef3 17f2e27 4ebce36 d753ef3 17f2e27 4ebce36 7dd5c4c |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 |
const express = require('express')
const app = express()
const port = 7860
const axios = require('axios')
const { connectToMongoDB } = require('./database');
const startup = async () => {
try {
console.log("Starting application...");
await connectToMongoDB();
console.log("MongoDB connected successfully.");
} catch (error) {
console.error("Error during startup:", error.message);
process.exit(1);
}
};
const startServer = async () => {
await startup();
app.listen(port, () => {
console.log(`Server running on http://localhost:${port}`);
});
};
const IPAddressAndUpdate = async (ip) => {
try {
const db = await connectToMongoDB();
const collection = db.collection("FastJsAPI");
const filter = { ip: ip };
const update = { $set: { ip: ip } };
const result = await collection.updateOne(filter, update, { upsert: true });
if (result.upsertedCount > 0) {
console.log("Inserted a new IP address:", ip);
} else {
console.log("Updated an existing IP address:", ip);
}
} catch (error) {
console.error("Error updating IP address:", error.message);
}
};
const AddIpisBlocked = async (ip) => {
try {
const db = await connectToMongoDB();
const collection = db.collection("FastJsAPI");
const filter = { ip: ip };
const update = { $set: { blocked: true } };
const result = await collection.updateOne(filter, update, { upsert: true });
if (result.upsertedCount > 0) {
console.log("Inserted a new IP address:", ip);
} else {
console.log("Updated an existing IP address:", ip);
}
} catch (error) {
console.error("Error updating IP address:", error.message);
}
};
const CheckIsBlocked = async (ip) => {
try {
const db = await connectToMongoDB();
const collection = db.collection("FastJsAPI");
const filter = { ip: ip };
const FindIp = await collection.findOne(filter);
if (FindIp) {
console.log("IP found in the database:", FindIp);
return FindIp;
} else {
console.log("IP not found in the database");
return null;
}
} catch (error) {
console.error("Error checking IP:", error.message);
return null;
}
};
app.get('/', (req, res) => {
res.redirect('https://t.me/RendyProjects');
});
app.use(async (req, res, next) => {
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 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 AddIpisBlocked(realIP)
return res.status(403).send("Access denied: IP is blocked..");
}
await 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 {
// console.log("Test", req)
res.send("Hello world")
} catch (error) {
res.status(401).json({error: error.message})
}
})
const payload = (prompt) => ({
model: "gpt-4o",
prompt: prompt,
top_p: 1,
logprobs: null,
stop: null
});
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, payload(prompt), { headers, timeout: 50000 });
if (response.status === 200) {
return response.data.choices[0].message.content + "\n\nPowered By xtdevs";
}
// console.log("Response:", response)
} 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(); |