Files
Tara Menon d5cab65099 feat: embed daemon JS in binary, eliminate npm install of camoufox-browser
The daemon JS files (daemon.js, server.js, browser.js, protocol.js,
snapshot.js, ipc.js) are now EMBEDDED in the compiled Rust binary via
include_dir! and extracted to ~/.gyandoot/daemon/ on first run.

This eliminates the need to npm install -g camoufox-browser@0.1.0,
which bundles an incompatible camoufox-js@0.9.3 that caused:
- 'Cannot open database' errors
- Re-downloading 298MB browser on every navigation
- Circular install/remove/install loops

Now the daemon imports camoufox-js from the global npm install (v0.11.0)
which is installed by install.sh. Clean, no bundled deps, no conflicts.

Also removed: is_npm_package_installed(), install_npm_package(),
find_daemon_js() — all replaced by gyandoot_browser::daemon::extract_daemon()
2026-06-13 23:22:15 +05:30

17 lines
471 B
JavaScript

#!/usr/bin/env node
/**
* Daemon entrypoint (spawned by CLI).
*
* Listens on a per-session IPC endpoint (Unix socket or Windows localhost TCP).
* The CLI communicates via JSON-line protocol.
*/
import { DaemonServer } from "./server.js";
async function main() {
const server = new DaemonServer();
await server.start();
}
main().catch((err) => {
process.stderr.write(`[camoufox-browser] Fatal: ${err?.message ?? String(err)}\n`);
process.exit(1);
});