const express = require('express'); const multer = require('multer'); const { Storage, File } = require('megajs'); const fs = require('fs'); require('dotenv').config(); const app = express(); const port = process.env.PORT || 7860; // Setup penyimpanan sementara untuk upload transit const upload = multer({ dest: '/tmp/' }); app.use(express.json()); let megaStorage; // Variabel tracker statis sederhana (akan ter-reset jika space restart/tidur) let totalFiles = 0; let totalBytes = 0; let totalDownloads = 0; // Fungsi format ukuran biner function formatBytes(bytes, decimals = 2) { if (!bytes) return '0 B'; const k = 1024; const dm = decimals < 0 ? 0 : decimals; const sizes = ['B', 'KB', 'MB', 'GB', 'TB']; const i = Math.floor(Math.log(bytes) / Math.log(k)); return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i]; } async function connectStorage() { return new Promise((resolve, reject) => { const email = process.env.MEGA_EMAIL; const password = process.env.MEGA_PASSWORD; if (!email || !password) { console.error("ERROR: Variabel lingkungan kredensial belum diatur!"); return reject("Kredensial kosong"); } const storage = new Storage({ email: email, password: password, keepalive: true }, (err) => { if (err) return reject(err); console.log('✓ Sistem backend CDN siap dan terhubung!'); resolve(storage); }); }); } connectStorage().then(storage => { megaStorage = storage; }).catch(err => { console.error('⚠️ Gagal menginisialisasi storage:', err); }); // Endpoint 1: Frontend Dashboard Utama (Tema Putih Bersih Premium) app.get('/', (req, res) => { const hostUrl = `${req.protocol}://${req.get('host')}`; res.send(`
Secure CDN Gateway
Unggah Berkas, Dapatkan Direct Link
Sistem direct link CDN mandiri berkecepatan tinggi dengan enkripsi awan ganda yang aman dan global.
Total File Aktif
Seluruh file yang tersimpan di CDN
Kapasitas Terpakai
Total kapasitas cloud terpakai
Total Pengunduhan
File dikonsumsi via link CDN
Node Storage Cluster
Penyimpanan cloud node terenkripsi aktif
Dapatkan direct link, embedding, dan direct download berkecepatan tinggi instan dengan mengunggah berkas ke gateway kami.
Infrastruktur andal yang dioptimalkan untuk performa pengiriman aset digital terbaik.
Dapatkan link bersih langsung tanpa halaman pengalihan, iklan, atau timer. Sempurna untuk disematkan langsung pada HTML, Markdown, stylesheet, atau tag media web.
Mendukung kebijakan penuh Cross-Origin Resource Sharing (CORS). Integrasikan aset seperti gambar kustom, font kustom, atau file JSON dari domain manapun secara mulus.
Semua aset diunggah langsung dan disimpan ke dalam penyimpanan awan MEGA terenkripsi yang aman untuk menjamin ketersediaan data Anda tetap utuh, aman, dan dapat diakses terus.
Deteksi tipe konten otomatis secara cerdas. Server menyajikan berkas dengan header Content-Type yang akurat agar dapat di-render atau diputar langsung di browser.
Kirim berkas media berukuran besar seperti video klip, track musik berkualitas tinggi, dokumen PDF tebal, hingga kompresi zip tanpa takut batasan ukuran yang kecil.
Berkas tidak memiliki batas kedaluwarsa waktu. File Anda tetap tersimpan utuh di gateway awan tanpa kekhawatiran akan terhapus otomatis setelah beberapa hari.
file. Respon akan mengembalikan URL streaming langsung secara instan.
curl -X POST "${hostUrl}/api/upload" \\\n -F "file=@/path/to/your/file.png"