Stealth mode, Cloudflare bypass, and MakerWorld upload fixes#13
Merged
Conversation
- Add --stealth flag to CLI (root + codegen commands) that launches Brave
via playwright-extra stealth plugin (Node.js) and connects over CDP
- Add --profile-path flag to copy cf_clearance cookies + DPAPI key from
real Brave profile into the platform profile for Cloudflare bypass
- Add stealth-launcher.js: Node.js script that starts Brave with the
puppeteer-extra-plugin-stealth plugin and emits READY:{port} on stdout
- Add package.json with playwright-extra and stealth plugin dependencies
- Add BrowserContextFactory.GetStealthContextAsync: starts the Node.js
launcher, waits for READY signal, then connects via ConnectOverCDPAsync
- Add anti-automation patches to persistent context: removes navigator.webdriver,
spoofs canvas/WebGL/plugins, adds --disable-blink-features=AutomationControlled
- Update .gitignore to exclude node_modules/ and package-lock.json
- Update README and CLAUDE.md with stealth mode usage and Cloudflare notes
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- FileUploadHelper: Add `networkIdleTimeoutMs` parameter for wait customization; handle timeout exceptions during SPA loads. - stealth-launcher.js: Refactor Brave profile logic to correctly handle platform-specific profiles. - BrowserContextFactory: Support dynamic Brave profile paths based on `platformKey`; ensure directory creation for platform profiles. - PublishCommand: Pass `platformKey` to stealth context creation for profile-specific contexts. - Clean up unused solution folder from ModelPublisher.sln.
- Add .vscode/launch.json and tasks.json with MakerWorld and Printables debug profiles so F5 in VS Code runs with the correct CLI args - Add src/ModelPublisher.Cli/Properties/launchSettings.json for Visual Studio - Pass networkIdleTimeoutMs: 10_000 to both MakerWorld upload calls so the second upload (model files) does not hang waiting for NetworkIdle on a SPA Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
These files contain machine-specific paths and should not be shared. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes Cloudflare bot detection and MakerWorld upload hangs.
Changes
Stealth mode (--stealth flag)
Profile path (--profile-path flag)
MakerWorld upload fix
Dev tooling
BrowserContextFactory hardening