Die Browser-Erweiterung: die Tour
Die Erweiterung ist URnetwork im Browser, und die ur.io-Web-App ist ihre Steuerungsebene: ein Produkt, zwei Hälften. Diese Seite ist der Tiefgang: die Proxy-Maschinerie in jedem Browser, die Steuerelemente mit ihren ausgelieferten Standardwerten, was der Kill Switch verspricht und was nicht, und was du prüfst, wenn etwas kaputtgeht. Für das Netzwerk dahinter, wer die Provider sind und was jede Partei sehen kann, lies den Überblick. Für Store-Links, Anmeldung und erstes Verbinden starte mit Erste Schritte im Browser.
Die Einordnung, die du immer behalten solltest: Das ist ein Browser-Proxy, kein VPN. Ein Proxy ist ein Mittelsmann, der Websites für den Browser holt, sodass Websites seine Adresse sehen statt deiner. Die Erweiterung konfiguriert die eigenen Proxy-Einstellungen des Browsers — sie regiert also genau, was dieser Browser sendet, nicht mehr. Abgedeckt: jeder Tab und jedes Fenster dieses Browsers, Inkognito auch, auf Chromium immer und auf Firefox, sobald du es in privaten Fenstern erlaubst. Nicht abgedeckt: andere Browser, deine Mail-App, System-Updates, alles andere — ungeschützt und unversehrt gleichermaßen. Installier sie pro Browser; die Abdeckung des ganzen Geräts ist die Aufgabe der URnetwork-Apps (Android, iOS, macOS, Windows, Linux): gleiches Konto, gleicher Kill Switch, eine Ebene tiefer.

Einstellungen auf einen Blick
Die Erweiterung hält ihre Fläche absichtlich klein. Zwei Steuerelemente, beide im Popup:
| Einstellung | Standard | Wirkung | Hauptkosten |
|---|---|---|---|
| Kill Switch | An | blockiert Browser-Datenverkehr, wenn der Proxy abreißt, statt auf deine direkte Verbindung zurückzufallen | Tabs werfen Fehler während eines Ausfalls |
| Geolokalisierungs-Override (Geolocation override) | Aus | die Geolocation-API des Browsers meldet deine Exit-Stadt statt deiner echten Position | Websites, denen du deinen echten Standort geben willst, brauchen es aus; aktuell zu bleiben braucht einen offenen ur.io-Tab |
Vorbehalte, die zur Tabelle gehören:
- Zwei App-Schalter haben kein Browser-Gegenstück, per Design. Es gibt hier keine Post-Quanten-Verschlüsselung (Post Quantum Encryption), denn die Erweiterung hat keine Client-zu-Provider-Sitzung zu versiegeln; die vollständige Ausnahme steht unten unter Datensammlung. Und es gibt keinen Schalter Starke Anonymisierung (Strong Anonymization), denn der Direktmodus ist auf dem gehosteten Proxy-Device, auf dem die Erweiterung läuft, zwangsweise aus: Keinem Provider kann je deine echte Adresse übergeben werden.
- Der Kill Switch überdauert Browser-Neustarts — ein Ausfall hält dich also blockiert, nicht entblößt, bis du trennst oder der Pfad sich erholt.
Wie es funktioniert
Die Erweiterung ist Manifest V3 auf jedem Browser, aber die Proxy-Verrohrung unterscheidet sich, weil die APIs der Browser es tun:
- Chrome und Edge (und Browser der Chromium-Familie allgemein) nutzen die Proxy-Einstellungs-API. Die Erweiterung installiert ein generiertes PAC-Skript, eine winzige Regeldatei, die der Browser konsultiert, um zu entscheiden, wohin jede Anfrage geht, und die Browser-Datenverkehr zu deinen bereitgestellten URnetwork-Proxy-Endpunkten schickt. Es zu setzen beansprucht die Proxy-Konfiguration des Browsers, weshalb zwei Proxy-Erweiterungen auch nicht koexistieren können (siehe Fehlerbehebung). Sie fasst nie OS-Einstellungen an und macht sauber rückgängig: Trennen kehrt zu direkt zurück, Deinstallieren entfernt den Anspruch.
- Firefox hat keine gleichwertige Einstellungs-Übergabe und nutzt deshalb
proxy.onRequest: Die Erweiterung wird pro Anfrage konsultiert und antwortet mit der ganzen Liste der bereitgestellten Proxys, damit ein unerreichbarer Proxy die Anfrage nicht strandet.directwird dieser Liste nur angehängt, wenn du den Kill Switch ausgeschaltet hast; scharfgestellt endet die Liste beim letzten Proxy, und ein voller Ausfall schlägt fehl.
Eine Safari-Version gibt es nicht, denn Safari fehlen diese APIs. Auf Apple-Geräten deckt die App alles ab, Safari eingeschlossen.
Das Surfen tritt über ein kleines Fenster von Providern zugleich aus: Mitgliedsgeräte, deren Besitzer zugestimmt haben und am UR Protocol teilnehmen. „Deine Exit-IP“ ist plural, und die Bindung pro Website hält jede Website auf einem Exit — deine Bank sieht also eine konsistente Adresse.
Das URnetwork SDK liegt als WebAssembly im Erweiterungspaket. Bereitstellung, Standortliste und API-Aufrufe laufen alle lokal. Nichts Ausführbares wird zur Laufzeit geholt; was der Store geprüft hat, ist, was läuft.
Die Web-App ist die Steuerungsebene der Erweiterung; sie sind ein Produkt. Melde dich einmal auf ur.io an, und die Seite und die Erweiterung sprechen über eine dokumentierte Brücke: ein kurzes Verben-Protokoll (SETUP, CONNECT, DISCONNECT, SET_LOCATION, Kill Switch, Geo-Sync), getragen von window.postMessage, dem einzigen Kanal, der auf Chrome, Edge, Brave und Firefox gleichermaßen funktioniert. SETUP übergibt die angemeldete Sitzung direkt, weshalb die Einrichtung aus der App dich nie nach einem Auth-Code fragt. Die Arbeitsteilung ist echt: Die Erweiterung prägt die Proxy-Sitzung und installiert den Browser-Proxy, während die App das lebende Device hält. Den Standort in der App zu wechseln routet es um, ohne Browser-Neuverbindung, und jede Fläche zeigt, was du in der anderen getan hast.
Die Brücke ist absichtlich schmal. Sie läuft nur auf ur.io- und app.ur.network-Seiten; keine andere Website kann mit der Erweiterung sprechen. Ein anderes Skript lädt zwar auf jeder Seite, der Geolokalisierungs-Override, aber es bleibt untätig, native Funktionen unangetastet, bis du es einschaltest (unten).
Die Anmeldung verlangt ein Konto, denn die Nutzung wird pro Konto gemessen: ein E-Mail- oder Telefon-Code, eine der SSO-Optionen von ur.io, eine Wallet-Signatur oder ein Auth-Code, erzeugt auf einem Gerät, auf dem du schon angemeldet bist. Die E-Mail-freien Wege hier sind die Wallet und der Auth-Code; das E-Mail-freie Ein-Tipp-Sofort-Konto (Instant Account) wird in den Telefon- und Desktop-Apps erstellt, und die Erweiterung übernimmt dieses Konto wie jedes andere. Gratis ist ein tägliches Datenkontingent; Pro ein großes monatliches (5 $/Monat oder 40 $/Jahr; aktuelle Zahlen auf ur.io/products).
Kill-Switch-Semantik
Was er tut: Reißt die Proxy-Verbindung ab, während der Kill Switch an ist, blockiert die Erweiterung den Datenverkehr des Browsers, statt den Browser leise auf deine direkte Verbindung zurückfallen zu lassen und deine echte Adresse mitten in der Sitzung zu entblößen.
- Er ist standardmäßig an, die eine URnetwork-Fläche, die scharfgestellt ausgeliefert wird.
- Die Durchsetzung ist die eigene Proxy-Regel des Browsers: Scharfgestellt hat sie keine Notluke „sonst geh direkt“, Anfragen schlagen also fehl, statt zurückzufallen. Er überdauert Browser-Neustarts. Du kommst blockiert zurück, nicht entblößt.
- Löst er aus, stoppt nur dieser Browser (Tabs werfen Fehler; das Popup zeigt warum). Der Rest deines Computers lief nie darüber.
- Ihn auszuschalten heißt offen scheitern: Eine abgerissene Verbindung setzt dich zurück aufs direkte Surfen, sichtbar im Popup, aber still in deinen Tabs. Akzeptabel nur dort, wo ein Leck eine Unannehmlichkeit ist, kein Schaden.
- Geltungsgrenze: Er blockiert Browser-Datenverkehr, mehr kann eine Erweiterung nicht regieren; er ist keine System-Firewall. Lokale Adressen (localhost, Drucker) gehen absichtlich vorbei, und WebRTC (Sprache/Video im Browser) kann Verbindungen öffnen, die Proxy-Einstellungen ignorieren, eine Lücke in jeder Proxy-Erweiterung; Browser können es einschränken.
Geolokalisierungs-Override
Zwei Signale: Deine IP-Adresse sagt jetzt Amsterdam, aber die Geolocation-API des Browsers, beantwortet aus OS-Signalen wie WLANs in der Nähe, meldet weiter, wo dein Körper ist. Websites, die beide vergleichen, sehen den Widerspruch. Der Override repariert das zweite Signal, damit beide Geschichten übereinstimmen:
- Standardmäßig aus. Nichts ändert sich, bis du ihn im Popup aktivierst.
- Aktiviert antwortet er bei
document_startin allen Frames, sodass die Geolocation-API deinen Exit-Standort liefert, bevor irgendein Seitenskript fragen kann, auch in iframes, die ein Wettrennen versuchen. Die Koordinaten sind die Stadt deines ältesten verbundenen Providers, und sie erreichen die Erweiterung über die App-Brücke: Die Erweiterung hält kein eigenes Device, ein offener ur.io-Tab ist also, was die Position aktuell hält. - Deaktiviert sagt er gar nichts: Die Seite behält ihre native Geolokalisierung, und keiner Website wird ein frisches Signal übergeben, dass du eine Erweiterung fährst. Schalt ihn aus, wenn du willst, dass Websites deinen echten Standort sehen (Karten, Lieferdienste).
Health-Pings und der Zustand „beeinträchtigt“
Verbunden holt die Erweiterung alle fünf Minuten einen leichtgewichtigen Endpunkt (my-ip-info auf der URnetwork-API) durch den Proxy, vernachlässigbar selbst gegen das Gratis-Kontingent. Das beweist, dass der Pfad Ende zu Ende funktioniert, nicht nur, dass die Einstellungen angewandt wurden:
- Zwei aufeinanderfolgende Fehlschläge: Der Status wird beeinträchtigt (degraded). Du bist noch konfiguriert, aber fließender Datenverkehr ist nicht bestätigt. Das Popup zeigt einen Instabilitäts-Indikator.
- Drei aufeinanderfolgende Fehlschläge: automatische Neuverbindung, mit Backoff (2 s, verdoppelnd bis 30 s, fünf Versuche), bei Bedarf mit neu bereitgestellten Proxys.
- Ein Erfolg zu irgendeinem Zeitpunkt lässt den Status zurück auf verbunden schnappen. Eine Schonfrist nach dem Verbinden vermeidet Flattern, während sich die erste Verbindung setzt.
Beeinträchtigt ist kein Leck. Du zeigst weiter auf den Proxy, und scharfgestellt blockiert ein toter Pfad, statt zu entblößen. Es ist kein Fehler zum Beheben; es ist die Erweiterung, die dir früh Bescheid sagt, meist über ein wackliges Netz zwischen dir und dem Proxy.
Datensammlung: keine
- Der Firefox-Eintrag deklariert es im Manifest, maschinenlesbar:
data_collection_permissionsist none. Das ist eine vom Store durchgesetzte Aussage, kein Versprechen auf einer Datenschutzseite. - Die Erweiterung spricht nur mit der URnetwork-API, um deine Proxys bereitzustellen, dieselben Aufrufe, die jeder Client macht. Keine Analytics, keine Telemetrie, nirgends eine Sammlung des Browserverlaufs.
- Host-Berechtigungen unterscheiden sich pro Browser, aus gutem Grund. Auf Chrome fordert die Erweiterung nur Zugriff auf die URnetwork-API-Hosts (
api.bringyour.com,api-v4.bringyour.com); die PAC-basierte Proxy-API muss deine Anfragen nicht sehen. Auf Firefox braucht die Erweiterung:proxy.onRequestkonsultiert die Erweiterung für jede Anfrage, die es routen könnte, und Firefox verlangt dafür Host-Zugriff. Die breitere Berechtigung dort ist der Preis von Firefox' Proxy-API, kein Datengriff. - Keine externe Partei hat die Erweiterung geprüft. URnetworks Android-App bestand im Mai 2025 eine MASA-AL2-Prüfung der Leviathan Security Group, Googles feste Sicherheits-Checkliste für Mobile-Apps, und eine unabhängige Firma hat im April desselben Jahres die Web-Anwendung und API penetrationsgetestet; keine der beiden deckt die Erweiterung ab, und kein unabhängiges Audit deckt das Protokoll oder den Server-Code des Operators ab. Was diese Seite stattdessen bietet, ist falsifizierbar: Diese Berechtigungen sind in deiner eigenen installierten Kopie lesbar, nichts wird zur Laufzeit geholt, und der Quellcode ist öffentlich. Aussagen, die du prüfen kannst, kein Zertifikat.
Was der Dienst behält: dein Konto und ein Bytezahl-Register pro Gerät (das sind Kontingente und Provider-Messung), nie Ziele oder URLs; eine Client-Adresse, gehalten als Einweg-Hash mit geheimem Schlüssel über deinen IP-Block statt der Adresse selbst; und eine ungefähre Stadt aus einer Geo-Abfrage. Provider tragen nach außen, ohne deine echte Adresse zu erfahren, und sehen nur Metadaten auf Internetanbieter-Niveau (Website-Namen, nie Seiten oder Passwörter, die HTTPS-versiegelt bleiben); Websites sehen nur den Exit.
Sei beim Mittelstück aber genau. Das Netzwerk hat drei Modi, und der Browser besetzt immer nur einen davon:
| Modus | Operator sieht | Provider sieht | Hier verfügbar |
|---|---|---|---|
| Relay, Standard | dein Konto und deine Quellverbindung, auf welchen Providern du bist, und die Ziele und Paketbytes darin | Ziele, die er nach außen trägt, und eine Geräte-/Vertrags-ID, nicht deine echte IP | ja: der einzige Browser-Modus |
| Relay, versiegelt | dasselbe, aber Chiffretext mit Timing und Volumen an Stelle der Ziele | wie oben | nein: die Verschlüssele-zum-Provider-Sitzung der Apps, dort standardmäßig an, hat kein Browser-Gegenstück |
| Direkt | weniger Relay-Beteiligung | deine echte IP und die Ziele, die er nach außen trägt | nein: zwangsweise aus auf dem gehosteten Proxy-Device, auf dem die Erweiterung läuft |
Diese erste Zeile ist die Browser-Position, und der Kontrast zu den Apps ist scharf, nicht weich: Sie versiegeln die Client↔Provider-Sitzung standardmäßig, und der Browser hat dort keine Sitzung zu versiegeln. Er kann keine haben. Ein Browser spricht sein eigenes Proxy-Protokoll und kann die Engine des Netzwerks nicht ausführen, dein Client-Device läuft also aus der Ferne im Inneren des Operators, der zwischen den beiden Protokollen übersetzt — eine von diesem Device begonnene Versiegelung begänne beim Operator, der Partei, die eine Versiegelung blind machen soll. Die Implementierung hat die Versiegelung dafür eingetauscht, den Browser überhaupt zu erreichen. Die Garantie hier ist eine Speicher-, keine Verschlüsselungsgarantie. Jeder Browser-Proxy übergibt jedes Ziel dem Endpunkt, den er anwählt, der Operator handhabt deine also im Transit; was dahinter steht, ist ein Proxy-Datenpfad, der gar kein Log schreibt, festgenagelt durch einen Regressionstest im offenen Quellcode, und ein Register ohne einen Ort für ein Ziel. Der App-Schalter Starke Anonymisierung fehlt ebenso und wird ebenso nicht gebraucht: Mit zwangsweise ausgeschaltetem Direktmodus kann keinem Provider je deine echte Adresse übergeben werden.
Was das Netzwerk selbst sehen kann und was nicht, sobald dein Datenverkehr fließt, steht im Überblick. Das Bedrohungsmodell geht weiter und benennt die fehlende Versiegelung des Browser-Pfads als eines seiner eigenen Versäumnisse.
Fehlerbehebung
„Failed to provision any proxy connections. Check your account.“
Die Erweiterung hat die API nach Proxy-Zugangsdaten gefragt, und keine wurden gewährt. Fast immer ein Kontozustand:
- Bestätige, dass du dich auf ur.io anmelden kannst, und prüf deinen Tarif. Ein aufgebrauchtes kostenloses Tageskontingent ist die übliche Ursache (es frischt sich täglich auf).
- Prüf, ob das Limit gleichzeitiger Clients deines Tarifs von anderen Geräten aufgebraucht ist; trenn eines.
- Melde dich aus der Erweiterung ab und wieder an, um die Zugangsdaten aufzufrischen.
„Connection lost. Please reconnect.“
Die Gesundheitschecks schlugen wiederholt fehl, und die automatische Neuverbindung hat ihre Versuche aufgebraucht. Dein darunterliegendes Netz hat sich wahrscheinlich geändert (Netzwechsel, Laptop schlief, feindseliges WLAN). Verbinde neu aus dem Popup; wiederholt es sich in einem Netz, blockiert dieses Netz womöglich die Proxy-Ports.
Eine andere Erweiterung kämpft um den Proxy
Nur eine Erweiterung kann die Proxy-Einstellungen des Browsers zugleich steuern (auf Chrome gewinnt die zuletzt installierte). Fährst du eine andere VPN- oder Proxy-Erweiterung, reichen sie die Einstellung hin und her, und beide wirken kaputt. Das Popup sagt es, wenn es die Kontrolle verliert, und chrome://settings nennt den aktuellen Halter; deaktivier die andere. Auf Firefox prüf auf andere installierte Add-ons mit Proxy-Berechtigung.
Captive Portals
Hotel- und Flughafen-WLAN verlangt, dass du dich über eine Portalseite anmeldest, bevor das Internet funktioniert, und mit stehendem Proxy (besonders scharfgestellt) kann das Portal nicht laden. Festklemmen kannst du dich nicht: Trennen ist lokal und braucht kein Netz. Trenn die Erweiterung, schließ die Portal-Anmeldung ab, dann verbinde neu. Jedem Proxy und VPN eigen, kein Erweiterungs-Bug.
Den Status lesen
Der Zustandsindikator des Popups ist die schnellste Diagnose:
- Untätig (Idle): angemeldet, nicht verbunden. Das Surfen ist direkt.
- Verbinden (Connecting) (Spinner): Proxys werden bereitgestellt und Einstellungen angewandt.
- Verbunden (Connected): konfiguriert und kürzlich gesundheitsgeprüft.
- Beeinträchtigt (Degraded) (Instabilitäts-Symbol): konfiguriert, aber Health-Pings schlagen fehl; erwarte eine Neuverbindung, wenn es anhält.
- Neu verbinden (Reconnecting): automatische Erholung läuft; lass es in Ruhe.
- Fehler (Error): eine der Meldungen oben, mit der hier gelisteten Lösung.
Wohin als Nächstes
- Erste Schritte im Browser: Store-Links, Anmeldung und erstes Verbinden, einschließlich der Notiz zu privaten Fenstern.
- So funktioniert URnetwork: das Netzwerk hinter dem Popup und woher die Provider kommen.
- FAQ: Tarife, Kontingente und Kontofragen.