Commit Graph
143 Commits
Author SHA1 Message Date
germondai 08b595af6a feat(tiers): route proxy pool selection through orchestrator 2026-07-05 16:40:42 +02:00
germondai cd5b674c34 feat(types): add per-request proxy override field 2026-07-05 16:40:42 +02:00
germondai a9f18cf382 feat(tiers): rework proxy rotator into sticky failure-aware pool 2026-07-05 16:40:36 +02:00
germondai d4bb9533c9 docs: document imperva/incapsula solving in tiered execution 2026-07-05 16:40:29 +02:00
germondai 2d8769b4f5 feat(tiers): solve imperva challenges in tier3 and tier4 2026-07-05 16:40:17 +02:00
germondai 15cae0ff30 feat(tiers): add imperva sensor cookie wait resolver 2026-07-05 16:40:11 +02:00
germondai 56e9c2cfe3 feat(tiers): detect imperva/incapsula waf challenges 2026-07-05 16:40:11 +02:00
germondai 3711e2e041 fix(tiers): actually thread proxy url into tier3 browser context 2026-07-05 16:39:53 +02:00
germondai df1cf47d08 fix(browser): support per-context proxy override in fresh contexts 2026-07-05 16:39:18 +02:00
germondai c2b328d841 docs: mention bun kernel version requirements for :baseline vs :latest v0.4.0 2026-07-01 19:04:43 +02:00
germondai a6ee080d44 docs(readme): confirm :baseline works on synology per issue #1 2026-07-01 18:55:04 +02:00
germondai a8ae937ba2 feat(web): mention :baseline image tag on landing page 2026-07-01 18:55:02 +02:00
germondai 182dd2e4f6 docs(deployment): document :baseline image variant and add crash-loop troubleshooting entry 2026-07-01 18:55:00 +02:00
germondai 55b098e061 fix(dockerfile): drop duplicate camoufox fetch for baseline version 2026-07-01 17:26:36 +02:00
GermondandGitHub 0cd4e52716 Merge pull request #6 from germondai/1-bug-docker-image-crashes-on-startup-missing-memoirist-eisdir-camoufox-js
1 bug docker image crashes on startup missing memoirist eisdir camoufox js
2026-07-01 17:19:14 +02:00
germondai 668ad9938d fix(docker): switch bun install to --linker=hoisted to fix EISDIR/module-not-found crash loop 2026-07-01 14:33:46 +02:00
GermondandGitHub 94c499b254 Merge pull request #4 from germondai/3-bug-docker-healthchecks-are-failing
3 bug docker healthchecks are failing
2026-07-01 12:49:30 +02:00
germondai 177f598f83 fix(docker): replace wget with curl healthcheck, add timeout and start_period 2026-07-01 12:36:06 +02:00
germondai 23ff002fd4 fix(dockerfile): add curl to runtime stage, drop duplicate camoufox fetch 2026-07-01 12:36:06 +02:00
germondai bddd70cfca fix(api): return 503 from /health while browser pool is initializing 2026-07-01 12:36:06 +02:00
germondai 06128d827f fix(ci): fix baseline workflow multi-arch race condition and allow workflow_dispatch from any branch 2026-07-01 00:50:50 +02:00
germondai f9a3a0314c ci: use semver-baseline tag pattern (1.0.0-baseline) 2026-06-30 23:30:48 +02:00
germondai 0a32a05cff ci: publish baseline to same ghcr package as :latest (:baseline tag) 2026-06-30 23:05:12 +02:00
germondai 64e1c1ec8a docs: document two-image setup (latest + baseline, no legacy) 2026-06-30 16:04:49 +02:00
germondai a36b411f45 ci: publish trawl-baseline to a separate GHCR image 2026-06-30 16:03:30 +02:00
germondai ab8c9a8a76 feat(api): add Bun-baseline Dockerfile variant for older CPUs and kernels 2026-06-30 16:02:55 +02:00
germondai f397a4455f fix(api): re-add memoirist and camoufox-js as explicit deps for production install 2026-06-30 16:02:38 +02:00
germondai 83c30c69f7 docs(readme): fix BROWSER_POOL_SIZE default and document BROWSER_ACQUIRE_TIMEOUT_MS v0.3.0 2026-06-30 00:33:31 +02:00
germondai 59ba779d3c docs: document BROWSER_ACQUIRE_TIMEOUT_MS and HTTP 429 on pool exhaustion 2026-06-30 00:22:57 +02:00
germondai efaf0c96a0 feat(browser): make acquire timeout configurable, default 15s 2026-06-29 23:59:05 +02:00
germondai 6cfa87c9a5 chore(api): bump default browser pool size to 3 2026-06-29 23:12:51 +02:00
germondai 9cd79fe01e style: biome lint, format, and check pass 2026-06-29 23:10:28 +02:00
germondai 002e55d88b test: add scripts/test-scrape-burst.sh for /scrape load testing 2026-06-29 23:08:57 +02:00
germondai 182d3dc1eb fix(api): surface browser pool exhaustion as 429 not 500 2026-06-29 22:35:01 +02:00
germondai a42b3a11af feat(api): add concurrency limiter to prevent oom under burst load 2026-06-29 22:11:50 +02:00
germondai df79859ebe chore(api): drop @elysiajs/cors, restrict api to non-browser clients 2026-06-29 20:39:52 +02:00
germondai d125ec3f81 feat(web): add custom headers row to compare table v0.2.0 2026-06-26 22:23:45 +02:00
germondai 738899c120 feat(web): add fastest badge to CF bypass, exclusive badge to custom headers, reorder features grid 2026-06-26 22:23:43 +02:00
germondai 2d3fd34ce4 fix(docker): add .dockerignore to web and docs to exclude node_modules from build context 2026-06-26 22:05:59 +02:00
germondai f2434cd352 feat(web): add custom headers feature card, code tab, and 3-column grid layout 2026-06-26 22:05:54 +02:00
germondai 55f3fc8664 docs: add custom headers reference page and update API docs 2026-06-26 22:05:47 +02:00
germondai 5c84b33808 feat(api): add CORS support and expose custom headers on /v1 and /scrape 2026-06-26 22:05:41 +02:00
germondai 3a99c90843 feat(tiers): forward custom headers to browser tiers via url-scoped route interception 2026-06-26 22:05:36 +02:00
germondai 990241a3ec feat(tiers): add headers field to ScrapeRequest and wire through orchestrator to tier1 2026-06-26 22:05:30 +02:00
germondai 77bd63c724 feat(api): make cmd optional on /v1, defaulting to request.get 2026-06-26 21:34:12 +02:00
germondai a59474d8de fix(docker): use relative paths in web and docs Dockerfiles for per-directory build context 2026-06-26 20:42:01 +02:00
germondai 522432cf18 fix(web): switch nuxt build to generate for static nginx deployment 2026-06-26 20:36:04 +02:00
germondai 17ce53786b fix(ci): replace {{is_default_branch}} with explicit ref check for latest tag 2026-06-26 20:28:17 +02:00
germondai cf7ca8bba7 fix(ci): two-phase multi-arch publish with per-digest build and manifest merge 2026-06-26 20:09:00 +02:00
germondai 6fd7b0d88d fix(ci): use native arm64 runner and fix cross-platform native bindings 2026-06-26 19:49:57 +02:00