diff --git a/CHANGELOG.md b/CHANGELOG.md index 743e1d1..603f520 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,8 @@ Changes are tagged: **[wrapper]** for Python/JS wrapper, **[binary]** for Chromi ## [Unreleased] +- **[wrapper]** Free-tier launch banner and `cloakbrowser info` upgrade hint now surface the **7-day free Pro trial** (Chromium 148). Python, JS, and .NET. + ## [0.4.8] — 2026-07-05 - **[binary]** Chromium **148.0.7778.215.5** (Pro, Windows + Linux; macOS follows) — the biggest fingerprint update yet. Pro license required; v146 stays free. diff --git a/README.md b/README.md index 40b0431..0b520ec 100644 --- a/README.md +++ b/README.md @@ -196,13 +196,16 @@ Pro keeps you on the build that's actively maintained against it. Use Pro if CloakBrowser is part of production scraping, QA, monitoring, or automation where stale browser fingerprints cost you time or blocked runs. +**New: try the latest Pro binary (Chromium 148) free for 7 days** — see how it +performs against your targets. Cancel anytime. + Activate with your license key (env var, `license_key=` param, or `~/.cloakbrowser/license.key`): ```bash export CLOAKBROWSER_LICENSE_KEY=cb_xxxxxxxx ``` -Pro plans → **[cloakbrowser.dev](https://cloakbrowser.dev)** +Pro plans & free trial → **[cloakbrowser.dev](https://cloakbrowser.dev)** ## Test Results diff --git a/cloakbrowser/__main__.py b/cloakbrowser/__main__.py index 524103f..c2372d9 100644 --- a/cloakbrowser/__main__.py +++ b/cloakbrowser/__main__.py @@ -18,7 +18,7 @@ import platform import subprocess import sys -UPGRADE_HINT = "→ Add a license key for the latest Pro binary: https://cloakbrowser.dev" +UPGRADE_HINT = "→ Try the latest Pro binary (Chromium 148) free for 7 days: https://cloakbrowser.dev" def _setup_logging() -> None: diff --git a/cloakbrowser/download.py b/cloakbrowser/download.py index dd8208a..23072b6 100644 --- a/cloakbrowser/download.py +++ b/cloakbrowser/download.py @@ -118,7 +118,7 @@ def _show_welcome(pro: bool = False) -> None: f" Running free tier (v{free_major}). " f"Pro = latest binary (v{PRO_MAJOR}) + newest anti-bot patches.\n" ) - sys.stderr.write(" Stay ahead of detection → https://cloakbrowser.dev\n") + sys.stderr.write(" Try Pro free for 7 days → https://cloakbrowser.dev\n") sys.stderr.write(" Star us if CloakBrowser helps your project!\n") sys.stderr.write("\n") try: diff --git a/dotnet/src/CloakBrowser.Cli/Program.cs b/dotnet/src/CloakBrowser.Cli/Program.cs index 61b13be..c8df681 100644 --- a/dotnet/src/CloakBrowser.Cli/Program.cs +++ b/dotnet/src/CloakBrowser.Cli/Program.cs @@ -12,7 +12,7 @@ using CloakBrowser; // cloakbrowser clear-cache # Remove cached binaries const string UpgradeHint = - "→ Add a license key for the latest Pro binary: https://cloakbrowser.dev"; + "→ Try the latest Pro binary (Chromium 148) free for 7 days: https://cloakbrowser.dev"; // Route CloakBrowser logs to stderr at Info level (clean output). CloakLog.MinLevel = CloakLogLevel.Info; diff --git a/dotnet/src/CloakBrowser/Download.cs b/dotnet/src/CloakBrowser/Download.cs index d0e1221..c9d6208 100644 --- a/dotnet/src/CloakBrowser/Download.cs +++ b/dotnet/src/CloakBrowser/Download.cs @@ -132,7 +132,7 @@ public static class Download var freeMajor = Config.GetChromiumVersion().Split('.')[0]; sb.Append($" Running free tier (v{freeMajor}). " + $"Pro = latest binary (v{ProMajor}) + newest anti-bot patches.\n"); - sb.Append(" Stay ahead of detection -> https://cloakbrowser.dev\n"); + sb.Append(" Try Pro free for 7 days -> https://cloakbrowser.dev\n"); } sb.Append(" Star us if CloakBrowser helps your project!\n"); sb.Append('\n'); diff --git a/js/README.md b/js/README.md index c4831e0..7050c9f 100644 --- a/js/README.md +++ b/js/README.md @@ -252,13 +252,16 @@ free-release model: Anti-bot detection updates constantly — an older binary degrades within weeks. Pro keeps you on the build that's actively maintained against it. +**New: try the latest Pro binary (Chromium 148) free for 7 days** — see how it +performs against your targets. Cancel anytime. + Activate with your license key (env var, `licenseKey` option, or `~/.cloakbrowser/license.key`): ```bash export CLOAKBROWSER_LICENSE_KEY=cb_xxxxxxxx ``` -Pro plans → **[cloakbrowser.dev](https://cloakbrowser.dev)** +Pro plans & free trial → **[cloakbrowser.dev](https://cloakbrowser.dev)** ## Requirements diff --git a/js/src/cli.ts b/js/src/cli.ts index 532e471..d8a8d1c 100644 --- a/js/src/cli.ts +++ b/js/src/cli.ts @@ -31,7 +31,7 @@ import os from "node:os"; import path from "node:path"; const UPGRADE_HINT = - "→ Add a license key for the latest Pro binary: https://cloakbrowser.dev"; + "→ Try the latest Pro binary (Chromium 148) free for 7 days: https://cloakbrowser.dev"; const USAGE = `Usage: cloakbrowser diff --git a/js/src/download.ts b/js/src/download.ts index 316bcc6..cc116cf 100644 --- a/js/src/download.ts +++ b/js/src/download.ts @@ -312,7 +312,7 @@ function showWelcome(pro = false): void { ` Running free tier (v${freeMajor}). ` + `Pro = latest binary (v${PRO_MAJOR}) + newest anti-bot patches.`, ); - console.error(" Stay ahead of detection → https://cloakbrowser.dev"); + console.error(" Try Pro free for 7 days → https://cloakbrowser.dev"); } console.error(" Star us if CloakBrowser helps your project!"); console.error(); diff --git a/tests/test_cli.py b/tests/test_cli.py index f7572bb..6e95e47 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -111,7 +111,7 @@ def test_free_license_shows_upgrade_hint(capsys): _run(Namespace(quick=True, json=False)) out = capsys.readouterr().out assert "License: Free" in out - assert "Add a license key" in out + assert "free for 7 days" in out # ---------------------------------------------------------------------------