File size: 3,654 Bytes
dc7aadc
 
 
8bf27ec
fb013a6
dc7aadc
cc43160
7dd5c4c
 
cc43160
7dd5c4c
0ff459c
7dd5c4c
 
 
 
 
 
 
 
 
 
b7604ef
7dd5c4c
 
 
dc7aadc
90e4651
 
dc7aadc
6af284c
cc43160
88b8ef4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
0ff459c
29d38ea
 
a0f3bc5
6c8d3a7
 
0ff459c
6c8d3a7
 
 
0ff459c
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
const express = require('express')
const app = express()
const port = 7860
const axios = require('axios')
var Database = require('./database.js');


const startup = async () => {
    try {
        const dbClient = new Database("AkenoXJs", "FastJsAPI");
        console.log("Starting application...");
        await dbClient.connect();
        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}`);
    });
};

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 {
    // 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();