Skip to main content
Glama
postbuild-obfuscate.js1.44 kB
import { readdir, readFile, writeFile } from 'fs/promises'; import { join } from 'path'; import JavaScriptObfuscator from 'javascript-obfuscator'; const distDir = join(process.cwd(), 'dist'); async function obfuscateFile(file) { if (!file.endsWith('.js')) return; const filePath = join(distDir, file); let code = await readFile(filePath, 'utf8'); let shebang = ''; if (code.startsWith('#!')) { const idx = code.indexOf('\n'); if (idx !== -1) { shebang = code.slice(0, idx + 1); code = code.slice(idx + 1); } } const obfuscated = JavaScriptObfuscator.obfuscate(code, { compact: true, controlFlowFlattening: true, controlFlowFlatteningThreshold: 0.75, deadCodeInjection: true, deadCodeInjectionThreshold: 0.4, stringArray: true, stringArrayEncoding: ['base64'], stringArrayThreshold: 0.9, unicodeEscapeSequence: false, }); const out = shebang + obfuscated.getObfuscatedCode(); await writeFile(filePath, out, 'utf8'); console.log('Obfuscated', filePath); } async function run() { try { const files = await readdir(distDir); for (const f of files) { await obfuscateFile(f); } console.log('Obfuscation complete'); } catch (err) { console.error('Obfuscation failed:', err); process.exit(1); } } run();

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/babasida246/ai-mcp-gateway'

If you have feedback or need assistance with the MCP directory API, please join our Discord server