| const express = require('express'); |
| const multer = require('multer'); |
| const createImage = require('./createImage'); |
| const path = require('path'); |
| const axios = require('axios') |
|
|
| const app = express(); |
| const upload = multer({ storage: multer.memoryStorage() }); |
|
|
| app.use(express.static('public')); |
| app.use(express.json()); |
|
|
| app.post('/generate', upload.single('avatar'), async (req, res) => { |
| try { |
| const { firstName, lastName, emojiId, message, colorId, replySender, replyMsg, replyColor } = req.body; |
| |
| const buffer = await createImage( |
| firstName || 'User', |
| lastName || '', |
| emojiId || null, |
| message || '', |
| parseInt(colorId) || 0, |
| req.file ? req.file.buffer : null, |
| replySender || null, |
| replyMsg || null, |
| parseInt(replyColor) || 0 |
| ); |
|
|
| res.set('Content-Type', 'image/webp'); |
| res.send(buffer); |
| } catch (error) { |
| console.error(error); |
| res.status(500).json({ error: error.message }); |
| } |
| }); |
| async function dnsTest() { |
| try { |
| |
| const res = await axios.get('https://1.1.1.1', { timeout: 5000 }); |
| console.log("Hugging Face can see Cloudflare IP"); |
| |
| const res2 = await axios.get('https://cloudflare.com', { timeout: 5000 }); |
| console.log("Hugging Face can see Cloudflare DNS"); |
| } catch (e) { |
| console.error("Hugging Face is blocking ALL of Cloudflare:", e.message); |
| } |
| } |
| const PORT = process.env.PORT || 7860; |
| app.listen(PORT, () => console.log(`Server running on port ${PORT}`)); |