123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- const express = require('express');
- const { createProxyMiddleware } = require('http-proxy-middleware');
- const crypto = require('crypto');
- const bodyParser = require('body-parser');
- const password = '2023'
- function encrypt(text) {
- const cipher = crypto.createCipher('aes-256-cbc', password);
- let encrypted = cipher.update(text, 'utf8', 'hex');
- encrypted += cipher.final('hex');
- return encrypted;
- }
- function decrypt(encrypted) {
- const decipher = crypto.createDecipher('aes-256-cbc', password);
- let decrypted = decipher.update(encrypted, 'hex', 'utf8');
- decrypted += decipher.final('utf8');
- return decrypted;
- }
- const app = express();
- const proxyOptions = {
- target: 'https://api.openai.com',
- changeOrigin: true,
- pathRewrite: { '^/api': '' }
- };
- const preProxyMiddleware = (req, res, next) => {
- console.log('代理请求前操作');
-
- req.body.messages[0].content = decrypt(req.body.messages[0].content);
- req.body.messages[1].content = decrypt(req.body.messages[1].content);
- console.log(req.body)
- next();
- };
- const postProxyMiddleware = (req, res, next) => {
- console.log('代理响应后操作');
-
- console.log(res.json())
- next();
- };
- app.use(bodyParser.json());
- app.use(bodyParser.urlencoded({ extended: false }));
- app.use('/api', preProxyMiddleware, createProxyMiddleware(proxyOptions), postProxyMiddleware);
- const PORT = process.env.PORT || 3001;
- app.listen(PORT, () => {
- console.log(`Server is running on port ${PORT}`);
- });
|