# Erste Schritte auf Linux

Dieser Guide bringt dich von „nichts installiert“ zu „verbunden“. Er deckt
die zweiteilige Installation, die Anmeldung, das Verbinden und die
Anlaufstellen für Hilfe ab. Für jeden Bildschirm und jede Einstellung lies
die [Linux-Tour](/docs/tour-linux).

URnetwork nutzt von Mitgliedern betriebene Exit-Geräte. Provider erhalten
deine Quell-IP auf Relay-Pfaden nicht. Die nativen Apps verschlüsseln den
Datenverkehr zum Provider zudem standardmäßig. Lies
[So funktioniert URnetwork](/docs/overview) für das vollständige Modell.

## Was du brauchst

URnetwork für Linux ist eine native GTK4-Desktop-App im Gespann mit einem
System-Daemon, der den Tunnel besitzt. Sie zielt auf **Ubuntu 22.04 oder
neuer** und gleichwertige Releases der Debian-Familie, auf **amd64 und
arm64**, und braucht systemd und `/dev/net/tun`. Das ist eine normale
Desktop- oder Server-Installation.

## Installieren

Die App installiert sich als zwei Teile, denn ein Tunnel braucht
Privilegien, und eine GUI darf sie nie haben:

- **`urnetworkd`** — ein kleiner Root-Daemon unter systemd. Er besitzt
  `/dev/net/tun`, Routen und DNS. Er hat überhaupt keine
  GUI-Abhängigkeiten und installiert sich also problemlos auf einer
  Headless-Box.
- **Die URnetwork-App** — eine GTK4/libadwaita-Desktop-App, ausgeliefert als
  AppImage, die als dein normaler Benutzer läuft. Sie braucht nie Root.

Beide kommen von
[github.com/urnetwork/build/releases](https://github.com/urnetwork/build/releases).

### 1. Den Daemon installieren

Nutz das **`.deb`** auf Debian, Ubuntu und Ableitungen:

```
sudo apt install ./urnetwork-daemon_<version>_<arch>.deb
```

oder das **Install-Tarball** auf Distributionen ohne dpkg:

```
tar xf urnetwork-daemon-<version>-<arch>.install.tar.gz
sudo urnetwork-daemon/install.sh
```

Der Installer fährt Preflight-Checks (systemd, glibc, `/dev/net/tun`) und
druckt, was er tun wird; `install.sh --dry-run` zeigt den Plan, ohne
irgendetwas anzufassen. Er erstellt eine Systemgruppe namens `urnetwork`,
installiert den Daemon, seine systemd-Unit, den Desktop-Eintrag, Icons und
einen Launcher `/usr/bin/urnetwork`, dann aktiviert und startet er den
Dienst. Ihn bei der Installation zu starten ist sicher: Der Daemon startet
untätig. Er bringt nie einen Tunnel hoch, bis ein authentifizierter
Desktop-Client ihn darum bittet.

### 2. Die App dorthin legen, wo sie sich selbst aktualisieren kann

Das GUI-AppImage wird vom Paket absichtlich nicht installiert. Es lebt in
deinem Home-Verzeichnis, damit es sich ohne Root selbst ersetzen kann:

```
mkdir -p ~/.local/lib/urnetwork
cp URnetwork-<version>-<arch>.AppImage ~/.local/lib/urnetwork/URnetwork.AppImage
chmod +x ~/.local/lib/urnetwork/URnetwork.AppImage
```

`/usr/bin/urnetwork` findet es dort und führt es aus — der Desktop-Eintrag,
das App-Menü und `urnetwork://`-Links funktionieren also über App-Updates
hinweg weiter. AppImages brauchen `libfuse2`; das `.deb` deklariert diese
Abhängigkeit für dich.

### 3. Füg dich der Gruppe `urnetwork` hinzu

Nur Root und Mitglieder der Gruppe `urnetwork` können den Daemon
kommandieren, dein eigener Benutzer muss also beitreten:

```
sudo usermod -aG urnetwork "$USER"
```

Melde dich ab und wieder an; die Gruppenmitgliedschaft wird beim Login
übernommen. Lässt du das aus, sagt dir die App, dass sie den Dienst nicht
erreichen kann.

Externe Sicherheitsprüfungen, und ihre Grenzen, behandelt das
[Bedrohungsmodell](/docs/threat-model).

## Anmelden

Starte URnetwork aus deinem App-Menü, oder führ `urnetwork` aus. Die App
öffnet mit den Anmeldeoptionen. Wähl das Identitätsmodell, mit dem du dich
wohlfühlst:

- **E-Mail oder Telefon.** Eingeben und weiter. Die App findet dein Konto
  oder bietet an, eines zu erstellen, verifiziert mit einem Einmalcode.
- **Konto erstellen (Create account).** Netzwerkname, E-Mail oder Telefon,
  Passwort und ein optionaler Empfehlungscode.
- **Mit Code anmelden (Sign in with code).** Schon auf einem anderen Gerät
  angemeldet? Erzeuge dort einen einmaligen Auth-Code, in jeder
  URnetwork-App oder auf [ur.io](https://ur.io), und füg ihn ein.
- **Gastmodus ausprobieren (Try Guest Mode).** Ein Klick erstellt ein
  echtes, dauerhaftes Netzwerk, ohne dass du irgendetwas übergibst. Der
  Button stammt aus der Zeit vor dem aktuellen Registrierungs-Flow: Die
  Wiederherstellungsphrase für dieses Konto wird verworfen, statt dir
  gezeigt zu werden — von einer anderen Maschine führt also kein Weg zurück
  hinein. Behandle es als Wegwerf-Konto zum Testen. Ergänze eine E-Mail,
  ein Telefon oder eine Wallet, bevor du dich darauf verlässt.
- **Mit Bittensor anmelden (Sign in with Bittensor).** Dein Browser öffnet
  eine Wallet-Brücke, deine Wallet signiert eine Nachricht, und die App
  übernimmt von dort.
- **Mit Solana anmelden (Sign in with Solana).** Derselbe Flow, via Phantom
  oder Solflare.

Es gibt keine Google- oder Apple-Anmeldung auf Linux. Willst du ein
E-Mail-freies Konto, das du behalten kannst, bieten die Telefon- und
Mac-Apps ein **Sofort-Konto erstellen** (Create Instant Account) in einem
Tipp, das dir seine Wiederherstellungsphrase zeigt. Erstell es dort und
bring es mit einem Auth-Code auf diese Maschine.

Jedes Netzwerk startet im Gratis-Tarif, einem täglichen Datenkontingent, das
sich jeden Tag auffrischt. Pro (5 $/Monat oder 40 $/Jahr) ersetzt es durch
ein großes monatliches Kontingent, gekauft in der App über **UR Pro holen**
(Get UR Pro). Aktuelle Zahlen: [ur.io/products](https://ur.io/products).

## Die Tunnel-Berechtigung

Beim Verbinden erscheint kein Zustimmungsdialog, denn du hast das Privileg
bei der Installation gewährt. Der Daemon läuft als Root und besitzt das
Tunnel-Gerät; die App läuft als du und fragt den Daemon über seinen
Steuer-Socket. Dieser Socket ist durch vom Kernel verifizierte
Peer-Credentials geschützt: Root, oder ein Mitglied der Gruppe `urnetwork`.
Nichts anderes auf dem System kann einen Tunnel starten.

Was URnetwork über deine Verbindungen speichert, steht im
[Bedrohungsmodell](/docs/threat-model).

## Verbinden

1. Klick in der App auf **Verbinden** (Connect).
2. Der Tunnel kommt hoch. Es gibt keine Berechtigungsabfrage, denn der
   Daemon, nicht die App, öffnet das Tunnel-Gerät.
3. Der Globus und die Statuszeile werden lebendig, und ein Tray-Symbol
   erscheint, wenn dein Desktop eines unterstützt.

### Einen Standort wählen

Der Standard ist **bester verfügbarer** (best available). Das Netzwerk
wählt fortlaufend schnelle, zuverlässige Provider für dich. Für die meisten
Sitzungen ist das die richtige Wahl.

So wählst du, wo dein Datenverkehr austritt:

1. Klick auf die Standortzeile, um die Auswahl zu öffnen.
2. Scroll für Länder, oder tipp etwas ein, um zu suchen. Regionen, Städte
   und Geräte erscheinen in Suchergebnissen — tipp also den Namen einer
   Stadt ein, um sie zu finden.
3. Wähl einen Standort. Die App verbindet sich neu über Provider dort.

Jeder Eintrag trägt eine Live-Zahl der Provider, die dort gerade online
sind. Provider sind Mitgliedsgeräte, keine Rechenzentren, die Zahlen steigen
und fallen also mit der Tageszeit. Der [Überblick](/docs/overview) erklärt
den Pfad, den dein Datenverkehr nimmt. Die [Tour](/docs/tour-linux) erklärt
die Verbindungseinstellungen und ihre Abwägungen.

## Prüfen, ob es funktioniert

Besuch irgendeine „Wie ist meine IP“-Website. Du solltest Adresse und Stadt
eines Providers sehen statt deiner. Danach sagen dir der Globus und die
Statuszeile der App, und das Tray-Symbol, wo dein Desktop eines zeigt, dass
der Tunnel steht.

## Wenn etwas schiefgeht

Meldet die App den Dienst als unerreichbar, veraltet oder als anderen Build
als die App, ist das ein echter Zustand mit einer echten Lösung: siehe
[Fehlerbehebung](/docs/tour-linux#troubleshooting) in der Tour. Die beiden
Hälften sind absichtlich versionsgekoppelt — eine halb aktualisierte
Installation sagt es dir also, statt seltsam zu scheitern. Bei
Tunnel-Problemen ist `journalctl -u urnetworkd -f` das Erste, was du
prüfst. [feedback.ur.io](https://feedback.ur.io) erreicht das Team, und die
[FAQ](/docs/faq) beantwortet häufige Fragen.

## Wie es weitergeht

- **Mach die [Tour](/docs/tour-linux).** Jeder Bildschirm und jede
  Einstellung: die Daemon-Aufteilung, das Routing- und DNS-Verhalten und
  seine Grenzen, die Sheets (eigenes DNS, Split-Regeln, Live-Verträge), das
  Überschreiben des Gerätestandorts, der Kill Switch (standardmäßig aus)
  und Fehlerbehebung.
- **Teile deine Verbindung.** Verbindung teilen (provide mode) sitzt in den
  Home-Steuerelementen der App: **Auto**, **Immer** (Always), **Netzwerk**
  (Network, nur die Geräte deines eigenen Kontos, nie die Öffentlichkeit)
  oder **Nie** (Never), und es startet auf **Nie**. Ein Linux-Desktop oder
  -Server an einem guten Upload ist genau die Art Knoten, die das Netzwerk
  will; der [Überblick](/docs/overview) behandelt die Missbrauchsfilterung,
  die auf deiner Maschine läuft, bevor Datenverkehr sie verlässt. Für eine
  Headless-Box erledigt die eigenständige Provider-CLI von
  [github.com/urnetwork/build/releases](https://github.com/urnetwork/build/releases)
  denselben Job: `urnetwork auth` mit einem Code aus irgendeiner App, dann
  `urnetwork provide`. Provider nehmen am UR Protocol teil;
  [ur.xyz](https://ur.xyz) dokumentiert, wie die Vergütung funktioniert.
- **Probier eine andere Plattform:**
  [Android](/docs/getting-started-android),
  [iOS](/docs/getting-started-ios),
  [macOS](/docs/getting-started-macos),
  [Windows](/docs/getting-started-windows) und den
  [Browser](/docs/getting-started-browser).
