mirror of
https://github.com/Such-Software/adaptive-multi-protocol-browser.git
synced 2026-10-19 15:28:33 +02:00
Prefer Arti for managed Tor browser setup
This commit is contained in:
@@ -58,6 +58,11 @@ class TransportAdapter:
|
||||
steps.append(f"wait for {self.endpoint}")
|
||||
return tuple(steps)
|
||||
elif platform == "ios":
|
||||
if self.name == "tor":
|
||||
steps.append("start foreground-only iOS Arti client session")
|
||||
steps.append("attach in-app onion networking bridge")
|
||||
steps.append("wait for in-app Tor readiness")
|
||||
return tuple(steps)
|
||||
steps.append(f"start foreground-only iOS session for {self.name}")
|
||||
steps.append(f"start foreground-only iOS {self.name} transport")
|
||||
steps.append(f"wait for {self.endpoint}")
|
||||
@@ -75,11 +80,11 @@ ADAPTERS: dict[str, TransportAdapter] = {
|
||||
endpoint="socks5://127.0.0.1:9050",
|
||||
adopt_check="SOCKS on 127.0.0.1:9050",
|
||||
managed_state=".ampb/transports/tor",
|
||||
install_strategy="install Tor provider",
|
||||
start_strategy="start managed Tor daemon",
|
||||
install_strategy="install or bundle Arti/Tor provider",
|
||||
start_strategy="start managed Arti SOCKS proxy",
|
||||
stop_policy="stop only AMPB-owned Tor daemon",
|
||||
note="Tor SOCKS proxy",
|
||||
commands=("tor",),
|
||||
note="Tor via existing SOCKS proxy or managed Arti/Tor runtime",
|
||||
commands=("arti", "tor"),
|
||||
connect_host="127.0.0.1",
|
||||
connect_port=9050,
|
||||
),
|
||||
|
||||
@@ -100,7 +100,10 @@ def _setup_steps(browse_plan: BrowsePlan) -> tuple[str, ...]:
|
||||
steps.extend(adapter.setup_steps(installed=True, platform=platform))
|
||||
return tuple(steps)
|
||||
if platform == "ios" and not browse_plan.status.installed:
|
||||
steps.append(f"enable foreground iOS {browse_plan.route.transport} session")
|
||||
if browse_plan.route.transport == "tor":
|
||||
steps.append("enable bundled iOS Arti Tor runtime")
|
||||
else:
|
||||
steps.append(f"enable foreground iOS {browse_plan.route.transport} session")
|
||||
steps.extend(adapter.setup_steps(installed=True, platform=platform))
|
||||
return tuple(steps)
|
||||
steps.extend(adapter.setup_steps(installed=browse_plan.status.installed, platform=platform))
|
||||
|
||||
@@ -27,9 +27,9 @@ 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("tor", "desktop", "ready", "ready", "planned", "planned", "Adopt local Tor or prompt before managed desktop daemon setup."),
|
||||
PlatformCapability("tor", "android", "planned", "planned", "planned", "planned", "Use an app-owned foreground service or compatible installed Tor provider."),
|
||||
PlatformCapability("tor", "ios", "foreground-only", "planned", "foreground-only", "constrained", "Plan for in-app foreground sessions; do not assume always-on background service."),
|
||||
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."),
|
||||
PlatformCapability("i2p", "desktop", "ready", "ready", "planned", "planned", "Adopt local I2P proxy or prompt before managed desktop daemon setup."),
|
||||
PlatformCapability("i2p", "android", "planned", "planned", "planned", "planned", "Use an app-owned foreground service or compatible installed I2P provider."),
|
||||
PlatformCapability("i2p", "ios", "constrained", "planned", "foreground-only", "constrained", "Treat iOS I2P support as foreground-only until native adapter constraints are proven."),
|
||||
|
||||
Reference in New Issue
Block a user