Run a high-fidelity browser-based web archiving crawler in a single Docker container https://crawler.docs.browsertrix.com
Find a file
Misty De Méo 75b93f0baa
crawler: add --ignoreScopeForBehaviorLinks to treat addLink links as in scope unless excluded (#1037)
Previously, links added via behaviors could be rejected as out of
scope. This could be confusing to users, who may have expected these
URLs to end up being included. For example, when archiving an Instagram
profile, we add URLs to archive the stories, but these would be skipped
if the profile was added via certain scopes. This adds a new
`--ignoreScopeForBehaviorLinks` parameter which, when present, causes us to ignore the
usual out of scope check and only consider explicit exclusions.
Also convert params to various URL queuing options to used structured opt
Fixes #1033.

---------

Co-authored-by: Ilya Kreymer <ikreymer@gmail.com>
2026-06-22 17:23:31 -07:00
.github/workflows Add option to combine docker layers and minimize build size (#1052) 2026-06-22 10:34:38 -07:00
.husky Add MKDocs documentation site for Browsertrix Crawler 1.0.0 (#494) 2024-03-16 14:59:32 -07:00
config/policies brave: update policies to disable new brave services (#914) 2025-11-14 20:00:58 -08:00
docs Page Level Dedupe support: (#1018) 2026-04-30 20:14:42 +02:00
html Dynamically adjust reported aspect ratio based on GEOMETRY (#794) 2025-04-01 18:26:12 -07:00
src crawler: add --ignoreScopeForBehaviorLinks to treat addLink links as in scope unless excluded (#1037) 2026-06-22 17:23:31 -07:00
tests crawler: add --ignoreScopeForBehaviorLinks to treat addLink links as in scope unless excluded (#1037) 2026-06-22 17:23:31 -07:00
.dockerignore Add ad blocking via request interception (#173) 2022-11-15 18:30:27 -08:00
.eslintignore follow-up to #428: update ignore files (#431) 2023-11-09 17:13:53 -08:00
.eslintrc.cjs fix: resolve dependency CVEs, fix ws v8 screencast regression, prune devDependencies from image (#1042) 2026-06-15 20:56:29 -07:00
.gitignore Gracefully handle non-absolute path for create-login-profile --filename (#521) 2024-03-29 13:46:54 -07:00
.pre-commit-config.yaml Add Prettier to the repo, and format all the files! (#428) 2023-11-09 16:11:11 -08:00
.prettierignore follow-up to #428: update ignore files (#431) 2023-11-09 17:13:53 -08:00
.prettierrc Dynamically adjust reported aspect ratio based on GEOMETRY (#794) 2025-04-01 18:26:12 -07:00
CHANGES.md Add Prettier to the repo, and format all the files! (#428) 2023-11-09 16:11:11 -08:00
docker-compose.yml Add Prettier to the repo, and format all the files! (#428) 2023-11-09 16:11:11 -08:00
docker-entrypoint.sh clear out core dumps to avoid using up volume space: (#740) 2025-01-16 15:50:59 -08:00
Dockerfile Add option to combine docker layers and minimize build size (#1052) 2026-06-22 10:34:38 -07:00
jest.config.js Convert tests from JS to TS (#1003) 2026-04-02 17:05:41 -07:00
LICENSE initial commit after split from zimit 2020-10-31 13:16:37 -07:00
NOTICE initial commit after split from zimit 2020-10-31 13:16:37 -07:00
package.json Add option to combine docker layers and minimize build size (#1052) 2026-06-22 10:34:38 -07:00
README.md Add MKDocs documentation site for Browsertrix Crawler 1.0.0 (#494) 2024-03-16 14:59:32 -07:00
requirements.txt Separate writing pages to pages.jsonl + extraPages.jsonl to use with new py-wacz (#535) 2024-04-11 13:55:52 -07:00
test-setup.js Fix disk utilization computation errors (#338) 2023-07-05 21:58:28 -07:00
tsconfig.eslint.json eslint: add strict await checking: (#684) 2024-09-06 16:24:18 -07:00
tsconfig.json Convert tests from JS to TS (#1003) 2026-04-02 17:05:41 -07:00
tsconfig.test.json Convert tests from JS to TS (#1003) 2026-04-02 17:05:41 -07:00
yarn.lock Add option to combine docker layers and minimize build size (#1052) 2026-06-22 10:34:38 -07:00

Browsertrix Crawler 1.x

Browsertrix Crawler is a standalone browser-based high-fidelity crawling system, designed to run a complex, customizable browser-based crawl in a single Docker container. Browsertrix Crawler uses Puppeteer to control one or more Brave Browser browser windows in parallel. Data is captured through the Chrome Devtools Protocol (CDP) in the browser.

For information on how to use and develop Browsertrix Crawler, see the hosted Browsertrix Crawler documentation.

For information on how to build the docs locally, see the docs page.

Support

Initial support for 0.x version of Browsertrix Crawler, was provided by Kiwix. The initial functionality for Browsertrix Crawler was developed to support the zimit project in a collaboration between Webrecorder and Kiwix, and this project has been split off from Zimit into a core component of Webrecorder.

Additional support for Browsertrix Crawler, including for the development of the 0.4.x version has been provided by Portico.

License

AGPLv3 or later, see LICENSE for more details.