Commit Graph
143 Commits
Author SHA1 Message Date
CloakHQ 0811704e7f release: v0.5.9 — humanize selector fixes + info seat reporting 2026-08-25 16:16:33 +02:00
CloakHQ fac70ae84f docs: add CloakBrowser Manager section to README
Self-hosted profile manager, placed after the Pro section so the shared-key
story lands. Links to the site instead of pinning installer versions here.
2026-08-22 17:34:11 +02:00
CloakHQ be75a9b9e4 docs: clarify cloakserve CDP session cleanup 2026-08-20 23:07:57 +02:00
CloakHQ 0f375a3ab6 docs(readme): Chromium 151 now Stable on Linux + Windows 2026-08-18 21:33:20 +02:00
CloakHQ 2e5d493416 release: v0.5.8 — humanize post-nav, selectOption, and scroll fixes 2026-08-18 20:25:57 +02:00
CloakHQ 2488311072 docs(release): promote Chromium 150.0.7871.114.6 2026-08-11 04:57:00 +02:00
CloakHQ 289c8205b6 release: v0.5.7 — humanize input fixes 2026-08-11 04:14:02 +02:00
CloakHQ caf21e9e51 release: v0.5.6 — humanize stealth fixes 2026-08-08 00:12:48 +02:00
CloakHQ c1dd58902a release: v0.5.5 — info --proxy geoip resolution + Python 3.14 humanize fix 2026-08-05 17:35:33 +02:00
CloakHQ 9021e0c07f feat(cli): info --proxy resolves exit IP + timezone + locale
Wire the existing launch()-time geoip resolver into the info/doctor command
across Python, JS, and .NET. With --proxy, info resolves the exit IP and the
timezone/locale a launch would apply (caching the GeoIP DB if absent) and prints
them in text and --json. Plain info is unchanged (no network) and now hints at
the flag. Adds diagnostics tests in all three suites.
2026-08-05 17:32:33 +02:00
CloakHQ 3ceca98caf release: v0.5.4 — surface post-handshake license denials as CloakBrowserLicenseError 2026-08-04 20:59:47 +02:00
CloakHQ ed389e4435 docs(readme): copy whole Windows Fonts folder, not just *.ttf
A *.ttf glob skips .ttc collections like msgothic.ttc (MS UI Gothic),
one of the fonts the launch font-set warning requires (issue #480).
2026-08-04 15:42:22 +02:00
CloakHQ c2513a3c23 docs(readme): drop stale --fingerprint-fonts-dir flag 2026-07-31 18:26:51 +02:00
CloakHQ 9d978fd7c3 docs(readme): reframe Linux Windows fonts as recommended, not optional
The Windows OS fonts were labeled optional/CreepJS-only, but Linux
defaults to the Windows persona, so their absence is a font-fingerprint
tell. List the exact fonts the launch warning checks and add a verify
step (issue #480).
2026-07-31 17:21:43 +02:00
CloakHQ 59406d807c release: v0.5.3 — Windows font profile feature set + proxy identity and Windows CLI fixes 2026-07-30 03:13:56 +02:00
CloakHQ ec1ea4cef3 docs: drop removed --fingerprint-location from the flag table 2026-07-27 17:05:55 +02:00
CloakHQ d07cab1376 docs: changelog + contributor for HTTP proxy credential fix (#470) 2026-07-27 15:35:50 +02:00
CloakHQ a5f2c33ff9 release: v0.5.2 — preview release channel + Chromium 150.0.7871.114.4 (Linux) 2026-07-25 08:35:34 +02:00
CloakHQ f709dba519 feat: add preview release channel across all wrappers
Add a preview release channel system to all wrappers (Python, JavaScript, .NET),
allowing users to opt into newer binary builds before they go stable.

- Python: preview/stable channel resolution in download, launch, CLI
  (install, update, clear-cache), and license validation
- JavaScript: preview/stable channel in CLI, launch, license, and config
- .NET: preview/stable channel in CLI, license, diagnostics, and config
- All wrappers: channel fallback indicator, auto-update gate,
  CLOAKBROWSER_RELEASE_CHANNEL env var support
- Harden channel resolution: reuse the resolution sidecar on offline lookups,
  defensive marker/JSON parsing, atomic version-marker writes, a launch-time
  preview-to-stable fallback notice, channel-aware info download URL, and
  Python/JS/.NET parity for the fallback default
- Binary 150.0.7871.114.4 changelog (Linux x64 + arm64)
- Updated READMEs, CHANGELOG, and tests for all wrappers
2026-07-24 11:47:28 +02:00
CloakHQ 36390b5359 release: v0.5.1 — geoip CONNECT Host header fix (js) 2026-07-23 03:36:36 +02:00
CloakHQ efe6f503a0 release: v0.5.0 — free tier via GitHub sign-in + geoip raw-flag fix 2026-07-22 22:20:03 +02:00
CloakHQ 1b1e349815 feat(free-tier): GitHub-login free tier across all three wrappers
cloakbrowser login gets a free key via GitHub sign-in (or saves a paid key); logout reverts. Launch banner and info are now tier-aware (keyless / free / pro). A free key drops any version pin so it always gets the latest build (server force-serves latest; a pinned manifest would fail checksum). Python, JS, and .NET kept in sync. README documents the free tier + commands.
2026-07-22 22:02:09 +02:00
CloakHQ a554a97b24 release: v0.4.13 — geoip DB refresh fix + drop 7-day trial copy 2026-07-22 04:10:39 +02:00
nyxst4ckandnyxst4ck 34409a6925 docs: quote pip extras install examples (#459)
Co-authored-by: nyxst4ck <289980115+nyxst4ck@users.noreply.github.com>
2026-07-22 03:30:56 +02:00
CloakHQ fd2b6024c6 release: v0.4.12 — Chromium 150 version facts + banner fix
Points the READMEs at 150 as the latest Pro binary (71 patches, all five
platforms) and bumps the Pro major in the launch banner and the info
upgrade hint across Python, JS, and .NET.
2026-07-18 23:30:16 +02:00
CloakHQ 86d1d76b81 release: v0.4.11 — proxy auth + license errors + info session count 2026-07-16 12:51:16 +02:00
CloakHQ 08415d9b26 release: v0.4.10 — iframe humanize + JS CLI npx fixes (#427, #428) 2026-07-09 23:21:52 +02:00
CloakHQ 0624df83fc release: v0.4.9 — Pro trial promo, info/update version parity, font check fixes 2026-07-09 03:10:53 +02:00
CloakHQ 0664bd8d0c feat: promote 7-day Pro trial in banner, CLI hint, and READMEs
Free-tier launch banner and 'cloakbrowser info' upgrade hint now advertise
the 7-day free Pro trial (Chromium 148) across Python, JS, and .NET; same
CTA added to both READMEs. Also surface binary verification failures verbatim
instead of falling back to a cached build (transient-only fallback).
2026-07-08 22:13:34 +02:00
CloakHQ 5a1e2978e4 docs: add 215.5 binary changelog entry + license-through-proxy 'for now' note 2026-07-05 22:10:52 +02:00
CloakHQ 330d7b851e release: v0.4.8 — geoip works proxy-free (132 locales) + maximized window + flag docs 2026-07-05 21:32:31 +02:00
CloakHQ a3e0994a31 release: v0.4.7 — update cloaktest 2026-07-03 00:17:18 +02:00
CloakHQ 49a9cfc51b release: v0.4.6 — pass Pro license key to browser process + version-gated headless viewport 2026-07-02 20:12:30 +02:00
CloakHQ b4fdf63bd8 release: v0.4.5 — info diagnostics command + Windows-font notice 2026-06-29 01:28:38 +02:00
CloakHQ bd7f0797ed feat: expand info CLI into a launch-aware diagnostics command
info (plus a doctor alias) now reports the binary that will actually
launch for the resolved license instead of whatever is cached on disk:
it resolves and validates the license, shows the real tier, and on a
keyless or invalid key reports the free binary. Adds a launch test
(chrome --version) with a Linux missing-shared-library probe, a
Windows-font check (Linux only), GeoIP DB presence, and optional-dep
checks. --quick skips the launch test; --json emits machine output.
Python, JS, and .NET, with tests.
2026-06-29 00:54:38 +02:00
CloakHQ b502301b28 docs: update FPJS detection table wording for persistent contexts 2026-06-28 02:17:07 +02:00
CloakHQ a8dc0caf7a release: v0.4.4 — version pinning/rollback + per-OS Pro resolution, Chromium 148.0.7778.215.3 2026-06-28 00:06:40 +02:00
CloakHQ 2c7543d6e9 feat: add exact version pinning via browser_version param and CLOAKBROWSER_VERSION env
Pro/Free users can pin a specific Chromium version:
  launch(browser_version='148.0.7778.215.2')
  CLOAKBROWSER_VERSION=148.0.7778.215.2

- normalize_requested_version() validates version format (4-5 segs, no path traversal)
- Free path: downloads pinned version from public URL
- Pro path: routes pinned version through existing license validation API
- Pinning does NOT overwrite the 'latest' version marker
- JS: browserVersion option, normalizeRequestedVersion(), env support
- .NET: BrowserVersion option, NormalizeRequestedVersion(), env support
2026-06-26 19:11:07 +02:00
CloakHQ 0bb3737a29 docs(readme): add star history chart + separate .NET note 2026-06-24 07:19:44 +02:00
CloakHQ ad2f768774 release: v0.4.3 — .NET 8 client + macOS Pro
- .NET 8 / C# client published to NuGet (PR #385, @evelaa123)
- macOS Pro binary now available (darwin arm64 + Intel), so Pro downloads
  the latest build on every platform
- README: Platforms table split into Free/Pro; drop the stale Roadmap and the
  macOS-fingerprint troubleshooting note
2026-06-24 01:11:00 +02:00
CloakHQ 1247828889 feat(download): ship macOS Pro binary, drop the macOS free-fallback stopgap
The macOS Pro build (darwin arm64 + Intel) is now served alongside Linux and
Windows, so a Pro license downloads the latest binary on macOS like every
other platform.

Reverts the v0.4.2 stopgap that, on macOS only, silently fell back to the free
binary when the Pro download returned 404 (there was no macOS Pro build yet). A
valid license now hard-fails on any Pro download error on every platform — no
silent downgrade — restoring the wrapper's stated invariant. Applied across the
Python, JS, and .NET wrappers; removes the now-unused DownloadHttpError type and
its tests.

README: macOS listed as available for Pro.
2026-06-24 00:37:49 +02:00
CloakHQ 0bbbaf3634 docs(readme): mention the .NET client (now on NuGet) + polish the package readme
Main README: add the .NET / C# install block + credit the .NET client.
dotnet/README (NuGet page): fix license-key example (ck_live_ -> cb_),
add free/Pro tier framing + plans link, add a persistent-context example,
drop the repo-only pre-install/CLI commands for package consumers.
2026-06-23 21:53:24 +02:00
CloakHQ 7e9388e981 release: v0.4.2 — macOS Pro license falls back to free binary 2026-06-23 10:46:48 +02:00
CloakHQ 6acd9fe277 release: v0.4.1 — humanize headed-scroll fix, Widevine Docker auto-fetch 2026-06-23 03:43:06 +02:00
CloakHQ 61365cea48 feat(docker): opt-in Widevine CDM auto-fetch for persistent contexts
Add bin/fetch-widevine.py — a stdlib-only fetcher that pulls the Widevine CDM from Google's component server (arch-aware, sha256-verified, atomic, cached). The Docker entrypoint runs it when CLOAKBROWSER_FETCH_WIDEVINE is set (off by default), exporting CLOAKBROWSER_WIDEVINE_CDM so persistent profiles get a working CDM without a local Chrome to copy from. Fail-soft; skips when a CDM is already set or CLOAKBROWSER_WIDEVINE=0. Bare-metal Linux users can run the script directly. README: document the flag, drop the outdated storage-quota note.
2026-06-23 03:13:22 +02:00
CloakHQ 8570deaa19 chore: promote Pro tier in first-launch banner, drop header badge 2026-06-23 03:09:36 +02:00
CloakHQ 29679a73bf docs(readme): refresh test-results stamp to Jun 2026 / Chromium 148 2026-06-22 04:05:36 +02:00
CloakHQ db9eb4bbf0 chore: prepare 0.4.0 — version bump, Pro tier changelog + README + license v1.1 2026-06-22 03:08:27 +02:00
CloakHQ 660b6bf58c feat(security): verify binaries with pinned Ed25519 signature on SHA256SUMS
Replace the same-origin checksum with a detached Ed25519 signature
(SHA256SUMS.sig) verified against a pinned public key before extraction,
closing #308: a compromised download mirror can no longer certify a
tampered binary. The signed manifest also binds the release version,
rejecting a forced downgrade to an older signed build.

Verification is mandatory and non-bypassable on the official download path;
custom CLOAKBROWSER_DOWNLOAD_URL mirrors keep the legacy skippable checksum.
Silent auto-update is preserved for everyone because only a constant public
key is pinned, not per-version hashes. Older installed wrappers are
unaffected — the version= line is ignored by their checksum parser.

Python uses cryptography; JS uses node:crypto. Adds tamper, downgrade, and
fail-closed tests in both languages.
2026-06-21 02:42:18 +02:00
CloakHQ d67c21abbe refactor: remove optional patchright backend
Patchright scored identically to plain Playwright on reCAPTCHA v3 (the
binary handles stealth at C++ level) while breaking proxy auth and
add_init_script (#27). Removed the backend param, CLOAKBROWSER_BACKEND
env var, the patchright extra, and the two backend-specific tests.
Stock Playwright is now the only backend.
2026-06-20 21:50:22 +02:00