Zurück zum Blog
August 19, 2026Anleitungen

3X-UI-Panel auf einem VPS installieren

Vollständige, produktionsnahe Anleitung: 3X-UI-Xray-Panel auf Ubuntu installieren, Weboberfläche absichern, TLS ausstellen, ein VLESS-Reality-Inbound anlegen, Benutzer verwalten und Clients auf Desktop und Mobilgerät verbinden.

3X-UI-Panel auf einem VPS installieren

3X-UI ist ein Web-Panel für Xray-core. Damit verwalten Sie Inbounds (VLESS, VMess, Trojan, Shadowsocks und andere), stellen Abo-Links aus, setzen Traffic-Limits und Ablaufdaten und sehen Live-Verbindungen — ohne JSON von Hand zu editieren. Wer bereits einen VPS betreibt, kommt so deutlich schneller zu einem wartbaren Proxy-Stack als mit einer einmaligen Konfiguration, die nach sechs Monaten niemand mehr anfassen will.

Diese Anleitung gilt für einen frischen Ubuntu-22.04- oder 24.04-VPS — so sehen die meisten Hiddence-Linux-Images nach dem ersten Start aus. Wir installieren die weit verbreitete MHSanaei-3X-UI-Variante, ändern beim ersten Login jedes Standardgeheimnis, legen das Panel hinter HTTPS, öffnen nur die wirklich nötigen Ports, erstellen ein VLESS-plus-Reality-Inbound und gehen danach die Client-Apps durch. Falls Sie bereits unseren Marzban-Artikel umgesetzt haben: Die Idee ist ähnlich — ein Panel auf Xray — Installationsweg, Dateilayout und Alltag weichen aber ab. Betreiben Sie beide nicht auf demselben Server, solange Sie Ports nicht sicher trennen können.

Warum 3X-UI statt einer nackten Xray-Konfiguration

Eine nackte Xray-Konfiguration reicht für einen Benutzer und ein Inbound. Sobald Freunde dazukommen, Reality-Schlüssel rotieren oder ein Abo-Link nötig wird, den Telefone mit einem Tipp importieren, spart ein Panel Stunden. 3X-UI speichert Benutzer in einer lokalen Datenbank, startet Xray nach Änderungen sauber neu und zeigt ein kompaktes Dashboard für Traffic und Online-Status. Es ist kein magischer Anonymitäts-Layer: Standort des VPS, TLS-Fingerprint, Inbound-Typ und Ihre eigene Betriebsdisziplin entscheiden weiterhin, wie sich das Setup im Netz verhält.

  • Web-UI für Inbounds, Clients, Traffic und Ablauf statt handeditiertem JSON
  • Eingebaute Abo-Links für v2rayN, v2rayNG, Streisand, Happ und ähnliche Clients
  • Installation mit einem Befehl plus dokumentierter Update-Pfad
  • Läuft gut auf einem kleinen VPS (1 vCPU / 1 GB RAM genügen für den Eigenbedarf)
  • Root bleibt auf Ihrem Server — das Panel schickt keine Konfigs in eine Drittanbieter-Cloud

Was Sie vor dem Start brauchen

Überspringen Sie Domain und Firewall nicht. Ein Panel auf HTTP an Port 2053 mit dem Standardpasswort wird innerhalb von Stunden von Bots eingescannt. Bereiten Sie die folgenden Punkte vor und verbinden Sie sich als root (oder sudo-Benutzer) per SSH.

  • Ein Linux-VPS mit öffentlicher IPv4-Adresse (Ubuntu 22.04/24.04 empfohlen)
  • Mindestens 1 GB RAM und 10 GB Speicher; 2 GB RAM sind angenehmer, wenn noch andere Dienste laufen
  • Root- oder sudo-Zugang per SSH
  • Eine Domain oder Subdomain mit A-Record auf die VPS-IP (für ein korrektes Panel-Zertifikat)
  • Etwa 20–30 Minuten plus DNS-Wartezeit, falls der A-Record gerade erst angelegt wurde

Schritt 1: System aktualisieren und Zeitzone setzen

Ein brandneuer VPS hat oft ausstehende Sicherheitsupdates und UTC als Uhr. Aktualisieren Sie Pakete zuerst, damit der Installer nicht mit veraltetem OpenSSL oder curl kämpft. Die Zeitzone ist für Xray selbst optional, macht Panel-Logs und Zertifikatsablauf aber deutlich lesbarer.

bash
ssh root@YOUR_VPS_IP

apt update && apt -y upgrade
apt -y install curl wget ca-certificates gnupg socat tar unzip

timedatectl set-timezone UTC
hostnamectl set-hostname panel

# Confirm DNS for your subdomain (should print your VPS IP):
dig +short panel.example.com

Schritt 2: 3X-UI installieren

Das offizielle Installationsskript der MHSanaei-3X-UI-Variante lädt die aktuelle Version, installiert Xray-core, legt einen systemd-Dienst an und gibt die URL für den ersten Login aus. Lesen Sie die Ausgabe genau: Sie enthält einen zufälligen Pfad sowie generierten Benutzernamen und Passwort. Kopieren Sie beides sofort in einen Passwortmanager. Fragt das Skript nach dem Panel-Port, behalten Sie 2053 oder wählen Sie einen freien hohen Port — merken Sie ihn sich für die Firewall.

bash
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)

# After install, useful commands:
x-ui                    # interactive menu (start/stop/restart, reset, update)
systemctl status x-ui    # confirm the service is active
ss -tulpn | grep x-ui    # see which port the panel listens on
Lassen Sie diese SSH-Sitzung offen. Wenn Sie sich aus dem Panel aussperren, kann das x-ui-Menü auf dem Server das Admin-Passwort zurücksetzen, ohne neu zu installieren.

Schritt 3: Erster Login und sofort härten

Öffnen Sie die URL aus dem Installer, üblicherweise http://YOUR_IP:2053/<zufälliger-pfad>. Melden Sie sich mit den generierten Zugangsdaten an und gehen Sie zu den Panel-Einstellungen (oder Configuration). Ändern Sie Benutzername und Passwort auf eindeutige Werte. Wenn das Panel den Web-Basispfad ändern lässt, tun Sie das — ein langer Zufallspfad reduziert Drive-by-Scans enorm. Setzen Sie den Listen-Port, wenn Sie etwas anderes als 2053 wollen. Speichern, Panel über die UI oder mit systemctl restart x-ui neu starten, dann unter der neuen URL erneut anmelden.

Aktivieren Sie als Nächstes die Zwei-Faktor-Authentifizierung, falls Ihre Variante sie anbietet, und deaktivieren Sie ungenutzte Inbound-Vorlagen. Unter den Xray-Einstellungen belassen Sie die Core-Version, die mit dem Panel kam, sofern Sie keine konkrete andere Variante pinnen müssen. Legen Sie das Panel noch nicht auf Port 80/443, wenn diese Ports später Reality oder ein Reverse-Proxy brauchen — wählen Sie eine Strategie und bleiben Sie dabei.

  • Ersetzen Sie den generierten Admin-Login sofort
  • Behalten Sie den geheimen Web-Pfad; verschieben Sie das Panel nicht nach /
  • Bevorzugen Sie einen nicht standardmäßigen Panel-Port und notieren Sie ihn
  • Verwenden Sie dieses Passwort nirgendwo sonst

Schritt 4: TLS-Zertifikat für das Panel

Browser warnen bei HTTP, und das Admin-Passwort im Klartext über ein öffentliches Netz zu schicken ist eine schlechte Idee. 3X-UI kann ein Let's-Encrypt-Zertifikat anfordern, wenn Port 80 frei ist und die Domain auf diesen VPS zeigt. Öffnen Sie im Panel den Bereich Zertifikat / SSL, tragen Sie panel.example.com ein und fordern Sie das Zertifikat an. Ist Port 80 belegt, nutzen Sie DNS-01 oder stellen Sie Caddy/Nginx davor und reverse-proxyn nach 127.0.0.1:2053.

bash
# Quick check that port 80 is free before the panel ACME challenge:
ss -tulpn | grep ':80'

# If you terminate TLS on Caddy instead of inside 3X-UI:
# Caddyfile example (panel stays on 127.0.0.1:2053):
# panel.example.com {
#     reverse_proxy 127.0.0.1:2053
# }
Das Zertifikat gilt nur für die Web-UI. VLESS Reality hat eine andere TLS-Geschichte (es tarnt sich als andere Site) und nutzt diese Let's-Encrypt-Datei nicht für den Client-Traffic.

Schritt 5: Ein VLESS-Reality-Inbound anlegen

Unter Inbounds ein neues Inbound erstellen. Eine solide Voreinstellung für viele Netze ist VLESS mit Reality und TCP. Wählen Sie einen Port, der nicht der Panel-Port ist — 443 ist üblich, wenn dort sonst nichts lauscht; sonst ein hoher TCP-Port, und in der Firewall konsistent bleiben. Erzeugen Sie eine UUID für den ersten Client, Reality-Schlüsselpaare in der UI und setzen Sie dest / serverNames auf ein legitimes Ziel, das Sie nachahmen dürfen (eine bekannte Site mit TLS 1.3). Speichern und prüfen Sie in den Panel-Logs, dass Xray ohne Fehler neu lädt.

Danach bei Bedarf weitere Clients auf diesem Inbound: Jeder Benutzer erhält eine UUID, optional ein E-Mail-Tag und optionale Traffic- oder Zeitlimits. Kopieren Sie den Verbindungslink oder die Abo-URL aus der Benutzerzeile. Posten Sie diese Links nicht in öffentlichen Chats; sie sind einem Passwort gleichwertig.

bash
# On the server, confirm Xray is listening on the inbound port (example: 443):
ss -tulpn | grep -E ':443|:2053'

# Follow Xray logs if a client cannot connect:
journalctl -u x-ui -f

Schritt 6: Firewall — nur die benötigten Ports

UFW auf Ubuntu reicht. Erlauben Sie zuerst SSH, damit Sie sich nicht aussperren, danach Panel-Port und Inbound-Port. Wenn Sie ein Let's-Encrypt-Zertifikat vom Panel angefordert haben, erlauben Sie während der Ausstellung zusätzlich 80/tcp. Ein Reality-Inbound auf 443 braucht 443/tcp (und nicht das Panel auf demselben Port).

bash
ufw allow OpenSSH
ufw allow 2053/tcp comment '3x-ui panel (change if you picked another port)'
ufw allow 443/tcp comment 'VLESS Reality inbound'
# ufw allow 80/tcp comment 'only if panel ACME needs it'
ufw enable
ufw status verbose

Clients verbinden

Unter Windows importiert v2rayN einen VLESS-Link aus der Zwischenablage. Unter Android tun v2rayNG oder ähnliche Xray-Clients dasselbe per QR-Code. Unter iOS nutzen Sie einen Client mit VLESS-Reality-Unterstützung (etwa Streisand oder Happ, je nach Verfügbarkeit in Ihrer Region). Nach dem Import Profil aktivieren und die Online-Liste im Panel prüfen. Bleibt der Client offline, liegen die üblichen Ursachen bei falschem Port, UDP bei einem reinen TCP-Inbound, einem Reality-serverName, der nicht zu dest passt, oder einer lokalen Firewall auf dem Laptop.

  • Windows: v2rayN — VLESS-Link importieren, Routing nach Bedarf (global vs. regelbasiert)
  • Android: v2rayNG — QR-Code von der Benutzerseite im Panel scannen
  • macOS / iOS: ein Client mit VLESS-plus-Reality; denselben Link einfügen
  • Abo-URL: im Client hinterlegen, damit UUID-Rotationen keinen manuellen Re-Import brauchen

Updates, Backup und sichere Neuinstallation

Vor jedem Panel-Update ein Backup aus der UI herunterladen (Datenbank + Konfiguration) und außerhalb des VPS speichern. Updates laufen typischerweise über x-ui und die Update-Option im Menü oder über dasselbe Installationsskript, das eine bestehende Installation erkennt. Nach dem Update prüfen, ob der systemd-Dienst aktiv ist und Inbounds noch lauschen. Nach einer OS-Neuinstallation das Backup im Panel einspielen, statt jede UUID von Hand neu anzulegen.

bash
x-ui   # choose update when prompted, or:
# bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)

# Backup files commonly live under /etc/x-ui/ — copy them off-box:
ls -la /etc/x-ui/
# Example offsite copy:
# scp -r /etc/x-ui/ you@backup-host:~/x-ui-backup-$(date +%F)/

Fehlerbehebung

Die meisten Probleme am ersten Tag sind DNS, Ports oder Reality-Felder. Gehen Sie diese Liste durch, bevor Sie das Panel neu installieren. Neuinstallation ohne Backup ist der Weg, jede Client-UUID zu verlieren.

  • Web-UI öffnet nicht: systemctl status x-ui, ss -tulpn und UFW prüfen. Den geheimen Pfad in der URL nicht vergessen.
  • Admin-Passwort vergessen: auf dem Server x-ui ausführen und die Reset-Option nutzen.
  • Client verbindet und bleibt hängen: Inbound-Port blockiert oder UDP auf einem TCP-Reality-Inbound aktiviert.
  • TLS-Fehler am Panel: A-Record der Domain zeigt noch nicht hierher, oder Port 80 während ACME belegt.
  • Reality-Handshake schlägt fehl: dest/serverNames passen nicht, oder ein anderer Dienst belegt bereits 443.
  • Hohe CPU: zu viele Inbounds auf einem 1-vCPU-Tarif oder Scan/Flood auf einem offenen Port — ss und Online-Zähler im Panel prüfen.

Sicherheitshinweise, die wirklich zählen

Behandeln Sie das Panel wie produktive Admin-Software. Es kann neue Benutzer anlegen und jede UUID lesen. Begrenzen Sie, wer den Web-Port erreicht: Bei fester Büro-IP in UFW nur diese IP für 2053/tcp zulassen. SSH nur mit Schlüsseln, nicht mit Passwörtern. Betreiben Sie keine fremden öffentlichen Websites auf derselben IP, wenn Reality auf 443 läuft — konkurrierende TLS-Stacks auf einem Port sind ein Klassiker für Ausfälle. Rotieren Sie das Admin-Passwort, falls je ein Screenshot des Panels in einem Chat gelandet ist.

  • Nur SSH-Schlüssel; Passwort-Login deaktivieren, sobald Schlüssel funktionieren
  • Panel-Port in der Firewall einschränken, wenn möglich
  • /etc/x-ui regelmäßig vom Server weg sichern
  • Abo-URLs nicht in öffentlichen Telegram-Gruppen teilen
  • Festplatte im Blick behalten: Logs und Traffic-Statistiken wachsen bei einem belebten Inbound

Praktische Tipps

  • Ein Inbound mit vielen Clients ist leichter zu betreiben als zehn fast identische Inbounds
  • Clients nach Gerät benennen (laptop-anna, phone-ben), damit Traffic-Diagramme etwas bedeuten
  • Wenn Sie zusätzlich einen Reverse-Proxy für eine Website brauchen: andere IP oder anderer Port — kämpfen Sie nicht mit Reality um 443
  • Nach jedem x-ui-Neustart einen Client testen, bevor Sie die SSH-Sitzung schließen
  • Changelog vor dem Update lesen; große Sprünge auf 'latest' nicht am Freitagabend

Sie haben 3X-UI als systemd-Dienst, eine abgesicherte Admin-URL, TLS am Panel, ein VLESS-Reality-Inbound, passende Firewall-Regeln und die Gewohnheit zu sichern. Clients auf der Inbound-Seite anlegen, den Link auf jedem Gerät importieren und das Panel nur nach einem Backup aktualisieren. Wenn etwas kaputtgeht, ist das x-ui-Menü auf dem VPS der Rettungsweg — nicht eine Komplettneuinstallation.