|
|
| (112 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) |
| Zeile 1: |
Zeile 1: |
| '''Xray VLESS + REALITY + XTLS-Vision''' - Komplettpaket
| | <noinclude> |
| <!-- | | <!-- |
| Back to top button
| | ---- |
| <button>
| | {{Navigation|<zurück>|<nachste>}} |
| type="button"
| | {{Navigation|BSI/200-3|BSI/200-3/Einleitung/Beispiele}} |
| 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>
| |
| --> | | --> |
| | '''Xray''' - [[VLESS]] + [[REALITY]] + [[XTLS-Vision]] auf [[Debian]] |
| | </noinclude> |
|
| |
|
| == Beschreibung == | | == Beschreibung == |
| Automatisiertes Installationsprogramm für Xray VLESS + REALITY + XTLS-Vision für Alpine sowie Debian/Ubuntu Linux. Interaktive Einrichtung mit SSH-Absicherung, Firewall-Konfiguration, BBR-Optimierung und datenschutzorientierten Standardeinstellungen
| | {| class="table table-striped table-hover" |
| | | | Zensur-Sicherheit || [[Xray/Zensur-Sicherheit]] |
| === Spionage-Sicherheit ===
| |
| ; Warum diese Konfiguration [[DPI]]-unabhängig ist
| |
| Diese Konfiguration nutzt den '''fortschrittlichsten Anti-Zensur-Stack''', der in Xray-core verfügbar ist
| |
| | |
| {| class="table wikitable"
| |
| !Ebene
| |
| !Technologie
| |
| !Zweck
| |
| |- | | |- |
| |Protokoll | | | Lizenz || [[MIT-Lizenz]] |
| |'''[[VLESS]]''' | |
| | Leichtgewichtig, kein erkennbares Verschlüsselungsmuster (im Gegensatz zu [[VMess]]) | |
| |- | | |- |
| |TLS | | | Funktion || [[Xray/Funktion]] |
| |'''[[REALITY]]''' | |
| | Verwendet den [[TLS-Fingerabdruck]] einer echten Website – keine Zertifikate erforderlich, immun gegen aktive Erkundungsversuche | |
| |- | | |- |
| |Ablauf | | | Installation || [[Xray/Installation]] |
| |'''[[XTLS-Vision]]''' | |
| | Beseitigt Fingerabdrücke durch doppelte Verschlüsselung und fügt zufällige Auffülldaten zu den internen Handshakes hinzu
| |
| |- | | |- |
| | Fingerabdruck | | | DNS-Server || [[Xray/DNS]] |
| |'''[[uTLS]] (Chrome)''' | |
| | Der Client ahmt das „TLS ClientHello“ eines echten Chrome-Browsers nach
| |
| |- | | |- |
| |Transport | | | Client-Konfiguration || [[Xray/Client]] |
| |'''[[TCP]]''' | |
| | Am natürlichsten, vermeidet den Overhead und die Muster von [[WebSocket]]/[[gRPC]] | |
| |- | | |- |
| |DNS | | | Verwaltung || [[Xray/Verwaltung]] |
| |'''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.
| |
| | |
| ----
| |
| | |
| === Lizenz ===
| |
| Dieses Projekt unterliegt der MIT-Lizenz.
| |
| ----
| |
| | |
| == Schnellstart ==
| |
| On a fresh VPS (Debian/Ubuntu or Alpine Linux)
| |
| | |
| ; Install git if not present:
| |
| apt install git (Debian/Ubuntu) or apk add git (Alpine)
| |
| git clone <nowiki>https://github.com/0xevn/xray-reality-setup.git</nowiki>
| |
| cd xray-reality-setup
| |
|
| |
| ; Run as root
| |
| Use su/doas/sudo to get a root shell first
| |
| chmod +x xray-setup.sh
| |
| sh xray-setup.sh
| |
| | |
| <blockquote>
| |
| The script starts with <code>#!/bin/sh</code> and auto-installs <code>bash</code> if missing (e.g., on Alpine), then re-executes itself in bash. Bash is required for arrays, regex matching, and other features used throughout the script.
| |
| </blockquote>
| |
| | |
| ----
| |
| | |
| === Supported Distributions ===
| |
| {| class="table wikitable"
| |
| !Distro
| |
| !Package Manager
| |
| !Init System
| |
| !Tested
| |
| |- | | |- |
| |Debian / Ubuntu | | | Sicherheit || [[Xray/Sicherheit]] |
| |apt | |
| |systemd | |
| |✔
| |
| |- | | |- |
| |Alpine Linux | | | Fehlerbehebung || [[Xray/Fehlerbehebung]] |
| |apk | |
| |OpenRC | |
| |✔
| |
| |}
| |
| | |
| The script auto-detects your distro, init system, and package manager, then adapts accordingly.
| |
| | |
| === 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.
| |
| | |
| ----
| |
| | |
| == Was das Skript tut ==
| |
| Beim Start stellt das Skript zwei vorbereitende Fragen, bevor es Änderungen vornimmt:
| |
| | |
| # '''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.
| |
| # '''Ü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 ===
| |
| Dann geht die Einrichtung wie folgt weiter
| |
| # Distribution und Init-System erkennen, Pakete aktualisieren und Abhängigkeiten installieren
| |
| # Installieren Sie die neueste Version von Xray-core (offizielles Skript für systemd, manuelle Installation unter OpenRC)
| |
| # Wählen Sie einen benutzerdefinierten SSH-Port aus (OpenSSH oder Dropbear werden automatisch erkannt)
| |
| # Wählen Sie einen benutzerdefinierten Xray-Eingangsport aus
| |
| # Primären und sekundären DNS-Anbieter auswählen (DoH)
| |
| # Wählen Sie Protokollierungseinstellungen (standardmäßig deaktiviert)
| |
| # Wählen Sie die Einstellung BitTorrent-Blockierung (standardmäßig zugelassen)
| |
| # UUID, x25519-Schlüsselpaar und Kurz-IDs generieren
| |
| # Wählen Sie eine Tarnseite (mit TLS 1.3-Verifizierung)
| |
| # Speichere die Serverkonfiguration unter <code>/usr/local/etc/xray/config.json</code>.
| |
| # iptables-Firewall konfigurieren (Sicherung bestehender Regeln, atomisches Schreiben, SSH-Brute-Force-Schutz)
| |
| # Wöchentliche Protokollrotation einrichten (wird übersprungen, wenn die Protokollierung deaktiviert ist)
| |
| # BBR-Überlastungskontrolle und TCP-Optimierungen aktivieren
| |
| # Röntgendienst starten
| |
| # Interaktive Zusammenfassung mit Anzeige der Anmeldedaten und Speicheroptionen
| |
| | |
| ----
| |
| | |
| === Sicherer Modus vs. abgesicherter Modus ===
| |
| {| class="table wikitable"
| |
| !Verhalten
| |
| !Sicher (Antwort: Ja)
| |
| !Sicher (mit „N“ oder „Enter“ bestätigt)
| |
| |- | | |- |
| |Schritt 6: Anmeldedaten im Terminal | | | Konfiguration || [[Xray/Konfiguration]] |
| |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 wikitable"
| |
| !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>
| |
|
| |
|
| | <noinclude> |
| | <!-- |
| ---- | | ---- |
| | | {{Navigation|<zurück>|<nachste>}} |
| === 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.
| |
| | |
| ---- | | ---- |
| | --> |
|
| |
|
| == DNS-Server == | | == Anhang == |
| Bei der Einrichtung wählen Sie aus dieser Liste einen primären und einen sekundären DNS-over-HTTPS-Anbieter aus:
| | === Siehe auch === |
| {| class="table wikitable"
| | <div style="column-count:2"> |
| !#
| | <categorytree hideroot=on mode="pages">xray</categorytree> |
| !Anbieter
| | </div> |
| !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.
| |
| ---- | | ---- |
| | {{Special:PrefixIndex/{{BASEPAGENAME}}/}} |
|
| |
|
| == Client-Konfiguration == | | === Dokumentation === |
| | <!-- |
| | ; Man-Page |
| | # [https://manpages.debian.org/stable/procps/pgrep.1.de.html prep(1)] |
|
| |
|
| === Option A: QR-Code (am schnellsten auf Mobilgeräten) ===
| | ; Info-Pages |
| 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:
| | ; Hinweise |
| qrencode -t ANSIUTF8 'vless://UUID@IP:PORT?type=tcp&security=reality&...'
| | <div class="card h-100 bg-warning"> |
| Oder falls Sie die Anmeldedaten in einer Datei gespeichert haben:
| | <div class="card-header">'''<big>Header</big>'''</div> |
| qrencode -t ANSIUTF8 "$(grep -A1 'VLESS Share' /root/xray-credentials.txt | tail -1)"
| | <div class="card-body bg-white"> |
| | | Hier steht der Kartentext |
| === Option B: Link teilen ===
| | </div> |
| Das Einrichtungsskript generiert einen <code>vless://</code>-Link. Fügen Sie diesen in einen beliebigen kompatiblen Client ein:
| | </div> |
| {| class="wikitable"
| | --> |
| !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:
| |
| {
| |
| "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''': <code>chrome</code> (recommended), <code>firefox</code>, <code>safari</code>, <code>random</code>
| | === Links === |
| * '''spiderX''': <code>/</code> or any path — used for web crawling differentiation per client
| | ==== Projekt ==== |
| | | # https://github.com/0xevn/xray-reality-setup |
| ----
| |
| | |
| == Weitere 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="wikitable"
| |
| !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 == | | ==== Weblinks ==== |
| | |
| # '''Verwenden Sie einen nicht standardmäßigen SSH-Port'''
| |
| #: das Skript bietet diese Option während der Einrichtung an
| |
| # '''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>)
| |
| # '''Führen Sie keine anderen Dienste''' auf dem Xray-Port aus
| |
| # '''Verwenden Sie pro Client eindeutige „shortIds“ zur Identifizierung'''
| |
| # '''Halten Sie Xray auf dem neuesten Stand'''
| |
| #:Indem Sie den oben genannten Befehl „update“ verwenden
| |
| # '''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)
| |
| # '''Geben Sie Ihren privaten Schlüssel niemals weiter'''
| |
| #: geben Sie gegenüber Kunden ausschließlich den öffentlichen Schlüssel weiter
| |
| # '''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.
| |
| # '''Protokollierung deaktiviert lassen''' (Standardeinstellung)
| |
| #:für maximale Privatsphäre – es werden keine Verbindungsmetadaten gespeichert
| |
| # '''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="wikitable"
| |
| !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="wikitable"
| |
| !File
| |
| !Path
| |
| |-
| |
| |Xray binary
| |
| |<code>/usr/local/bin/xray</code>
| |
| |-
| |
| |Server config
| |
| |<code>/usr/local/etc/xray/config.json</code>
| |
| |-
| |
| |Access log
| |
| |<code>/var/log/xray/access.log</code> (if logging enabled)
| |
| |-
| |
| |Error log
| |
| |<code>/var/log/xray/error.log</code> (if logging enabled)
| |
| |-
| |
| |Log rotation
| |
| |<code>/etc/logrotate.d/xray</code> (if logging enabled)
| |
| |-
| |
| |Credentials backup
| |
| |<code>/root/xray-credentials.txt</code> (optional)
| |
| |-
| |
| |Firewall rules (v4)
| |
| |<code>/etc/iptables/rules.v4</code>
| |
| |-
| |
| |Firewall rules (v6)
| |
| |<code>/etc/iptables/rules.v6</code>
| |
| |-
| |
| |Firewall backup
| |
| |<code>/etc/iptables/rules.v4.bak.*</code> (timestamped)
| |
| |-
| |
| |Sysctl tuning
| |
| |<code>/etc/sysctl.d/99-xray-optimize.conf</code>
| |
| |-
| |
| |Xray init script
| |
| |<code>/etc/init.d/xray</code> (OpenRC only)
| |
| |-
| |
| |Firewall init script
| |
| |<code>/etc/init.d/iptables-xray</code> (OpenRC only)
| |
| |-
| |
| |Systemd unit
| |
| |<code>/etc/systemd/system/xray.service</code> (systemd only)
| |
| |-
| |
| |GeoIP database
| |
| |<code>/usr/local/share/xray/geoip.dat</code>
| |
| |-
| |
| |GeoSite database
| |
| |<code>/usr/local/share/xray/geosite.dat</code>
| |
| |-
| |
| |OpenSSH config
| |
| |<code>/etc/ssh/sshd_config</code> (if OpenSSH)
| |
| |-
| |
| |Dropbear config
| |
| |<code>/etc/conf.d/dropbear</code> (if Dropbear)
| |
| |}
| |
| ----
| |
| | |
| == Anmerkungen zu Alpine Linux ==
| |
| Alpine erfordert einige Anpassungen, die das Skript automatisch vornimmt:
| |
| | |
| * '''Bash''': Standardmäßig nicht installiert – das POSIX-Shell-Bootstrap-Skript des Skripts installiert es und wird anschließend erneut in Bash ausgeführt.
| |
| * '''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.
| |
| * '''Xray-Installation''': Das offizielle Installationsskript akzeptiert keine Nicht-Systemd-Versionen – die Binärdatei wird direkt von den GitHub-Releases heruntergeladen
| |
| * '''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
| |
| * '''Firewall-Persistenz''': Der benutzerdefinierte OpenRC-Dienst <code>/etc/init.d/iptables-xray</code> stellt die Regeln beim Systemstart wieder her
| |
| * '''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)
| |
| * '''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)
| |
| | |
| ----
| |
| | |
| == Literaturverzeichnis ==
| |
| # [https://github.com/XTLS/Xray-core Xray-core GitHub] | | # [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://github.com/XTLS/Xray-examples/tree/main/VLESS-TCP-XTLS-Vision-REALITY Official REALITY example] |
| Zeile 622: |
Zeile 81: |
| # [https://adguard-dns.io/ AdGuard DNS] | | # [https://adguard-dns.io/ AdGuard DNS] |
|
| |
|
| | <!-- |
| | {{DEFAULTSORT:new}} |
| | {{DISPLAYTITLE:new}} |
| | --> |
|
| |
|
| ----
| | [[Kategorie:Xray]] |
|
| |
|
| == Links ==
| | </noinclude> |
| https://github.com/0xevn/xray-reality-setup
| |