> Die vollständige Liste der Artikel steht in [llms.txt](https://docs.f3cloud.com/llms.txt). Jede Seite gibt es auch als Markdown, dazu einfach .md an die Adresse anhängen. Diese Seite als Markdown: [https://docs.f3cloud.com/de/vpn-guide/reality-self-steal.md](https://docs.f3cloud.com/de/vpn-guide/reality-self-steal.md).

# Self-steal für VLESS Reality – Tarnung als eigene Website

Warum VLESS Reality mit Tarnung als fremde Website blockiert wird und wie Sie auf Self-steal umsteigen. Eigene Domain, nginx auf 127.0.0.1:8443, Xray mit Reality, Einrichtung in 3X-UI, Marzban und Remnawave.

Reality versteckt ein VPN hinter einer gewöhnlichen Website. Gehört diese Website jemand anderem, etwa microsoft.com oder dl.google.com, lässt sich der Server leicht erkennen, deshalb werden solche Server 2026 massenhaft blockiert. **Self-steal** löst das Problem – der Server tarnt sich als Ihre eigene Website mit echtem Zertifikat.

> **Tipp.**
>
> **Der Artikel in Kürze**
>
> * **Ergebnis** – VLESS Reality, das für alle wie Ihre Website aussieht;
> * **Zeit** – etwa 20 Minuten;
> * **Sie brauchen** – einen VPS mit Ubuntu oder Debian und eine eigene Domain;
> * **Geeignet für** – Xray ohne Panel, 3X-UI, Marzban und Remnawave.

### Warum Server blockiert werden

| Wann                    | Was geschah                                                                   |
| ----------------------- | ----------------------------------------------------------------------------- |
| November 2025           | Massenhafte Abbrüche von VLESS Reality auf Port 443 bei Heim-Internetanbietern |
| 17. Februar 2026        | Große Sperrwelle gegen VLESS Reality über TCP im ganzen Land                   |
| Mai 2026                | Tests neuer Methoden in Sibirien, im Fernen Osten und in Moskau               |
| August – September 2026 | Sperren von IP-Adressen und Subnetzen beliebter VPS-Hoster                    |

Reality selbst ist nicht geknackt. Die Filter der Provider (TSPU) suchen nach indirekten Merkmalen, und das wichtigste davon ist die Tarnung als fremde Website:

* der Name der Website (SNI) wird im Klartext übertragen;
* microsoft.com auf der IP-Adresse eines kleinen Hosters wirkt unnatürlich;
* wer sich mit dem Server verbindet, sieht die echte Microsoft-Website auf einer fremden IP-Adresse.

<details>

<summary>Was die Xray-Entwickler sagen</summary>

Seit 2026 gibt Xray eine Warnung aus, wenn apple.com, icloud.com oder microsoft.com als Ziel gewählt ist, und seit Juli 2026 auch bei Websites in den Zonen .ru, .ir und .cn. Die offizielle Reality-Dokumentation empfiehlt, eine Website aus demselben Netz wie der Server zu nehmen. Am einfachsten erfüllen Sie diese Bedingung, indem Sie die Website direkt auf dem Server betreiben.

</details>

### So funktioniert Self-steal

| Wer sich verbindet         | Was er sieht                       |
| -------------------------- | ---------------------------------- |
| Ihr Client mit Schlüssel   | Eine VPN-Verbindung                |
| Provider, Scanner, Browser | Ihre Website mit echtem Zertifikat |

Domain, Zertifikat und IP-Adresse passen zusammen, deshalb sieht der Server aus wie Tausende gewöhnlicher Websites. Xray nimmt Verbindungen auf Port 443 an, und die Website läuft in nginx auf der internen Adresse `127.0.0.1:8443`.

> **Achtung.**
>
> Self-steal ist keine hundertprozentige Garantie. Im August und September 2026 waren auch solche Server von Subnetzsperren betroffen. Am besten funktioniert das Verfahren zusammen mit einer neutralen Domain, wenigen Nutzern und dem Fingerprint `firefox`.

### Was Sie brauchen

* einen VPS mit **Ubuntu 22.04**, **24.04** oder **Debian 12** – für den Eigenbedarf reicht **DE-PROMO**, für einen Kanal mit 1 Gbit/s eignet sich **DE-RZ9-1**;
* eine Domain oder Subdomain, die auf diesen Server zeigt;
* freie Ports 80 und 443.

> **Tipp.**
>
> Wählen Sie für die Domain einen neutralen Namen, etwa wie für einen Blog oder ein Portfolio, ohne die Wörter vpn, proxy, xray, reality und node. Für einen Server in Deutschland ist eine internationale Zone (.com, .net, .org) oder .de besser – zur Zone .ru gibt Xray eine Warnung aus.

### Schritt 1. DNS-Eintrag

Legen Sie bei Ihrem Registrar einen A-Eintrag mit der IP-Adresse des Servers an. Ist die Domain mit Cloudflare verbunden, schalten Sie den Proxy aus (graue Wolke) – Reality funktioniert nicht über ein CDN.

```bash
dig +short example.com
```

Der Befehl sollte die IP-Adresse des Servers ausgeben.

### Schritt 2. Website und Zertifikat

Installieren Sie nginx und certbot und legen Sie dann eine einfache Seite auf die Website – einen Blog, eine Visitenkarte, alles außer einer leeren Platzhalterseite:

```bash
apt update && apt install -y nginx certbot
nano /var/www/html/index.html
```

Stellen Sie das Zertifikat aus und ersetzen Sie dabei Domain und E-Mail-Adresse durch Ihre eigenen:

```bash
certbot certonly --webroot -w /var/www/html -d example.com -m you@example.com --agree-tos --no-eff-email --deploy-hook "systemctl reload nginx"
```

Certbot verlängert das Zertifikat danach selbst und lädt nginx neu.

### Schritt 3. nginx einrichten

Öffnen Sie die Datei `/etc/nginx/sites-available/default` und ersetzen Sie ihren Inhalt durch Folgendes, mit Ihrer eigenen Domain:

```nginx
server {
    listen 80;
    listen [::]:80;
    server_name example.com;

    location /.well-known/acme-challenge/ {
        root /var/www/html;
    }

    location / {
        return 301 https://$host$request_uri;
    }
}

server {
    listen 127.0.0.1:8443 ssl http2;
    server_name example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_protocols TLSv1.2 TLSv1.3;

    root /var/www/html;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}
```

```bash
nginx -t && systemctl reload nginx
```

<details>

<summary>Was diese Konfiguration bewirkt</summary>

* **Port 80** – Verlängerung des Zertifikats und Weiterleitung der Besucher auf HTTPS.
* **127.0.0.1:8443** – die Website selbst. Sie ist nur innerhalb des Servers erreichbar, und Port 443 bleibt für Xray frei.
* **Die Warnung** `listen ... http2 is deprecated` in neueren nginx-Versionen können Sie ignorieren. Ersetzen Sie die Zeile nicht durch `http2 on;` – nginx in Ubuntu 22.04, 24.04 und Debian 12 kennt diese Direktive nicht und startet dann nicht.

</details>

### Schritt 4. Xray installieren und Schlüssel erzeugen

```bash
bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install
xray uuid
xray x25519
openssl rand -hex 8
```

Speichern Sie vier Werte:

| Wert                   | Woher                                                          | Wo benötigt       |
| ---------------------- | -------------------------------------------------------------- | ----------------- |
| UUID                   | `xray uuid`                                                    | Server und Client |
| Privater Schlüssel     | `xray x25519`, Zeile `PrivateKey`                              | Nur Server        |
| Öffentlicher Schlüssel | `xray x25519`, Zeile `Password (PublicKey)` oder `Public key`  | Nur Client        |
| Short ID               | `openssl rand -hex 8`                                          | Server und Client |

### Schritt 5. Xray einrichten

> **Achtung.**
>
> Wenn die Datei `/usr/local/etc/xray/config.json` bereits Ihre Verbindungen enthält, überschreiben Sie sie nicht, sonst verlieren Sie Ihre Nutzer. Ändern Sie nur den Block `realitySettings` gemäß der Tabelle unten.

Bei einer Neuinstallation öffnen Sie die Datei mit dem Befehl `nano /usr/local/etc/xray/config.json` und fügen die Konfiguration ein. Ersetzen Sie dabei die Werte in Großbuchstaben.

<details>

<summary>Xray-Konfiguration für eine Neuinstallation</summary>

```json
{
  "log": {
    "loglevel": "warning"
  },
  "inbounds": [
    {
      "listen": "0.0.0.0",
      "port": 443,
      "protocol": "vless",
      "settings": {
        "clients": [
          {
            "id": "UUID",
            "flow": "xtls-rprx-vision"
          }
        ],
        "decryption": "none"
      },
      "streamSettings": {
        "network": "tcp",
        "security": "reality",
        "realitySettings": {
          "target": "127.0.0.1:8443",
          "xver": 0,
          "serverNames": ["example.com"],
          "privateKey": "PRIVATE_KEY",
          "shortIds": ["SHORT_ID"]
        }
      },
      "sniffing": {
        "enabled": true,
        "destOverride": ["http", "tls", "quic"]
      }
    }
  ],
  "outbounds": [
    {
      "protocol": "freedom",
      "tag": "direct"
    },
    {
      "protocol": "blackhole",
      "tag": "block"
    }
  ]
}
```

</details>

Entscheidend sind in dieser Konfiguration drei Felder:

| Feld          | Wert             | Wozu                                                                                  |
| ------------- | ---------------- | ------------------------------------------------------------------------------------- |
| `target`      | `127.0.0.1:8443` | Fremde Besucher schicken wir auf Ihre Website. Früher hieß das Feld `dest`             |
| `xver`        | `0`              | Sonst erhält nginx einen überflüssigen PROXY-protocol-Header, und die Website öffnet sich nicht |
| `serverNames` | Ihre Domain      | Muss mit der Domain im Zertifikat übereinstimmen                                      |

Prüfen Sie die Konfiguration und starten Sie Xray neu:

```bash
xray run -test -config /usr/local/etc/xray/config.json
systemctl restart xray
```

### Schritt 6. Firewall

```bash
ufw allow 22/tcp && ufw allow 80/tcp && ufw allow 443/tcp && ufw enable
```

Läuft SSH auf einem anderen Port, geben Sie diesen statt `22` an.

### Schritt 7. Prüfung

Öffnen Sie `https://example.com` im Browser. Erscheint Ihre Website ohne Zertifikatswarnungen, leitet Xray fremde Verbindungen korrekt an nginx weiter.

### Schritt 8. Client verbinden

```text
vless://UUID@example.com:443?encryption=none&flow=xtls-rprx-vision&security=reality&sni=example.com&fp=firefox&pbk=PUBLIC_KEY&sid=SHORT_ID&type=tcp#My-server
```

Setzen Sie Ihre Werte ein und importieren Sie den Link in die App, wie in der [Anleitung zum Import](https://docs.f3cloud.com/de/vpn-guide/marzban-installation.md#schritt-4.-mit-dem-vpn-verbinden) gezeigt. Warum im Link `fp=firefox` steht, erklären wir im Artikel [zu 3X-UI](https://docs.f3cloud.com/de/vpn-guide/3x-ui-panel-guide.md#vless-reality).

### Self-steal in Panels

Führen Sie zuerst die Schritte 1–3 auf dem Server aus, auf dem Xray läuft. Ändern Sie danach die Verbindung im Panel.

#### 3X-UI

Öffnen Sie die Verbindung VLESS Reality und tragen Sie Folgendes ein:

* **Target** – `127.0.0.1:8443`;
* **SNI** – Ihre Domain;
* **Xver** – `0`.

Die Schlüssel müssen Sie nicht neu erzeugen.
#### Marzban

1. Setzen Sie in **Core Settings** im Block `realitySettings` den Wert `target` auf `127.0.0.1:8443`, `serverNames` auf Ihre Domain und `xver` auf `0`.
2. Tragen Sie in **Host Settings** diese Domain im Feld SNI ein.
#### Remnawave

1. Öffnen Sie in **Config Profiles** das Profil der Node und nehmen Sie in `realitySettings` dieselben drei Änderungen vor.
2. Ist im Bereich **Hosts** die SNI überschrieben, tragen Sie dort die neue Domain ein.

Mehr über das Panel lesen Sie im Artikel [„Remnawave auf einem VPS installieren“](https://docs.f3cloud.com/de/vpn-guide/remnawave-installation.md).

> **Hinweis.**
>
> Läuft Xray in Docker ohne `network_mode: host`, zeigt die Adresse `127.0.0.1` ins Innere des Containers, und nginx ist nicht erreichbar. Die Remnawave-Node läuft im Modus `host`, daher betrifft sie das nicht.

### Umstieg von einer fremden Website

1. Erstellen Sie eine Sicherungskopie der Einstellungen mit dem Befehl `cp /usr/local/etc/xray/config.json /usr/local/etc/xray/config.json.bak`.
2. Führen Sie die Schritte 1–3 aus.
3. Ändern Sie `target`, `serverNames` und `xver` gemäß der Tabelle aus Schritt 5. Stehen in der Konfiguration sowohl `dest` als auch `target`, behalten Sie nur eines der beiden Felder.
4. Prüfen Sie die Konfiguration und starten Sie Xray neu.

UUID, Schlüssel und Short ID bleiben gleich. Ihre Nutzer müssen nur das Abonnement oder den Link aktualisieren – darin ändert sich `sni`.

> **Achtung.**
>
> Wurde Reality über die App **AmneziaVPN** installiert, schreibt die App die Servereinstellungen selbst, und manuelle Änderungen können verloren gehen. Für Self-steal ist es zuverlässiger, Xray separat zu installieren.

### Wenn etwas nicht funktioniert

| Symptom                                  | Was Sie prüfen sollten                                                                     |
| ---------------------------------------- | ------------------------------------------------------------------------------------------ |
| Die Website öffnet sich nicht            | A-Eintrag, Ausgabe von `nginx -t`, ob nginx auf Port 8443 lauscht (`ss -tlnp \| grep 8443`) |
| Xray startet nicht                       | Protokoll `journalctl -u xray -n 50`, JSON-Syntax, ob Port 443 bereits belegt ist          |
| Die Website öffnet sich, das VPN nicht   | Ob UUID, `sni`, `pbk` und `sid` mit dem Server übereinstimmen, ob der Client aktuell ist   |
| Das Zertifikat wird nicht verlängert     | Ob Port 80 offen ist, Ergebnis von `certbot renew --dry-run`                               |
| Es funktioniert bei einem Provider nicht | Anderer Fingerprint im Client, Verbindung aus einem anderen Netz, ob die IP gesperrt ist   |

### Tipps

* **Weniger Nutzer** – ein unauffälligeres Verkehrsprofil.
* **Eine echte Seite** – wirkt natürlicher als ein leerer Platzhalter.
* **Aktuelle Versionen** – Xray aktualisieren Sie mit demselben Installationsbefehl, und halten Sie auch die Clients aktuell.
* **Eine Ersatzverbindung** – zum Beispiel [VLESS + TLS + XHTTP](https://docs.f3cloud.com/de/vpn-guide/setup-vless-xhttp.md), falls die Hauptverbindung nicht mehr funktioniert.
