Adaptive Multi-Protocol Browser
Status: draft | Updated 2026-07-11 | Applies to: AMPB contributors and operators
Adaptive Multi-Protocol Browser, or AMPB, is a transport-aware browser shell. It routes URLs to the right network, adopts transports that are already healthy, and manages missing transports when configured to do so.
AMPB should ship its own browser runtime. Desktop targets a bundled Firefox/Gecko-lineage app, Android targets bundled GeckoView/Fenix/Tor Browser Android-lineage code, and iOS uses an AMPB-owned shell with platform browser-engine constraints.
The first fixture is Wownero across clearnet, Tor, I2P, Gemini, and Reticulum-oriented targets generated by AMPG. Interactive fixtures should be described publicly by the capabilities they exercise, while project-specific target notes stay in private docs.
Goals
- Route URLs by protocol and address family.
- Adopt existing Tor, I2P, Reticulum, and Gemini-capable tools when healthy.
- Prompt on first visit before installing or starting a missing transport.
- Manage approved transports through isolated AMPB state.
- Keep all transports in one visible browser window.
- Give every web tab an explicit, visible, fail-closed transport context.
- Isolate cookies and site data by transport container while routing the entire tab through its selected transport.
- Present transport health in plain language.
Non-goals
- Treating the WebExtension container prototype as the final anonymity boundary.
- Mixing clearnet, Tor, I2P, and Reticulum site data in one transport context.
- Publishing private transport state, keys, or host inventory in public docs.
Local Commands
python3 -m ampbrowser route https://wownero.org/
python3 -m ampbrowser route http://example.b32.i2p/
python3 -m ampbrowser route gemini://wownero.org/
python3 -m ampbrowser route ipfs://bafyexample/
python3 -m ampbrowser inspect
python3 -m ampbrowser plan gemini://wownero.org/
python3 -m ampbrowser open https://wownero.org/
python3 -m ampbrowser open https://ampgateway.site/ --broker --launch
python3 -m ampbrowser open http://example.onion/ --launch
python3 -m ampbrowser open http://example.onion/ --yes --launch
python3 -m ampbrowser shell http://example.onion/
python3 -m ampbrowser shell http://example.onion/ --yes
python3 -m ampbrowser open http://example.b32.i2p/ --yes
python3 -m ampbrowser open http://example.b32.i2p/ --yes --launch
python3 -m ampbrowser transport start tor
python3 -m ampbrowser transport start i2p
python3 -m ampbrowser transport status tor
python3 -m ampbrowser transport status i2p
python3 -m ampbrowser transport stop tor
python3 -m ampbrowser transport stop i2p
python3 -m ampbrowser open http://example.b32.i2p/ --config examples/config.toml
python3 -m ampbrowser open http://example.b32.i2p/ --platform android
python3 -m ampbrowser fixture check ../adaptive-multi-protocol-gateway/dist/wownero/ampg-fixture-manifest.json
python3 -m ampbrowser docs generate
python3 -m ampbrowser docs generate --check
python3 tools/docs_check.py
python3 -m unittest discover -s tests
Documentation
- Architecture
- Browser builds
- Transport contexts
- Candidate transports
- Configuration
- Desktop vertical
- Fixture manifests
- Mobile browser
- Open flow
- Transport management
- Test fixtures
- Autodocs and drift gates
- Generated browser strategy
Reusable checklist
- Route URL to transport.
- Inspect whether transport can be adopted.
- Prompt before installing or starting a missing transport.
- Use an isolated, visible transport context for every tab.
- Spawn/manage only after a dry-run plan.
- Keep private notes under
docs/private/.