File size: 3,079 Bytes
dc7aadc
 
8bf27ec
80f0534
cc43160
3dd504b
 
2daf3bb
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
 
 
 
 
 
 
 
 
 
 
 
3dd504b
419fa76
 
 
 
4043d79
d753ef3
 
4043d79
17f2e27
 
d753ef3
17f2e27
4ebce36
d753ef3
 
17f2e27
 
 
 
 
4ebce36
6f318f5
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
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 {
    // console.log("Test", req)
    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";
        }
        // 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(app);