284 Commits
Author SHA1 Message Date
germondai 121f57b681 chore(release): finalize v1.3.0 changelog v1.3.0 2026-08-02 03:37:05 +02:00
GermondandGitHub 1f38465ddb Merge pull request #47 from nandyalu/fix/tier1-full-body-response
fix(tiers): return full body from Tier 1, not the 4 KiB detection preview
2026-08-02 03:20:51 +02:00
germondai 3a3226ed20 chore(release): prepare v1.3.0 dependencies 2026-08-02 03:07:04 +02:00
germondai 0fb4097388 docs: refresh feature overview and project contact addresses 2026-08-02 02:46:53 +02:00
germondai 7715f33dc7 fix(web): update canonical site URL 2026-08-02 02:46:07 +02:00
germondai 7456e75990 fix(docker): preserve architecture-specific Camoufox metadata and tune browser pool defaults 2026-08-02 02:37:36 +02:00
germondai 2fc1031874 docs: update API, architecture, proxy, deployment, and integration guides 2026-08-02 02:35:35 +02:00
germondai 357767ce3c feat(web): refresh landing page content, comparisons, proxy showcase, and SEO 2026-08-02 02:34:34 +02:00
nandyaluandClaude Fable 5 de0bc788fc test(tiers): add full-body regression tests; reuse preview when body fits
Address review feedback:
- Reuse previewText on success when the body fits inside the preview
  window, avoiding a redundant second decode for small responses.
- Add regression tests for #46: full html for >4 KiB responses, a
  multi-byte character straddling the preview boundary, and small
  responses returned unchanged. Verified the large-body test fails
  against the pre-fix Tier 1.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-29 00:30:13 -05:00
nandyaluandClaude Fable 5 53154aabe1 fix(tiers): return full body from Tier 1, not the 4 KiB detection preview
Since d1ebbdd (1.2.0), Tier 1 reuses previewText — the 4096-byte slice
decoded for challenge detection — as the html field on success. The
/v1 and /scrape routes serve html as solution.response, so any
non-challenged text response larger than 4 KiB comes back silently
truncated: HTTP 200, status ok, no error anywhere.

Decode the full rawBytes buffer for html instead. previewText remains
bounded and is still used only for challenge/block detection. Tiers
2-4 are unaffected (their html is the browser-rendered DOM).

Fixes #46

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-29 00:23:37 -05:00
GermondandGitHub d899a507e1 Merge pull request #44 from germondai/26-doc-examples-for-residential_proxy_
docs(proxy): document residential proxy setup
2026-07-27 03:29:59 +02:00
germondai 01b911d2e8 docs(proxy): document residential proxy setup 2026-07-27 03:27:57 +02:00
GermondandGitHub f036541045 Merge pull request #43 from germondai/40-bug-authenticated-proxy-fails-on-firefoxcamoufox-credentials-embedded-in-proxyserver-are-ignored-tier-34-ns_error_proxy_connection_refused
fix(proxy): support authenticated browser proxies
2026-07-27 03:11:12 +02:00
germondai 78836d6ed7 fix(proxy): support authenticated browser proxies 2026-07-27 03:08:16 +02:00
germondai 3a4d7491b3 Merge pull request #37 from funkypenguin/fix/bound-restart-and-reclaim-stalled 2026-07-27 02:40:41 +02:00
germondai 98e61d3770 Merge pull request #33 from edasque/feat/akamai-support 2026-07-26 17:27:02 +02:00
germondai 52e9700642 Merge pull request #42 from potatosips/fix/validate-request-bodies 2026-07-26 17:01:31 +02:00
germondai f397815fe7 fix(compose): pass upstream proxy configuration 2026-07-26 16:39:52 +02:00
germondai f08f5a2b44 chore(release): prepare v1.2.0 v1.2.0 2026-07-26 16:18:47 +02:00
germondai 6d49011114 refactor(web): simplify GitHub stars fallback 2026-07-26 15:12:09 +02:00
germondai d0fd300745 docs(changelog): record proxy architecture changes 2026-07-26 14:41:52 +02:00
germondai c528b45c98 docs(readme): document transparent proxy usage 2026-07-26 14:06:38 +02:00
germondai a71f1ac8d3 docs(proxy): add setup and operation guides 2026-07-26 13:18:27 +02:00
germondai a60635ea07 docs(config): clarify environment variables 2026-07-26 11:37:24 +02:00
germondai 1837293f5a chore(compose): expose and persist forward proxy 2026-07-26 10:54:43 +02:00
potatosips bcbdf13801 docs: note request validation fix 2026-07-26 14:10:11 +06:00
potatosips 09c8eb9608 fix(api): validate request bodies before scraping 2026-07-26 14:09:13 +06:00
germondai cbf6749103 ci: expand container publishing workflows 2026-07-26 08:29:16 +02:00
germondai 48ccac75ee test: add workspace test command 2026-07-25 19:06:37 +02:00
germondai eff5760ef5 feat(api): wire proxy lifecycle and context cache 2026-07-25 17:42:11 +02:00
germondai e62e73554c feat(proxy): route traffic through tiered fallback 2026-07-25 15:13:58 +02:00
germondai d7cca3ec44 feat(proxy): add challenge-aware response policy 2026-07-25 12:47:26 +02:00
germondai ce028e201c feat(proxy): add adaptive direct forwarding 2026-07-25 10:22:39 +02:00
germondai 748d89dfc5 refactor(proxy): normalize proxy pool fallbacks 2026-07-25 08:34:12 +02:00
germondai 1d752aee92 feat(proxy): add transparent header sanitization 2026-07-24 18:19:44 +02:00
germondai fa2bcbb64f refactor(solvers): simplify optional results 2026-07-24 16:51:07 +02:00
germondai d1ebbddf38 feat(tiers): preserve raw response payloads 2026-07-24 14:26:31 +02:00
germondai defade4324 refactor(browser): simplify optional pool state 2026-07-24 12:08:55 +02:00
germondai 3e26a7e990 feat(browser): add persistent context cache 2026-07-24 10:43:18 +02:00
germondai a62019cd55 refactor(types): add raw response metadata 2026-07-24 09:17:42 +02:00
germondai 873eed005e ci(publish-baseline): tag every build with the rolling :baseline pointer 2026-07-23 00:45:29 +02:00
germondai 2d5ae6f30d ci(publish): strip v prefix from docker tags + gate nightly-<sha> to main 2026-07-23 00:45:16 +02:00
germondai 23fd733c16 docs(readme): document all MITM proxy env vars + host/maxTier defaults 2026-07-23 00:45:03 +02:00
germondai 90fc9b59dd chore(tiers): export isChallengeWall + SolveResult type from public API v1.1.0 2026-07-22 23:15:09 +02:00
germondai 2840af1d13 chore(release): bump all packages to v1.1.0 2026-07-22 23:13:17 +02:00
germondai 0ad5522812 docs(changelog): add v1.1.0 release notes (MITM forward-proxy mode) 2026-07-22 23:13:17 +02:00
germondai f427ebb5b1 docs(env): document MITM_PROXY_HOST default + loopback override 2026-07-22 23:13:16 +02:00
germondai 7107b2f224 feat(proxy): make host required + universal challenge wall detection 2026-07-22 23:13:16 +02:00
germondai 000b48d2e7 feat(tiers): extract isChallengeWall as universal challenge predicate 2026-07-22 23:08:05 +02:00
germondai b67af4c7e6 fix(ci): inspect uses fully-qualified tag from metadata-action JSON 2026-07-22 20:06:04 +02:00