mirror of
https://github.com/Such-Software/adaptive-multi-protocol-browser.git
synced 2026-10-17 14:31:46 +02:00
Make AMPB a bundled browser runtime
This commit is contained in:
@@ -23,7 +23,7 @@ class ConfigError(ValueError):
|
||||
@dataclass(frozen=True)
|
||||
class AppConfig:
|
||||
state_dir: str = ".ampb"
|
||||
default_engine: str = "hardened-firefox"
|
||||
default_engine: str = "ampb-gecko"
|
||||
isolate_by_transport: bool = True
|
||||
transport_modes: dict[str, str] | None = None
|
||||
|
||||
@@ -68,7 +68,7 @@ def _parse_config(data: dict[str, Any], path: Path) -> AppConfig:
|
||||
transports = _table(data, "transports", path)
|
||||
|
||||
state_dir = _string(browser, "state_dir", ".ampb", path)
|
||||
default_engine = _string(browser, "default_engine", "hardened-firefox", path)
|
||||
default_engine = _string(browser, "default_engine", "ampb-gecko", path)
|
||||
isolate_by_transport = _bool(profiles, "isolate_by_transport", True, path)
|
||||
transport_modes = _transport_modes(transports, path)
|
||||
|
||||
|
||||
+24
-24
@@ -80,31 +80,40 @@ TRANSPORT_DEFINITIONS = (
|
||||
|
||||
BROWSER_BACKENDS = (
|
||||
BrowserBackend(
|
||||
"hardened-firefox",
|
||||
"primary web runtime",
|
||||
"ampb-gecko-desktop",
|
||||
"primary desktop runtime",
|
||||
"planned",
|
||||
"desktop, android",
|
||||
"managed profile, policy, and native transport launcher",
|
||||
"strong baseline; track Firefox ESR and Tor Browser hardening choices",
|
||||
"Default AMPB web runtime before a full browser fork.",
|
||||
"desktop",
|
||||
"bundled Firefox/Gecko-lineage app with AMPB-owned profiles and transports",
|
||||
"no system browser dependency; track Firefox ESR, Tor Browser, and Mullvad hardening choices",
|
||||
"Default desktop runtime; users should not need Firefox installed.",
|
||||
),
|
||||
BrowserBackend(
|
||||
"tor-browser-compatible",
|
||||
"tor-hardened target",
|
||||
"ampb-geckoview-android",
|
||||
"primary android runtime",
|
||||
"planned",
|
||||
"desktop, android",
|
||||
"adopt, launch, or fork after transport contracts are stable",
|
||||
"highest Tor web target; do not claim equivalence until Tor Browser patches are tracked",
|
||||
"Path toward real Tor Browser-grade behavior for .onion browsing.",
|
||||
"android",
|
||||
"bundled GeckoView/Fenix/Tor Browser Android-lineage app with foreground transports",
|
||||
"no system browser dependency; app owns profile, proxy policy, and transport lifecycle",
|
||||
"Default Android runtime for real mobile AMPB.",
|
||||
),
|
||||
BrowserBackend(
|
||||
"webkit-ios-shell",
|
||||
"ampb-webkit-ios",
|
||||
"ios runtime",
|
||||
"planned",
|
||||
"ios",
|
||||
"native shell with embedded transports and isolated web views",
|
||||
"bundled iOS app shell with WebKit views and embedded transport runtimes",
|
||||
"platform constrained; avoid clearnet fallback and isolate transport state",
|
||||
"Required for App Store-style iOS builds outside special browser-engine entitlements.",
|
||||
"Default iOS path unless alternate browser-engine entitlements become practical.",
|
||||
),
|
||||
BrowserBackend(
|
||||
"tor-browser-lineage",
|
||||
"tor-hardened target",
|
||||
"planned",
|
||||
"desktop, android",
|
||||
"reuse or track Tor Browser patches after AMPB transport contracts are stable",
|
||||
"highest Tor web target; do not claim equivalence until Tor Browser patches are tracked",
|
||||
"Path toward real Tor Browser-grade behavior for .onion browsing.",
|
||||
),
|
||||
BrowserBackend(
|
||||
"gemini-native-viewer",
|
||||
@@ -115,13 +124,4 @@ BROWSER_BACKENDS = (
|
||||
"no web engine or shared browser storage required",
|
||||
"Used for Gemini and similar lightweight document transports.",
|
||||
),
|
||||
BrowserBackend(
|
||||
"chromium-cef",
|
||||
"prototype fallback",
|
||||
"fallback",
|
||||
"desktop",
|
||||
"profile launcher only when Firefox path is blocked",
|
||||
"not a Tor Browser privacy baseline",
|
||||
"Allowed for experiments, but not the main privacy-browser strategy.",
|
||||
),
|
||||
)
|
||||
|
||||
@@ -24,9 +24,9 @@ class PlatformCapability:
|
||||
|
||||
|
||||
PLATFORM_CAPABILITIES = (
|
||||
PlatformCapability("clearnet", "desktop", "ready", "ready", "unsupported", "unsupported", "Use system browser or isolated desktop profile."),
|
||||
PlatformCapability("clearnet", "android", "ready", "ready", "unsupported", "unsupported", "Use Android browser shell, WebView, or Custom Tabs."),
|
||||
PlatformCapability("clearnet", "ios", "ready", "ready", "unsupported", "unsupported", "Use iOS browser shell with platform web constraints."),
|
||||
PlatformCapability("clearnet", "desktop", "ready", "ready", "unsupported", "unsupported", "Use bundled AMPB Gecko desktop runtime with isolated profile."),
|
||||
PlatformCapability("clearnet", "android", "ready", "ready", "unsupported", "unsupported", "Use bundled AMPB GeckoView Android runtime with isolated profile."),
|
||||
PlatformCapability("clearnet", "ios", "ready", "ready", "unsupported", "unsupported", "Use bundled AMPB iOS shell with platform WebKit constraints."),
|
||||
PlatformCapability("tor", "desktop", "ready", "ready", "planned", "planned", "Adopt local Tor or prompt before managed Arti SOCKS setup."),
|
||||
PlatformCapability("tor", "android", "planned", "planned", "planned", "planned", "Use an app-owned foreground service; prefer Arti/Tor runtime integration where available."),
|
||||
PlatformCapability("tor", "ios", "foreground-only", "planned", "foreground-only", "bundled", "Use foreground embedded Arti sessions; do not assume background service or global proxy."),
|
||||
|
||||
Reference in New Issue
Block a user