Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md

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

The Camoufox browser itself is downloaded with npx camoufox-js fetch into the per-user cache directory (~/.cache/camoufox on Linux). Set the CAMOUFOX_INSTALL_DIR environment variable to install and resolve it from a custom location instead — useful in containers and CI images where the home directory is ephemeral or persisted separately (similar to Playwright's PLAYWRIGHT_BROWSERS_PATH):

CAMOUFOX_INSTALL_DIR=/opt/camoufox npx camoufox-js fetch

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.

关于 About

Experimental Camoufox JS port

语言 Languages

TypeScript96.7%
JavaScript3.3%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
198
Total Commits
峰值: 14次/周
Less
More

核心贡献者 Contributors