kyuurzy

Carbon Sh

Dec 22nd, 2025
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
JavaScript 1.95 KB | Source Code | 0 0
  1. // carbon.js
  2. const crypto = require("crypto")
  3. async function codeToImageUrl(code, backgroundColor = '#ADD8E6') {
  4.     const payload = {
  5.         code: code,
  6.         backgroundColor: backgroundColor,
  7.         lineNumbers: true
  8.     };
  9.     const response = await fetch('https://carbonara.solopov.dev/api/cook', {
  10.         method: 'POST',
  11.         headers: {
  12.             'Content-Type': 'application/json'
  13.         },
  14.         body: JSON.stringify(payload)
  15.     });
  16.     const buffer = await response.arrayBuffer();
  17.    
  18.     const fileName = crypto.randomBytes(8).toString('hex') + '.png';
  19.     const visitorId = crypto.randomUUID();
  20.    
  21.     const boundary = '----WebKitFormBoundary' + crypto.randomBytes(16).toString('hex');
  22.    
  23.     const body = Buffer.concat([
  24.         Buffer.from(`--${boundary}\r\n`),
  25.         Buffer.from(`Content-Disposition: form-data; name="file"; filename="${fileName}"\r\n`),
  26.         Buffer.from(`Content-Type: image/png\r\n\r\n`),
  27.         Buffer.from(buffer),
  28.         Buffer.from(`\r\n--${boundary}--\r\n`)
  29.     ]);
  30.     const headers = {
  31.         'User-Agent': 'Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Mobile Safari/537.36',
  32.         'Content-Type': `multipart/form-data; boundary=${boundary}`
  33.     };
  34.     const url = `https://api.aceimg.com/api/upload?visitorId=${visitorId}`;
  35.     const uploadResponse = await fetch(url, {
  36.         method: 'POST',
  37.         headers: headers,
  38.         body: body
  39.     });
  40.     const result = await uploadResponse.json();
  41.    
  42.     if (result.status && result.link) {
  43.         const fileName = result.link.match(/f=([^&]+)/)?.[1];
  44.         if (fileName) {
  45.             return JSON.stringify({
  46.                 status: true,
  47.                 cdnUrl: `https://cdn.aceimg.com/${fileName}`,
  48.                 previewUrl: result.link
  49.             });
  50.         }
  51.     }
  52.    
  53.     return JSON.stringify({
  54.         status: false,
  55.         error: "Upload failed"
  56.     });
  57. }
  58.  
Advertisement
Add Comment
Please, Sign In to add comment