Xray: Unterschied zwischen den Versionen

Aus Foxwiki
Wechseln zu:Navigation, Suche
Zeile 229: Zeile 229:
Das Skript beginnt mit <code>#!/bin/sh</code> und installiert automatisch <code>bash</code>, falls diese fehlt (z. B. unter Alpine), und führt sich anschließend erneut unter bash aus. Bash ist für Arrays, den Abgleich mit regulären Ausdrücken und andere Funktionen erforderlich, die im gesamten Skript verwendet werden.
Das Skript beginnt mit <code>#!/bin/sh</code> und installiert automatisch <code>bash</code>, falls diese fehlt (z. B. unter Alpine), und führt sich anschließend erneut unter bash aus. Bash ist für Arrays, den Abgleich mit regulären Ausdrücken und andere Funktionen erforderlich, die im gesamten Skript verwendet werden.
</blockquote>
</blockquote>
----
=== Installationsprogramm ===
Automatisiertes Installationsprogramm für [[Xray]], [[VLESS]] + [[REALITY]] + [[XTLS-Vision]]
* Interaktive Einrichtung
* [[SSH-Absicherung]]
* [[Firewall]]-Konfiguration
* [[BBR]]-Optimierung
* [[Datenschutz]]orientierte Standardeinstellungen


----
----

Version vom 22. August 2026, 12:30 Uhr

Xray - Xray + VLESS + REALITY + XTLS-Vision auf Debian installieren


Beschreibung


Lizenz

Dieses Projekt unterliegt der MIT-Lizenz


Zensur-Sicherheit

Warum diese Konfiguration DPI-unabhängig ist

Anti-Zensur-Stack von Xray-core

Ebene Technologie Zweck
Protokoll VLESS Leichtgewichtig, kein erkennbares Verschlüsselungsmuster (im Gegensatz zu VMess)
TLS REALITY Verwendet den TLS-Fingerabdruck einer echten Website – keine Zertifikate erforderlich, immun gegen aktive Erkundungsversuche
Ablauf XTLS-Vision Beseitigt Fingerabdrücke durch doppelte Verschlüsselung und fügt zufällige Auffülldaten zu den internen Handshakes hinzu
Fingerabdruck uTLS (Chrome) Der Client ahmt das „TLS ClientHello“ eines echten Chrome-Browsers nach
Transport TCP Am natürlichsten, vermeidet den Overhead und die Muster von WebSocket/gRPC
DNS DNS.SB + Mullvad DoH-Anbieter außerhalb der „Five Eyes“-Allianz, die keine Protokolle führen; keine Speicherung personenbezogener Daten

Funktionsweise von REALITY
  • Wenn eine Zensurinstanz Ihren Server abfragt, leitet Xray die Anfrage an die echte Tarn-Website weiter (z. B. www.microsoft.com).
  • Die Zensurinstanz erhält eine legitime Antwort von Microsoft – die von einem echten Besuch nicht zu unterscheiden ist.

Funktion

Was das Skript tut

Beim Start stellt das Skript zwei vorbereitende Fragen, bevor es Änderungen vornimmt

# Frage Beschreibung
1 Sicherheitsprüfung Es wird gefragt, ob Sie sich in einer sicheren Umgebung befinden (keine gemeinsam genutzten Bildschirme, Kameras oder Umstehende). Dies bestimmt, ob die Anmeldedaten während der Einrichtung angezeigt oder vollständig ausgeblendet werden.
2 Überschreibbestätigung Warnt davor, dass vorhandene Xray-Konfigurationen, Firewall-Regeln und sysctl-Einstellungen überschrieben werden (Firewall-Regeln werden zuvor gesichert), und fordert Sie zur Bestätigung auf.

Einrichtung

# Aufgabe Beschreibung
1 Distribution und Init-System erkennen, Pakete aktualisieren und Abhängigkeiten installieren
2 Installieren Sie die neueste Version von Xray-core (offizielles Skript für systemd, manuelle Installation unter OpenRC)
3 Wählen Sie einen benutzerdefinierten SSH-Port aus (OpenSSH oder Dropbear werden automatisch erkannt)
4 Wählen Sie einen benutzerdefinierten Xray-Eingangsport aus
5 Primären und sekundären DNS-Anbieter auswählen (DoH)
6 Wählen Sie Protokollierungseinstellungen (standardmäßig deaktiviert)
7 Wählen Sie die Einstellung BitTorrent-Blockierung (standardmäßig zugelassen)
8 UUID, x25519-Schlüsselpaar und Kurz-IDs generieren
9 Wählen Sie eine Tarnseite (mit TLS 1.3-Verifizierung)
10 Speichere die Serverkonfiguration unter /usr/local/etc/xray/config.json.
11 iptables-Firewall konfigurieren (Sicherung bestehender Regeln, atomisches Schreiben, SSH-Brute-Force-Schutz)
12 Wöchentliche Protokollrotation einrichten (wird übersprungen, wenn die Protokollierung deaktiviert ist)
13 BBR-Überlastungskontrolle und TCP-Optimierungen aktivieren
14 Xray-Service starten
15 Interaktive Zusammenfassung mit Anzeige der Anmeldedaten und Speicheroptionen

Sicherer Modus vs. abgesicherter Modus

Verhalten Sicher (Antwort: Ja) Sicher (mit „N“ oder „Enter“ bestätigt)
Schritt 6: Anmeldedaten im Terminal Abgebildet Versteckt
Anmeldedaten anzeigen? Bei Abfrage lautet die Standardantwort Y Automatisch übersprungen
VLESS-Freigabelink anzeigen? Bei Abfrage lautet die Standardantwort Y Automatisch übersprungen
QR-Code anzeigen? Bei Abfrage lautet die Standardantwort Y Automatisch übersprungen
In Datei speichern? Abgefragt, Standardwert N Bei Abfrage: Standard Y (empfohlen)

Im abgesicherten Modus empfiehlt es sich, die Daten in der Datei /root/xray-credentials.txt zu speichern, um Ihre Anmeldedaten später aus einer privaten Sitzung abrufen zu können.


Protokollierung

Das Skript fragt ab, ob der Xray-Zugriff und die Fehlerprotokolle aktiviert werden sollen. Standard: deaktiviert (N).

Auswahl Röntgenprotokoll-Pegel Protokolldateien Logrotate Datenschutz
Deaktiviert (Standard) none Keine erstellt Übersprungen Es wurden keine Verbindungsmetadaten gespeichert
Aktiviert warning /var/log/xray/access.log, error.log Wöchentlich, 12 Wochen Aufbewahrungsfrist Zeitstempel, IP-Adressen und Datenverkehrsvolumen wurden erfasst

Protokollierung wieder aktivieren

/usr/local/etc/xray/config.json

"log": {
 "loglevel": "warning",
 "access": "/var/log/xray/access.log",
 "error": "/var/log/xray/error.log"
}

Erstellen Sie anschließend das Protokollverzeichnis und starten Sie den Dienst neu:

mkdir -p /var/log/xray && <Befehl zum Neustart>

BitTorrent-Sperrung

Das Skript fragt ab, ob der Datenverkehr des BitTorrent-Protokolls blockiert werden soll

  • Standard: zugelassen (N)

Wenn Sie Torrents über einen Proxy ausführen, kann dies dazu führen, dass die IP-Adresse Ihres VPS vom Hosting-Anbieter markiert oder gesperrt wird. Torrent-Datenverkehr erzeugt zudem Muster mit hohem Datenvolumen, die für Zensurbehörden leicht zu erkennen sind. Wenn Sie diesen Proxy ausschließlich zum Surfen im Internet nutzen, wird empfohlen, BitTorrent zu blockieren.

Wenn diese Option aktiviert ist, fügt Xray eine Routing-Regel hinzu, die alle Verbindungen über das BitTorrent-Protokoll blockiert

{
    "type": "field",
    "protocol": ["bittorrent"],
    "outboundTag": "block"
}

Um diese Einstellung später zu ändern, fügen Sie diese Regel zum Array routing.rules in der Datei /usr/local/etc/xray/config.json hinzu oder entfernen Sie sie daraus und starten Sie Xray neu.


Installation

Auf systemd-basierten Distributionen wird Xray über das offizielle Installationsskript installiert

Auf einem neu installierten VPS
Git installieren
apt install git
Pepository clonen
git clone https://github.com/0xevn/xray-reality-setup.git
cd xray-reality-setup
Set-up starten

Verwenden Sie zunächst „su“, „doas“ oder „sudo“, um eine Root-Shell zu erhalten

 chmod +x xray-setup.sh
 sh xray-setup.sh

Das Skript beginnt mit #!/bin/sh und installiert automatisch bash, falls diese fehlt (z. B. unter Alpine), und führt sich anschließend erneut unter bash aus. Bash ist für Arrays, den Abgleich mit regulären Ausdrücken und andere Funktionen erforderlich, die im gesamten Skript verwendet werden.


Installationsprogramm

Automatisiertes Installationsprogramm für Xray, VLESS + REALITY + XTLS-Vision


DNS-Server

Bei der Einrichtung wählen Sie aus dieser Liste einen primären und einen sekundären DNS-over-HTTPS-Anbieter aus:

# Anbieter Gerichtsbarkeit Protokollierung DoH URL
1 DNS.SB Deutschland Keine Protokollierung doh.dns.sb/dns-query
2 Maulwurf DNS Schweden Keine Protokolle, geprüft dns.mullvad.net/dns-query
3 Quad9 Schweiz Keine IP-Protokollierung, Blockierung von Bedrohungen dns.quad9.net/dns-query
4 Quad9 Ungefiltert Schweiz Keine IP-Protokollierung, keine Filterung dns11.quad9.net/dns-query
5 Cloudflare USA Protokolle vor 24 Stunden gelöscht, von KPMG geprüft 1.1.1.1/dns-query
6 AdGuard DNS Zypern Aggregierte anonyme Statistiken, Werbeblocker dns.adguard-dns.com/dns-query

Standardeinstellungen

DNS.SB (primär) + Mullvad (sekundär)

Ein localhost-Fallback wird immer angehängt.


Client-Konfiguration

Option A: QR-Code (am schnellsten auf Mobilgeräten)

Wählen Sie während der Einrichtung (im sicheren Modus) die Option „QR-Code anzeigen“ und scannen Sie diesen direkt mit der Client-App auf Ihrem Smartphone. Alle Verbindungsdaten sind im QR-Code enthalten.

Mit qrencode kann später ein neuer QR-Code erstellt werden

qrencode -t ANSIUTF8 'vless://UUID@IP:PORT?type=tcp&security=reality&...'

Oder falls Sie die Anmeldedaten in einer Datei gespeichert haben

qrencode -t ANSIUTF8 "$(grep -A1 'VLESS Share' /root/xray-credentials.txt | tail -1)"

Das Einrichtungsskript generiert einen vless://-Link. Fügen Sie diesen in einen beliebigen kompatiblen Client ein:

Plattform Empfohlene App
Android V2rayNG, v2rayNG, NekoBox, Hiddify
iOS Streisand, V2Box, FoXray
Windows v2rayN, Hiddify, NekoRay
macOS V2Box, FoXray, NekoRay
Linux NekoRay, NekoRay, v2rayA, Hiddify

Option C: Manuelle Client-Konfiguration

Verwenden Sie diese Vorlage in Ihrem Client und ersetzen Sie dabei alle <...>-Werte durch die Ausgabe des Setup-Skripts

 {
     "log": {
         "loglevel": "warning"
     },
     "dns": {
         "servers": [
             {
                 "address": "<nowiki>https://doh.dns.sb/dns-query</nowiki>",
                 "domains": ["geosite:geolocation-!cn"]
             },
             "localhost"
         ],
         "queryStrategy": "UseIP"
     },
     "routing": {
         "domainStrategy": "IPIfNonMatch",
         "rules": [
             {
                 "type": "field",
                 "domain": ["geosite:category-ads-all"],
                 "outboundTag": "block"
             },
             {
                 "type": "field",
                 "ip": ["geoip:private"],
                 "outboundTag": "direct"
             }
         ]
     },
     "inbounds": [
         {
             "tag": "socks-in",
             "listen": "127.0.0.1",
             "port": 10808,
             "protocol": "socks",
             "settings": { "udp": true }
         },
         {
             "tag": "http-in",
             "listen": "127.0.0.1",
             "port": 10809,
             "protocol": "http"
         }
     ],
     "outbounds": [
         {
             "tag": "proxy",
             "protocol": "vless",
             "settings": {
                 "vnext": [
                     {
                         "address": "<SERVER_IP>",
                         "port": <XRAY_PORT>,
                         "users": [
                             {
                                 "id": "<UUID>",
                                 "encryption": "none",
                                 "flow": "xtls-rprx-vision"
                             }
                         ]
                     }
                 ]
             },
             "streamSettings": {
                 "network": "tcp",
                 "security": "reality",
                 "realitySettings": {
                     "fingerprint": "chrome",
                     "serverName": "<DEST_DOMAIN>",
                     "publicKey": "<PUBLIC_KEY>",
                     "shortId": "<SHORT_ID>",
                     "spiderX": "/"
                 }
             }
         },
         { "tag": "direct", "protocol": "freedom" },
         { "tag": "block", "protocol": "blackhole" }
     ]
 }
Kundenspezifische Einstellungen
  • Fingerabdruck: chrome (recommended), firefox, safari, random
  • spiderX: / or any path — used for web crawling differentiation per client

Verwaltung

Benutzer hinzufügen

Jeder Benutzer benötigt eine eindeutige UUID

xray uuid

Fügen Sie dem Array clients in der Datei /usr/local/etc/xray/config.json Folgendes hinzu:

{
    "id": "NEW-UUID-HERE",
    "email": "user2@xray",
    "flow": "xtls-rprx-vision"
}

Starten Sie Xray anschließend mit dem für Ihr Init-System vorgesehenen Befehl neu (siehe „Verwaltungsbefehle“ weiter unten)


Befehle

Die Einrichtungszusammenfassung gibt Befehle aus, die auf das Init-System zugeschnitten sind

Übersicht
Aufgabe systemd (Debian/Ubuntu)
Xray status systemctl status xray
Xray neu starten systemctl restart xray
Live-Protokolle journalctl -u xray -f
Konfiguration bearbeiten nano /usr/local/etc/xray/config.json
Konfiguration überprüfen xray run -test -c /usr/local/etc/xray/config.json
Firewall anzeigen iptables -L -n --line-numbers
Firewall neu laden netfilter-persistent reload
Röntgenbild aktualisieren bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install
QR-Code generieren qrencode -t ANSIUTF8 'YOUR_VLESS_LINK'

Sicherheit

Bewährte Verfahren
# Aspekt Beschreibung
1 Verwenden Sie einen nicht standardmäßigen SSH-Port das Skript bietet diese Option während der Einrichtung an
2 SSH-Passwortauthentifizierung deaktivieren ausschließlich schlüsselbasierte Authentifizierung verwenden (OpenSSH: PasswordAuthentication no in sshd_config; Dropbear: Option -s in /etc/conf.d/dropbear)
3 Führen Sie keine anderen Dienste auf dem Xray-Port aus
4 Verwenden Sie pro Client eindeutige „shortIds“ zur Identifizierung
5 Halten Sie Xray auf dem neuesten Stand Indem Sie den oben genannten Befehl „update“ verwenden
6 Blockieren Sie den BitTorrent-Datenverkehr wenn Sie den Proxy ausschließlich zum Surfen im Internet nutzen (diese Option wird im Skript während der Einrichtung angeboten)
7 Geben Sie Ihren privaten Schlüssel niemals weiter geben Sie gegenüber Kunden ausschließlich den öffentlichen Schlüssel weiter
8 Führen Sie das Skript im abgesicherten Modus aus wenn Sie sich an einem öffentlichen Ort befinden – die Anmeldedaten werden dann nicht auf dem Bildschirm angezeigt.
9 Protokollierung deaktiviert lassen (Standardeinstellung) für maximale Privatsphäre – es werden keine Verbindungsmetadaten gespeichert
10 Das Skript vor der Ausführung prüfen Sicherstellen, dass der Code sicher ist (siehe unten)

Sicherheitsprüfung

Bevor Sie ein Skript als Root auf Ihrem Server ausführen, sollten Sie sich vergewissern, dass es sicher ist. Wir stellen Ihnen einen umfassenden Leitfaden zur Sicherheitsüberprüfung unter SECURITY_AUDIT.md zur Verfügung.

Kurzanleitung:

  1. Lade xray-setup.sh in einen KI-Assistenten (Claude, ChatGPT, Gemini usw.) hoch.
  2. Verwenden Sie die Audit-Eingabeaufforderung aus SECURITY_AUDIT.md
  3. Überprüfen Sie den erstellten Sicherheitsbericht

Was bei der Prüfung überprüft wird:

  • Es werden keine Anmeldedaten an externe Server gesendet
  • Downloads ausschließlich aus offiziellen XTLS-Quellen
  • Keine Hintertüren, keine versteckten Benutzer und kein unbefugter Zugriff
  • Sichere Generierung von Anmeldeinformationen (UUID, x25519-Schlüssel)
  • Systemänderungen sind auf dokumentierte Pfade beschränkt

Zur manuellen Überprüfung:

# Check all network requests
grep -n "curl\|wget" xray-setup.sh

# Verify download URLs are official
grep -n "github.com/XTLS" xray-setup.sh

# Check for suspicious commands
grep -n "base64\|eval\|exec" xray-setup.sh

Fehlerbehebung

Problem Lösung
Xray lässt sich nicht starten xray run -test -c /usr/local/etc/xray/config.json
Verbindung abgelehnt iptables -L -n – Überprüfen Sie, ob Ihr Port offen ist
TLS-Handshake schlägt fehl xray tls ping <domain> — Camouflage-Website überprüfen
Niedrige Geschwindigkeit sysctl net.ipv4.tcp_congestion_control — sollte bbr anzeigen
Der Client kann keine Verbindung herstellen Stellen Sie sicher, dass UUID, publicKey, serverName und shortId übereinstimmen.
Aus SSH ausgesperrt Stellen Sie eine Verbindung über die VPS-Konsole her. OpenSSH: Überprüfen Sie /etc/ssh/sshd_config. Dropbear: Überprüfen Sie /etc/conf.d/dropbear
Alte Firewall wiederherstellen cp /etc/iptables/rules.v4.bak.TIMESTAMP /etc/iptables/rules.v4 && iptables-restore < /etc/iptables/rules.v4
Alpine: Xray lässt sich nicht starten Überprüfen Sie, ob /etc/init.d/xray vorhanden ist und ob es unter rc-update show aufgeführt wird.
Alpine: iptables wird beim Systemstart nicht geladen Überprüfen Sie, ob /etc/init.d/iptables-xray vorhanden ist und in rc-update show aufgeführt wird.
Alpine: qrencode nicht gefunden Stellen Sie sicher, dass das Community-Repo aktiviert ist: Überprüfen Sie /etc/apk/repositories

Speicherorte der Dateien

File Path
Xray binary /usr/local/bin/xray
Server config /usr/local/etc/xray/config.json
Access log /var/log/xray/access.log (if logging enabled)
Error log /var/log/xray/error.log (if logging enabled)
Log rotation /etc/logrotate.d/xray (if logging enabled)
Credentials backup /root/xray-credentials.txt (optional)
Firewall rules (v4) /etc/iptables/rules.v4
Firewall rules (v6) /etc/iptables/rules.v6
Firewall backup /etc/iptables/rules.v4.bak.* (timestamped)
Sysctl tuning /etc/sysctl.d/99-xray-optimize.conf
Xray init script /etc/init.d/xray (OpenRC only)
Firewall init script /etc/init.d/iptables-xray (OpenRC only)
Systemd unit /etc/systemd/system/xray.service (systemd only)
GeoIP database /usr/local/share/xray/geoip.dat
GeoSite database /usr/local/share/xray/geosite.dat
OpenSSH config /etc/ssh/sshd_config (if OpenSSH)
Dropbear config /etc/conf.d/dropbear (if Dropbear)

Aufruf

Optionen

Unix GNU Parameter Beschreibung

Parameter

Umgebungsvariablen

Exit-Status

Wert Beschreibung
0 Erfolg
>0 Fehler

Anwendung

Problembehebung

Konfiguration

Dateien

Datei Beschreibung


Anhang

Siehe auch


Dokumentation

Projekt

  1. https://github.com/0xevn/xray-reality-setup
  1. Xray-core GitHub
  2. Official REALITY example
  3. Project X Documentation
  4. VLESS protocol docs
  5. Transport/REALITY docs
  6. DNS.SB
  7. Mullvad DNS
  8. Quad9
  9. Cloudflare 1.1.1.1
  10. AdGuard DNS