ostradocs Menu

Apps and extension

The proxy ports put whatever you point at them on a line. The Ostra browser extension and apps put a whole browser or a whole device there instead, and sign in for you. Everything a customer installs is Ostra’s own; you never install another tunnel app or handle a tunnel config file.

ClientPuts on the lineHow
Proxy portsWhatever you point at them: a browser, Playwright, curl, your codeHTTPS, SOCKS5 or HTTP port
Browser extensionOne browser: Chrome, Edge, Brave, Arc, Opera or Firefox. The rest of the computer is untouchedThe line’s HTTPS port, with a short-lived credential of its own
iPhone appThe whole iPhone, plus the line’s texts with the code first, and its callsOstra’s app tunnel on the gateway
Mac appThe whole Mac, plus the line’s texts and callsThe same app tunnel

Safari has no extension that can set a proxy; on a Mac, Safari goes on a line with the Mac app. On Windows and Linux, use the proxy ports or the extension.

Browser extension

It points one browser at the line’s HTTPS port. The browser talks to the gateway over TLS, and the gateway applies the same sign-in, limits and connection record as for any client.

  • Sign in. “Sign in to Ostra” opens the dashboard’s consent screen in a sign-in window (OAuth with PKCE). It asks for lines:read, lines:new_carrier_ip and proxy_credentials:write, messages:read with messages:read_content for its Texts tab, and calls:read with calls:read_content for its Calls tab. Revoke it any time in the dashboard; its next call is refused and it says it is signed out.
  • Its own credential. Turning it on issues a credential for that browser alone, labelled “Browser extension” and good for 15 minutes and renewed before it runs out. Turning it off or picking another line stops using it but keeps it until it runs out, so coming back uses it again; signing out revokes it. It never holds a credential you issued, and keeps its sign-in in memory only, so closing the browser signs it out.
  • The line or nothing. From turning on until turning off, the traffic of every window the extension works in goes through the line’s port or stops, with the reason in the popup: a credential the gateway has not taken up, a suspended or down line, or a line at its credential limit. Two addresses always go direct, the API and the dashboard, so you can sign in again while a line is down.
  • The sandbox line can be turned on too: the browser is pointed at sandbox.invalid, where nothing answers, so no page loads and nothing leaves the browser.
  • Private windows use the line only if you allow the extension in them; otherwise they keep the computer’s own connection. Firefox turns on only with access to all sites, since it cannot route a site it cannot see.
  • The exit check. The popup asks Ostra’s check server, through the line, which address it saw and whether it is the line. Another network, or another Ostra line (an Ostra app connected on the same computer carries the browser too), stops traffic and says which.
  • Texts and calls. The Texts tab lists the chosen line’s latest texts sealed: sender, time and whether a code was found. The Calls tab lists its calls the same way; the extension cannot answer a call. The newest code from either, while Ostra keeps it (15 minutes), shows with Copy; any other text or call opens one at a time. Each opening is recorded in Ostra’s audit log. On the sandbox, “Send a test text” delivers one with a code.
  • A new carrier IP. The Line tab asks for one, after you confirm, and says where it stands until a check reads the new address.
  • Notifications. While you are signed in, a new text on the chosen line shows as a notification from the browser, with who sent it and whether it has a code, and a call shows while it rings and again if nobody took it. The code itself shows in a notification only when you turn that on in the extension’s options; showing it opens the text or call at Ostra, a recorded view.

iPhone app

  • Connect puts the whole iPhone on one line through Ostra’s app tunnel. The app makes its own key pair and sends only the public half; the gateway admits the device only for its own line, with the same deny list, limits and connection record as the proxy ports.
  • What stays outside. Apple’s push service, so notifications arrive while connected, devices on your local network, and the carrier’s own cellular services on the iPhone: calls, texts, MMS, Wi-Fi Calling and visual voicemail.
  • TCP only. Other UDP is dropped at the gateway, so apps fall back from QUIC to TCP. An “IPv4 only” setting drops IPv6 on the iPhone, inside the tunnel, and apps fall back to IPv4.
  • Revoking the device, ending the line or removing the person who registered it cuts the iPhone off within 8 seconds, even if Ostra’s servers cannot be reached.
  • Texts come in with the code first, one tap to copy. Each text is opened one at a time, since each opening is a recorded view. A notification tells you of a new text; showing the code in it is off until you turn it on.
  • Calls to the line ring the iPhone on its own incoming call screen while Ring this iPhone is on in Settings, for up to 60 seconds; answer there, as any call. The app has no dial screen and places no call.

The app registers its device with the device routes; your own code rarely needs them.

Mac app

  • From the menu bar. Built from the same code as the iPhone app, it puts the whole Mac on one line through the same tunnel; Apple’s push service and devices on your local network stay outside it. The menu bar shows the line, and its panel the line’s carrier and exit address.
  • The kill switch, on unless you turn it off in Settings, keeps the Mac’s traffic in the tunnel and drops it while the tunnel reconnects or if it fails, rather than let it leave on the Mac’s own network. Devices on your local network stay reachable.
  • Texts and calls. Its window shows the line’s texts and its call log, each opened one at a time. Calls ring the Mac while the app is open and Ring this Mac is on (Settings, Calls), beside the iPhone app; the first to answer takes the call. A Mac whose microphone is blocked for Ostra does not ring, and says why.