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()
17 lines
471 B
JavaScript
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);
|
|
});
|