JSPM

@phi-code-admin/camoufox-js

1.0.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 11
  • Score
    100M100P100Q79526F
  • License MPL-2.0

Phi-code vendored JS port of Camoufox (anti-detect Firefox launcher). Snapshot of apify/camoufox-js@562117321 with binary lookup via @phi-code-admin/camoufox-bin-* optional deps instead of GitHub fetch. MPL-2.0.

Package Exports

  • @phi-code-admin/camoufox-js
  • @phi-code-admin/camoufox-js/dist/index.js
  • @phi-code-admin/camoufox-js/dist/virtdisplay.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@phi-code-admin/camoufox-js) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

camoufox-js

This is the JavaScript client for Camoufox. It is a port of the Python wrapper (doesn't call the original Python scripts).

Installation

npm install camoufox-js

Usage

You can launch Playwright-controlled Camoufox using this package like this:

import { Camoufox } from 'camoufox-js';

// you might need to run `npx camoufox-js fetch` to download the browser after installing the package

const browser = await Camoufox({
    // custom camoufox options
});
            
const page = await browser.newPage(); // `page` is a Playwright Page instance

Alternatively, if you want to use additional Playwright launch options, you can launch the Camoufox instance like this:

import { launchOptions } from 'camoufox-js';
import { firefox } from 'playwright-core';

// you might need to run `npx camoufox-js fetch` to download the browser after installing the package

const browser = await firefox.launch({
    ...await launchOptions({ /* Camoufox options */ }),
    // other Playwright options, overriding the Camoufox options
});
            
const page = await browser.newPage(); // `page` is a Playwright Page instance

Launching a Camoufox server

Camoufox can be ran as a remote websocket server. It can be accessed from other devices, and languages other than Python supporting the Playwright API.

import { launchServer } from 'camoufox-js';
import { firefox } from 'playwright-core';

// you might need to run `npx camoufox-js fetch` to download the browser after installing the package

const server = await launchServer({ port: 8888, ws_path: '/camoufox' });
const browser = await firefox.connect(server.wsEndpoint());

const page = await browser.newPage();

// ...
// Use your browser instance as usual
// ...

await browser.close();  
await server.close(); // Close the server when done

More info

See https://camoufox.com/ or https://github.com/daijro/camoufox for more information on Camoufox.