AxBrowser nightly v1.0.107 (115MB)
Commit: 2562a48
Fix Telegram 413 Request Entity Too Large: standard Bot API sendDocument hard-caps at 50MB, this debug APK is ~120MB (compression can't help, it's already a zip archive). Switch to sendMessage with a direct link to the GitHub nightly release asset instead of uploading the binary through Telegram
Commit: 2562a48
Fix Telegram 413 Request Entity Too Large: standard Bot API sendDocument hard-caps at 50MB, this debug APK is ~120MB (compression can't help, it's already a zip archive). Switch to sendMessage with a direct link to the GitHub nightly release asset instead of uploading the binary through Telegram
AxBrowser nightly v1.0.108 (115MB)
Commit: 16ea48c
Add Worker-issued fetch capture (best-effort, defensive). Some sites (DeepSeek's PoW-gated chat endpoint included) issue their real API calls from inside a Web Worker specifically to dodge page-script network capture - window.fetch patches only see the main thread. This wraps window.Worker to re-fetch same-origin/blob worker scripts, prepend a self.fetch hook, and construct the real worker from a Blob URL instead
Commit: 16ea48c
Add Worker-issued fetch capture (best-effort, defensive). Some sites (DeepSeek's PoW-gated chat endpoint included) issue their real API calls from inside a Web Worker specifically to dodge page-script network capture - window.fetch patches only see the main thread. This wraps window.Worker to re-fetch same-origin/blob worker scripts, prepend a self.fetch hook, and construct the real worker from a Blob URL instead
AxBrowser nightly v1.0.109 (115MB)
Commit: c89db83
Extend network capture to same-origin iframes (refactored fetch/XHR/WebSocket patching into a reusable patchRealm(win), applied via DOM scan + MutationObserver + iframe load-event fallback, relayed through a dedicated BroadcastChannel same as the Worker hook so it can't interfere with page<->iframe messaging). Cross-origin iframes fail silently on the same-origin-policy boundary, exactly as intended - verified via a Node vm harness that same-origin gets patched and cross-origin throws SecurityError without escaping. Improve export_openapi: merge query params across every call to an endpoint instead of just the last one (required = present in all calls), infer real JSON-Schema types for request/response bodies, detect Bearer/cookie auth into proper securitySchemes. Add beautify_js tool: lightweight bracket/statement-based JS reformatter (fetches a URL or takes raw code) for a readable first look at minified/obfuscated scripts, honestly scoped in its own output as reformatting only, not a real deobfuscator.
Download: https://github.com/akborana3/AxBrowser/releases/download/nightly/AxBrowser-nightly.apk
Commit: c89db83
Extend network capture to same-origin iframes (refactored fetch/XHR/WebSocket patching into a reusable patchRealm(win), applied via DOM scan + MutationObserver + iframe load-event fallback, relayed through a dedicated BroadcastChannel same as the Worker hook so it can't interfere with page<->iframe messaging). Cross-origin iframes fail silently on the same-origin-policy boundary, exactly as intended - verified via a Node vm harness that same-origin gets patched and cross-origin throws SecurityError without escaping. Improve export_openapi: merge query params across every call to an endpoint instead of just the last one (required = present in all calls), infer real JSON-Schema types for request/response bodies, detect Bearer/cookie auth into proper securitySchemes. Add beautify_js tool: lightweight bracket/statement-based JS reformatter (fetches a URL or takes raw code) for a readable first look at minified/obfuscated scripts, honestly scoped in its own output as reformatting only, not a real deobfuscator.
Download: https://github.com/akborana3/AxBrowser/releases/download/nightly/AxBrowser-nightly.apk
AxBrowser nightly v1.0.110 (115MB)
Commit: a1b75b2
Generalize the agent's model backend from OpenRouter-only to any OpenAI-compatible API. Add AiProviderPresets (OpenRouter, OpenAI/ChatGPT, NVIDIA NIM, Custom) with base URLs and API-key hints. OpenRouterClient.chat() now takes a baseUrl param (defaults to OpenRouter for compat)
Commit: a1b75b2
Generalize the agent's model backend from OpenRouter-only to any OpenAI-compatible API. Add AiProviderPresets (OpenRouter, OpenAI/ChatGPT, NVIDIA NIM, Custom) with base URLs and API-key hints. OpenRouterClient.chat() now takes a baseUrl param (defaults to OpenRouter for compat)
AxBrowser nightly v1.0.112 (116MB)
Commit: 1da91ba
Fix CI build failure from previous commit: OpenRouterClient.await()'s cont.resume()/resumeWithException() calls need explicit kotlin.coroutines.resume/resumeWithException imports (they're not in Kotlin's default-import set, confirmed against this codebase's own existing WebViewJsExt.kt which already does this correctly) - the fully-qualified suspendCancellableCoroutine call didn't bring them into scope. Also simplified away the 3-arg onCancellation resume() overload I wasn't fully certain about, using the plain 1-arg form instead - one less thing to get wrong for a race-condition-only edge case.
Download: https://github.com/akborana3/AxBrowser/releases/download/nightly/AxBrowser-nightly.apk
Commit: 1da91ba
Fix CI build failure from previous commit: OpenRouterClient.await()'s cont.resume()/resumeWithException() calls need explicit kotlin.coroutines.resume/resumeWithException imports (they're not in Kotlin's default-import set, confirmed against this codebase's own existing WebViewJsExt.kt which already does this correctly) - the fully-qualified suspendCancellableCoroutine call didn't bring them into scope. Also simplified away the 3-arg onCancellation resume() overload I wasn't fully certain about, using the plain 1-arg form instead - one less thing to get wrong for a race-condition-only edge case.
Download: https://github.com/akborana3/AxBrowser/releases/download/nightly/AxBrowser-nightly.apk
AxBrowser nightly v1.0.113 (116MB)
Commit: de19a29
Add opt-in shared storage (AxStorage): a Settings > Storage folder picker (SAF, one-time consent - Android 10+ gives no way around that for a raw path outside Android/data/<pkg>) with Screenshots/Downloads/Agent/Other subfolders. Entirely optional - unset means everything keeps working exactly as before (app-private storage), matching the ask that this be opt-in rather than required. Redirected export_har/export_postman/export_openapi/take_screenshot from raw context.filesDir writes to go through AxStorage. Added 3 new agent tools: list_files, read_file, write_file - lets the agent save a script/note/generated text as an actual file on request and read it back later, and lets the user browse what's already saved. Repurposed the existing, never-wired-up downloadFolderUri preference key into axStorageRootUri (zero migration - confirmed nothing else referenced it). Added androidx.documentfile dependency. Verified: brace-balance clean across all 8 touched files, and the AgentToolExecutor interface's 47 methods match the implementation's 47 overrides exactly.
Download: https://github.com/akborana3/AxBrowser/releases/download/nightly/AxBrowser-nightly.apk
Commit: de19a29
Add opt-in shared storage (AxStorage): a Settings > Storage folder picker (SAF, one-time consent - Android 10+ gives no way around that for a raw path outside Android/data/<pkg>) with Screenshots/Downloads/Agent/Other subfolders. Entirely optional - unset means everything keeps working exactly as before (app-private storage), matching the ask that this be opt-in rather than required. Redirected export_har/export_postman/export_openapi/take_screenshot from raw context.filesDir writes to go through AxStorage. Added 3 new agent tools: list_files, read_file, write_file - lets the agent save a script/note/generated text as an actual file on request and read it back later, and lets the user browse what's already saved. Repurposed the existing, never-wired-up downloadFolderUri preference key into axStorageRootUri (zero migration - confirmed nothing else referenced it). Added androidx.documentfile dependency. Verified: brace-balance clean across all 8 touched files, and the AgentToolExecutor interface's 47 methods match the implementation's 47 overrides exactly.
Download: https://github.com/akborana3/AxBrowser/releases/download/nightly/AxBrowser-nightly.apk
AxBrowser-nightly (3).apk
115.2 MB
For AGENT WORK
1. AI PROVIDER
CUSTOM
2. API BASE URL ADD :-
https://danyapi.cloudpub.ru/v1
3. API KEY ADD ANYTHING:- like dummy , new , shdhdh
4. CHOOSE MODELS
I will suggest add qwen-3.8max or deepseek v4 pro thinking
{WHEN YOU TRY AGENT MUST ASK WHATS TOOLS HE HAVE, SO YOU CAN BETTER UNDERSTAND, WHAT AGENT CAN DO WHAT NOT }
1. AI PROVIDER
CUSTOM
2. API BASE URL ADD :-
https://danyapi.cloudpub.ru/v1
3. API KEY ADD ANYTHING:- like dummy , new , shdhdh
4. CHOOSE MODELS
I will suggest add qwen-3.8max or deepseek v4 pro thinking
{WHEN YOU TRY AGENT MUST ASK WHATS TOOLS HE HAVE, SO YOU CAN BETTER UNDERSTAND, WHAT AGENT CAN DO WHAT NOT }
AxBrowser nightly v1.0.117 (116MB)
Commit: 0c4b5bb
Fix JsResult.confirm() calls: it takes no arguments - use confirm()/cancel() pairs for alert and confirm dialogs
🤖 Generated with Codebuff
Co-Authored-By: Codebuff <noreply@codebuff.com>
Download: https://github.com/akborana3/AxBrowser/releases/download/nightly/AxBrowser-nightly.apk
Commit: 0c4b5bb
Fix JsResult.confirm() calls: it takes no arguments - use confirm()/cancel() pairs for alert and confirm dialogs
🤖 Generated with Codebuff
Co-Authored-By: Codebuff <noreply@codebuff.com>
Download: https://github.com/akborana3/AxBrowser/releases/download/nightly/AxBrowser-nightly.apk
AxBrowser nightly v1.0.118 (116MB)
Commit: 4668b22
Mount the pentest tabs in the dev console
The pentest module's five tab composables (Intercept, Repeater, Intruder, Decoder,
Audit) were created but never referenced by anything, so the dev console still
rendered its original four tabs and the whole upgrade was invisible. Render them,
feed Audit from live captured traffic instead of an unpopulated DB, and add a
"Send to Repeater" action so a captured request can be tampered with and resent
in one tap.
Generated with Codebuff 🤖
Co-Authored-By: Codebuff <noreply@codebuff.com>
Download: https://github.com/akborana3/AxBrowser/releases/download/nightly/AxBrowser-nightly.apk
Commit: 4668b22
Mount the pentest tabs in the dev console
The pentest module's five tab composables (Intercept, Repeater, Intruder, Decoder,
Audit) were created but never referenced by anything, so the dev console still
rendered its original four tabs and the whole upgrade was invisible. Render them,
feed Audit from live captured traffic instead of an unpopulated DB, and add a
"Send to Repeater" action so a captured request can be tampered with and resent
in one tap.
Generated with Codebuff 🤖
Co-Authored-By: Codebuff <noreply@codebuff.com>
Download: https://github.com/akborana3/AxBrowser/releases/download/nightly/AxBrowser-nightly.apk
AxBrowser nightly v1.0.119 (116MB)
Commit: 4c06718
AxBrowser v8: agent plans, captcha tools, always-on body capture, working intercept
Crash fix: the pentest tabs crashed with "Cannot create an instance of class
IntruderViewModel" because they were opened with viewModel(), which resolves through the
NavHost entry's SavedStateViewModelFactory and cannot build a @HiltViewModel. hiltViewModel()
is required inside a NavHost destination
Commit: 4c06718
AxBrowser v8: agent plans, captcha tools, always-on body capture, working intercept
Crash fix: the pentest tabs crashed with "Cannot create an instance of class
IntruderViewModel" because they were opened with viewModel(), which resolves through the
NavHost entry's SavedStateViewModelFactory and cannot build a @HiltViewModel. hiltViewModel()
is required inside a NavHost destination
AxBrowser nightly v1.0.120 (116MB)
Commit: 9119071
Resolve captured request URLs to absolute so copied curl has a real host
The copied curl came out as `curl --compressed -X POST '/api/v0/chat/completion'`
- no scheme, no host, not runnable. Root cause: pages call fetch('/api/...') with
a RELATIVE path and net_capture.js reported that raw string, so the Network log,
copy-curl, get_curl, HAR, Repeater and Intercept all carried a bare path.
Every capture site (fetch, XHR, beacon, WebSocket, EventSource, and the worker
shim, whose blob: URL cannot be used as a resolution base so the page URL is
baked in) now resolves against the realm it was issued from, the bridge forwards
the page URL as a fallback base, and NetworkInterceptor absolutes on ingest so
placeholders and bridge records still dedupe on the same URL. Intercept holds
carry the page URL too.
Verified: node --check on net_capture.js.
🤖 Generated with Codebuff
Co-Authored-By: Codebuff <noreply@codebuff.com>
Download: https://github.com/akborana3/AxBrowser/releases/download/nightly/AxBrowser-nightly.apk
Commit: 9119071
Resolve captured request URLs to absolute so copied curl has a real host
The copied curl came out as `curl --compressed -X POST '/api/v0/chat/completion'`
- no scheme, no host, not runnable. Root cause: pages call fetch('/api/...') with
a RELATIVE path and net_capture.js reported that raw string, so the Network log,
copy-curl, get_curl, HAR, Repeater and Intercept all carried a bare path.
Every capture site (fetch, XHR, beacon, WebSocket, EventSource, and the worker
shim, whose blob: URL cannot be used as a resolution base so the page URL is
baked in) now resolves against the realm it was issued from, the bridge forwards
the page URL as a fallback base, and NetworkInterceptor absolutes on ingest so
placeholders and bridge records still dedupe on the same URL. Intercept holds
carry the page URL too.
Verified: node --check on net_capture.js.
🤖 Generated with Codebuff
Co-Authored-By: Codebuff <noreply@codebuff.com>
Download: https://github.com/akborana3/AxBrowser/releases/download/nightly/AxBrowser-nightly.apk