|
|
| (51 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) |
| Zeile 6: |
Zeile 6: |
| ---- | | ---- |
| --> | | --> |
| '''{{BASEPAGENAME}}''' - [[Xray]] [[VLESS]] + [[REALITY]] + [[XTLS-Vision]] auf [[Debian]] installieren | | '''{{BASEPAGENAME}}''' - [[Xray]] + [[VLESS]] + [[REALITY]] + [[XTLS-Vision]] auf [[Debian]] installieren |
| </noinclude> | | </noinclude> |
|
| |
|
| == Beschreibung == | | == Beschreibung == |
| Automatisiertes Installationsprogramm für [[Xray VLESS]] + [[REALITY]] + [[XTLS-Vision]]
| | ; Zensur-Sicherheit |
| * Interaktive Einrichtung
| | [[Xray/Zensur-Sicherheit]] |
| * [[SSH-Absicherung]]
| |
| * [[Firewall]]-Konfiguration
| |
| * [[BBR]]-Optimierung
| |
| * [[Datenschut]]zorientierte Standardeinstellungen
| |
| | |
| ---- | | ---- |
|
| |
| ; Lizenz | | ; Lizenz |
| Dieses Projekt unterliegt der MIT-Lizenz | | Dieses Projekt unterliegt der MIT-Lizenz |
|
| |
| ----
| |
|
| |
| === Zensur-Sicherheit ===
| |
| ; Warum diese Konfiguration [[DPI]]-unabhängig ist
| |
| '''Fortschrittlichsten Anti-Zensur-Stack''' von [[Xray-core]]
| |
|
| |
| {| class="table table-striped table-hover"
| |
| !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. <code>www.microsoft.com</code>).
| |
| * Die Zensurinstanz erhält eine legitime Antwort von Microsoft – die von einem echten Besuch nicht zu unterscheiden ist.
| |
|
| |
| ---- | | ---- |
|
| |
|
| == Funktion == | | == Funktion == |
| ; Was das Skript tut
| | [[Xray/Funktion]] |
| Beim Start stellt das Skript zwei vorbereitende Fragen, bevor es Änderungen vornimmt
| |
| | |
| {| class="table table-striped table-hover"
| |
| ! # !! 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.
| |
| |}
| |
| | |
| ----
| |
| | |
| === Ablauf der Einrichtung ===
| |
| {| class="table table-striped table-hover"
| |
| ! # !! 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 <code>/usr/local/etc/xray/config.json</code>. ||
| |
| |-
| |
| | 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 || Röntgendienst starten ||
| |
| |-
| |
| | 15 || Interaktive Zusammenfassung mit Anzeige der Anmeldedaten und Speicheroptionen ||
| |
| |}
| |
| | |
| ----
| |
| | |
| === Sicherer Modus vs. abgesicherter Modus ===
| |
| {| class="table table-striped table-hover"
| |
| ! 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)
| |
| |}
| |
| | |
| <blockquote>
| |
| Im abgesicherten Modus empfiehlt es sich, die Daten in der Datei <code>/root/xray-credentials.txt</code> zu speichern, um Ihre Anmeldedaten später aus einer privaten Sitzung abrufen zu können.
| |
| </blockquote>
| |
| | |
| ----
| |
| | |
| === Protokollierung ===
| |
| Das Skript fragt ab, ob der Xray-Zugriff und die Fehlerprotokolle aktiviert werden sollen. '''Standard: deaktiviert (N).'''
| |
| {| class="table table-striped table-hover"
| |
| !Auswahl
| |
| !Röntgenprotokoll-Pegel
| |
| !Protokolldateien
| |
| !Logrotate
| |
| !Datenschutz
| |
| |-
| |
| |Deaktiviert (Standard)
| |
| |<code>none</code>
| |
| |Keine erstellt
| |
| |Übersprungen
| |
| |Es wurden keine Verbindungsmetadaten gespeichert
| |
| |-
| |
| |Aktiviert
| |
| |<code>warning</code>
| |
| |<code>/var/log/xray/access.log</code>, <code>error.log</code>
| |
| |Wöchentlich, 12 Wochen Aufbewahrungsfrist
| |
| |Zeitstempel, IP-Adressen und Datenverkehrsvolumen wurden erfasst
| |
| |}
| |
| | |
| ----
| |
| | |
| Um die Protokollierung später wieder zu aktivieren, bearbeiten Sie die Datei <code>/usr/local/etc/xray/config.json</code>:
| |
| "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: <code>mkdir -p /var/log/xray && <Befehl zum Neustart></code>
| |
| | |
| ----
| |
| | |
| === 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 <code>routing.rules</code> in der Datei <code>/usr/local/etc/xray/config.json</code> hinzu oder entfernen Sie sie daraus und starten Sie Xray neu.
| |
| | |
| ----
| |
| | |
|
| |
|
| == Installation == | | == Installation == |
| <syntaxhighlight lang="bash" highlight="1" line copy>
| | [[Xray/Installation]] |
| </syntaxhighlight>
| |
|
| |
|
| ; Auf einem neu installierten [[VPS]]
| | == DNS-Server == |
| * [[Debian]]/[[Ubuntu]]
| | [[Xray/DNS]] |
| * [[Alpine Linux]]
| |
|
| |
|
| ; Installieren Sie Git, falls es nicht vorhanden ist
| | == Client-Konfiguration == |
| apt install git (Debian/Ubuntu) or apk add git (Alpine)
| | [[Xray/Client]] |
| git clone <nowiki>https://github.com/0xevn/xray-reality-setup.git</nowiki>
| |
| cd xray-reality-setup
| |
|
| |
| ; Als Root ausführen
| |
| Verwenden Sie zunächst „su“, „doas“ oder „sudo“, um eine Root-Shell zu erhalten
| |
| chmod +x xray-setup.sh
| |
| sh xray-setup.sh
| |
|
| |
|
| <blockquote>
| | == Verwaltung == |
| 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.
| | [[Xray/Verwaltung]] |
| </blockquote>
| |
|
| |
|
| ----
| | == Sicherheit == |
| | [[Xray/Sicherheit]] |
|
| |
|
| === Unterstützte Distributionen === | | == Fehlerbehebung == |
| {| class="table table-striped table-hover"
| | [[Xray/Fehlerbehebung]] |
| !Distro
| |
| !Package Manager
| |
| !Init System
| |
| !Tested
| |
| |-
| |
| |Debian / Ubuntu
| |
| |apt
| |
| |systemd
| |
| |✔
| |
| |-
| |
| |Alpine Linux
| |
| |apk
| |
| |OpenRC
| |
| |✔
| |
| |}
| |
| | |
| Das Skript erkennt automatisch Ihre Distribution, Ihr Init-System und Ihren Paketmanager und passt sich entsprechend an.
| |
| | |
| === Installationsverfahren ===
| |
| Auf systemd-basierten Distributionen (Debian/Ubuntu) wird Xray über das offizielle Installationsskript installiert. Unter Alpine (OpenRC) lässt sich das offizielle Skript nicht ausführen, daher lädt das Setup die Xray-Binärdatei direkt aus den GitHub-Releases herunter, installiert die Geodaten-Dateien und erstellt ein OpenRC-kompatibles Init-Skript.
| |
| | |
| ----
| |
| | |
| == Aufruf ==
| |
| <syntaxhighlight lang="bash" highlight="1" line copy>
| |
| </syntaxhighlight>
| |
| | |
| === Optionen ===
| |
| <!--
| |
| {| class="table table-striped table-hover sortable options gnu big"
| |
| -->
| |
| {| class="table table-striped table-hover"
| |
| |-
| |
| ! Unix !! GNU !! Parameter !! Beschreibung
| |
| |-
| |
| | || || ||
| |
| |-
| |
| |}
| |
| | |
| === Parameter ===
| |
| === Umgebungsvariablen ===
| |
| === Exit-Status ===
| |
| {| class="table table-striped table-hover options col1center big"
| |
| |-
| |
| ! Wert !! Beschreibung
| |
| |-
| |
| | 0 || Erfolg
| |
| |-
| |
| | >0 || Fehler
| |
| |}
| |
|
| |
|
| == Anwendung == | | == Anwendung == |
| Zeile 302: |
Zeile 59: |
| |} | | |} |
|
| |
|
| <noinclude>
| |
| <!--
| |
| ----
| |
| {{Navigation|<zurück>|<nachste>}}
| |
| ----
| |
| -->
| |
| == Anhang ==
| |
| === Siehe auch ===
| |
| <div style="column-count:2">
| |
| <categorytree hideroot=on mode="pages">{{BASEPAGENAME}}</categorytree>
| |
| </div>
| |
| ----
| |
| {{Special:PrefixIndex/{{BASEPAGENAME}}/}}
| |
|
| |
| === Dokumentation ===
| |
| # [https://github.com/XTLS/Xray-core Xray-core GitHub]
| |
| # [https://github.com/XTLS/Xray-examples/tree/main/VLESS-TCP-XTLS-Vision-REALITY Official REALITY example]
| |
| # [https://xtls.github.io/en/ Project X Documentation]
| |
| # [https://xtls.github.io/en/config/outbounds/vless.html VLESS protocol docs]
| |
| # [https://xtls.github.io/en/config/transport.html Transport/REALITY docs]
| |
| # [https://dns.sb/ DNS.SB]
| |
| # [https://mullvad.net/en/help/dns-over-https-and-dns-over-tls Mullvad DNS]
| |
| # [https://www.quad9.net/ Quad9]
| |
| # [https://developers.cloudflare.com/1.1.1.1/ Cloudflare 1.1.1.1]
| |
| # [https://adguard-dns.io/ AdGuard DNS]
| |
|
| |
| ----
| |
|
| |
| <!--
| |
| ; Man-Page
| |
| # [https://manpages.debian.org/stable/procps/pgrep.1.de.html prep(1)]
| |
|
| |
| ; Info-Pages
| |
|
| |
| ; Hinweise
| |
| <div class="card h-100 bg-warning">
| |
| <div class="card-header">'''<big>Header</big>'''</div>
| |
| <div class="card-body bg-white">
| |
| Hier steht der Kartentext
| |
| </div>
| |
| </div>
| |
| -->
| |
|
| |
| === Links ===
| |
| ==== Projekt ====
| |
| # https://github.com/0xevn/xray-reality-setup
| |
|
| |
| ==== Weblinks ====
| |
|
| |
|
| |
| <!--
| |
| {{DEFAULTSORT:new}}
| |
| {{DISPLAYTITLE:new}}
| |
| -->
| |
|
| |
| [[Kategorie:VPN]]
| |
|
| |
| </noinclude>
| |
|
| |
| = TMP =
| |
| <!--
| |
| Back to top button
| |
| <button>
| |
| type="button"
| |
| class="btn btn-danger btn-floating btn-lg"
| |
| id="btn-back-to-top"
| |
| >
| |
| <i class="fas fa-arrow-up"></i>
| |
| </button>
| |
| -->
| |
|
| |
| <!-- Explanation -->
| |
| <!--
| |
| <div class="container mt-4 text-center" style="height: 2000px">
| |
| <p>
| |
| Start scrolling the page and a red
| |
| <strong>"Back to top" button </strong> will appear in the
| |
| <strong>bottom right corner</strong> of the screen.
| |
| </p>
| |
|
| |
| <p>Click this button and you will be taken to the top of the page.</p>
| |
| </div>
| |
| -->
| |
|
| |
| == DNS-Server ==
| |
| Bei der Einrichtung wählen Sie aus dieser Liste einen primären und einen sekundären [[DNS-over-HTTPS]]-Anbieter aus:
| |
| {| class="table table-striped table-hover"
| |
| !#
| |
| !Anbieter
| |
| !Gerichtsbarkeit
| |
| !Protokollierung
| |
| ![[DoH]] URL
| |
| |-
| |
| |1
| |
| |'''DNS.SB'''
| |
| |Deutschland
| |
| |Keine Protokollierung
| |
| |<code>doh.dns.sb/dns-query</code>
| |
| |-
| |
| |2
| |
| |'''Maulwurf DNS'''
| |
| |Schweden
| |
| |Keine Protokolle, geprüft
| |
| |<code>dns.mullvad.net/dns-query</code>
| |
| |-
| |
| |3
| |
| |'''Quad9'''
| |
| |Schweiz
| |
| |Keine IP-Protokollierung, Blockierung von Bedrohungen
| |
| |<code>dns.quad9.net/dns-query</code>
| |
| |-
| |
| |4
| |
| |'''Quad9 Ungefiltert'''
| |
| |Schweiz
| |
| |Keine IP-Protokollierung, keine Filterung
| |
| |<code>dns11.quad9.net/dns-query</code>
| |
| |-
| |
| |5
| |
| |'''Cloudflare'''
| |
| |USA
| |
| |Protokolle vor 24 Stunden gelöscht, von KPMG geprüft
| |
| |<code>1.1.1.1/dns-query</code>
| |
| |-
| |
| |6
| |
| |'''AdGuard DNS'''
| |
| |Zypern
| |
| |Aggregierte anonyme Statistiken, Werbeblocker
| |
| |<code>dns.adguard-dns.com/dns-query</code>
| |
| |}
| |
|
| |
| ----
| |
|
| |
| ; Standardeinstellungen
| |
| DNS.SB (primär) + Mullvad (sekundär)
| |
|
| |
| Ein <code>localhost</code>-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.
| |
|
| |
| So generieren Sie einen QR-Code zu einem späteren Zeitpunkt neu:
| |
| 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)"
| |
|
| |
| === Option B: Link teilen ===
| |
| Das Einrichtungsskript generiert einen <code>vless://</code>-Link. Fügen Sie diesen in einen beliebigen kompatiblen Client ein:
| |
| {| class="table table-striped table-hover"
| |
| !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 <code><...></code>-Werte durch die Ausgabe des Setup-Skripts
| |
|
| |
| <syntaxhighlight lang="json" highlight="" line>
| |
| {
| |
| "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" }
| |
| ]
| |
| }
| |
| </syntaxhighlight>
| |
|
| |
| ; Kundenspezifische Einstellungen
| |
| * '''Fingerabdruck''': <code>chrome</code> (recommended), <code>firefox</code>, <code>safari</code>, <code>random</code>
| |
| * '''spiderX''': <code>/</code> or any path — used for web crawling differentiation per client
| |
|
| |
| ----
| |
|
| |
| == Benutzer hinzufügen ==
| |
| Jeder Benutzer benötigt eine eindeutige UUID
| |
| xray uuid
| |
|
| |
| Fügen Sie dem Array <code>clients</code> in der Datei <code>/usr/local/etc/xray/config.json</code> 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)
| |
|
| |
| ----
| |
|
| |
| == Verwaltung ==
| |
| ; Befehle
| |
| Die Einrichtungszusammenfassung gibt Befehle aus, die auf das Init-System zugeschnitten sind
| |
|
| |
| ; Übersicht
| |
| {| class="table table-striped table-hover"
| |
| !Aufgabe
| |
| !systemd (Debian/Ubuntu)
| |
| !OpenRC (Alpine)
| |
| |-
| |
| |Xray status
| |
| |<code>systemctl status xray</code>
| |
| |<code>rc-service xray status</code>
| |
| |-
| |
| |Xray neu starten
| |
| |<code>systemctl restart xray</code>
| |
| |<code>rc-service xray restart</code>
| |
| |-
| |
| |Live-Protokolle
| |
| |<code>journalctl -u xray -f</code>
| |
| |<code>tail -f /var/log/xray/error.log</code>
| |
| |-
| |
| |Konfiguration bearbeiten
| |
| |<code>nano /usr/local/etc/xray/config.json</code>
| |
| |← dasselbe
| |
| |-
| |
| |Konfiguration überprüfen
| |
| |<code>xray run -test -c /usr/local/etc/xray/config.json</code>
| |
| |← dasselbe
| |
| |-
| |
| |Firewall anzeigen
| |
| |<code>iptables -L -n --line-numbers</code>
| |
| |← dasselbe
| |
| |-
| |
| |Firewall neu laden
| |
| |<code>netfilter-persistent reload</code>
| |
| |<code>rc-service iptables-xray restart</code>
| |
| |-
| |
| |Röntgenbild aktualisieren
| |
| |<code>bash -c "$(curl -L <nowiki>https://github.com/XTLS/Xray-install/raw/main/install-release.sh</nowiki>)" @ install</code>
| |
| |Führen Sie <code>sh xray-setup.sh</code> erneut aus.
| |
| |-
| |
| |QR-Code generieren
| |
| |<code>qrencode -t ANSIUTF8 'YOUR_VLESS_LINK'</code>
| |
| |← dasselbe
| |
| |}
| |
| ----
| |
|
| |
| == Bewährte Verfahren im Bereich Sicherheit ==
| |
|
| |
| {| class="table table-striped table-hover"
| |
| ! # !! 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: <code>PasswordAuthentication no</code> in <code>sshd_config</code>; Dropbear: Option <code>-s</code> in <code>/etc/conf.d/dropbear</code>)
| |
| |-
| |
| | 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 <code>SECURITY_AUDIT.md</code> zur Verfügung.
| |
|
| |
| '''Kurzanleitung:'''
| |
|
| |
| # Lade <code>xray-setup.sh</code> in einen KI-Assistenten (Claude, ChatGPT, Gemini usw.) hoch.
| |
| # Verwenden Sie die Audit-Eingabeaufforderung aus <code>SECURITY_AUDIT.md</code>
| |
| # Ü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 ==
| |
| {| class="table table-striped table-hover"
| |
| !Problem
| |
| !Lösung
| |
| |-
| |
| |Xray lässt sich nicht starten
| |
| |<code>xray run -test -c /usr/local/etc/xray/config.json</code>
| |
| |-
| |
| |Verbindung abgelehnt
| |
| |<code>iptables -L -n</code> – Überprüfen Sie, ob Ihr Port offen ist
| |
| |-
| |
| |TLS-Handshake schlägt fehl
| |
| |<code>xray tls ping <domain></code> — Camouflage-Website überprüfen
| |
| |-
| |
| |Niedrige Geschwindigkeit
| |
| |<code>sysctl net.ipv4.tcp_congestion_control</code> — sollte <code>bbr</code> 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 <code>/etc/ssh/sshd_config</code>. Dropbear: Überprüfen Sie <code>/etc/conf.d/dropbear</code>
| |
| |-
| |
| |Alte Firewall wiederherstellen
| |
| |<code>cp /etc/iptables/rules.v4.bak.TIMESTAMP /etc/iptables/rules.v4 && iptables-restore < /etc/iptables/rules.v4</code>
| |
| |-
| |
| |Alpine: Xray lässt sich nicht starten
| |
| |Überprüfen Sie, ob <code>/etc/init.d/xray</code> vorhanden ist und ob es unter <code>rc-update show</code> aufgeführt wird.
| |
| |-
| |
| |Alpine: iptables wird beim Systemstart nicht geladen
| |
| |Überprüfen Sie, ob <code>/etc/init.d/iptables-xray</code> vorhanden ist und in <code>rc-update show</code> aufgeführt wird.
| |
| |-
| |
| |Alpine: <code>qrencode</code> nicht gefunden
| |
| |Stellen Sie sicher, dass das Community-Repo aktiviert ist: Überprüfen Sie <code>/etc/apk/repositories</code>
| |
| |}
| |
| ----
| |
|
| |
| == Speicherorte der Dateien ==
| |
| {| class="table table-striped table-hover sortable" | | {| class="table table-striped table-hover sortable" |
| !File | | !File |
| Zeile 777: |
Zeile 116: |
| ---- | | ---- |
|
| |
|
| == Anmerkungen zu Alpine Linux ==
| | <noinclude> |
| Alpine erfordert einige Anpassungen, die das Skript automatisch vornimmt
| | <!-- |
| | ---- |
| | {{Navigation|<zurück>|<nachste>}} |
| | ---- |
| | --> |
|
| |
|
| # '''Bash''': Standardmäßig nicht installiert – das POSIX-Shell-Bootstrap-Skript des Skripts installiert es und wird anschließend erneut in Bash ausgeführt.
| | == Anhang == |
| # '''QR-Codes''': Das Paket heißt <code>libqrencode-tools</code> (nicht <code>qrencode</code>) und erfordert das <code>Community-Repository</code> – dieses wird automatisch aktiviert, falls es fehlt.
| | === Siehe auch === |
| # '''Xray-Installation''': Das offizielle Installationsskript akzeptiert keine Nicht-Systemd-Versionen – die Binärdatei wird direkt von den GitHub-Releases heruntergeladen
| | <div style="column-count:2"> |
| # '''Startskripte''': Der Pfad zu OpenRC <code>openrc-run</code> variiert je nach Alpine-Version (<code>/sbin/</code> oder <code>/usr/sbin/</code>) – wird automatisch erkannt
| | <categorytree hideroot=on mode="pages">xray</categorytree> |
| # '''Firewall-Persistenz''': Der benutzerdefinierte OpenRC-Dienst <code>/etc/init.d/iptables-xray</code> stellt die Regeln beim Systemstart wieder her
| | </div> |
| # '''Logrotate''': Cron-Job unter <code>/etc/periodic/daily/</code> angelegt, da Alpine „periodic cron“ und keine systemd-Timer verwendet# '''SSH-Daemon''': Erkennt OpenSSH oder Dropbear automatisch – die Port-Erkennung und -Konfiguration funktioniert bei beiden. Der Dropbear-Port wird über das Flag <code>-p</code> in <code>/etc/conf.d/dropbear</code> verwaltet.
| | ---- |
| # '''Erkennung des SSH-Ports''': OpenSSH liest aus der Datei <code>sshd_config</code>; Dropbear wertet <code>DROPBEAR_OPTS</code> in <code>/etc/conf.d/dropbear</code> aus (BusyBox <code>ss</code> unterstützt das Flag <code>-p</code> für Prozessnamen nicht)
| | {{Special:PrefixIndex/{{BASEPAGENAME}}/}} |
| # '''Kein <code>sudo</code>''': Alpine wird ohne <code>sudo</code> ausgeliefert – führen Sie das Skript direkt als Root aus (<code>su</code>, <code>doas</code> oder Root-Anmeldung)
| |
|
| |
|
| ---- | | === Dokumentation === |
| | <!-- |
| | ; Man-Page |
| | # [https://manpages.debian.org/stable/procps/pgrep.1.de.html prep(1)] |
| | |
| | ; Info-Pages |
| | |
| | ; Hinweise |
| | <div class="card h-100 bg-warning"> |
| | <div class="card-header">'''<big>Header</big>'''</div> |
| | <div class="card-body bg-white"> |
| | Hier steht der Kartentext |
| | </div> |
| | </div> |
| | --> |
| | |
| | === Links === |
| | ==== Projekt ==== |
| | # https://github.com/0xevn/xray-reality-setup |
| | |
| | ==== Weblinks ==== |
| | # [https://github.com/XTLS/Xray-core Xray-core GitHub] |
| | # [https://github.com/XTLS/Xray-examples/tree/main/VLESS-TCP-XTLS-Vision-REALITY Official REALITY example] |
| | # [https://xtls.github.io/en/ Project X Documentation] |
| | # [https://xtls.github.io/en/config/outbounds/vless.html VLESS protocol docs] |
| | # [https://xtls.github.io/en/config/transport.html Transport/REALITY docs] |
| | # [https://dns.sb/ DNS.SB] |
| | # [https://mullvad.net/en/help/dns-over-https-and-dns-over-tls Mullvad DNS] |
| | # [https://www.quad9.net/ Quad9] |
| | # [https://developers.cloudflare.com/1.1.1.1/ Cloudflare 1.1.1.1] |
| | # [https://adguard-dns.io/ AdGuard DNS] |
| | |
| | <!-- |
| | {{DEFAULTSORT:new}} |
| | {{DISPLAYTITLE:new}} |
| | --> |
| | |
| | [[Kategorie:Xray]] |
| | |
| | </noinclude> |