Heim > Backend-Entwicklung > Golang > Unchain Proxy Svr von Golang

Unchain Proxy Svr von Golang

DDD
Freigeben: 2024-12-30 17:47:11
Original
484 Leute haben es durchsucht

Unchain Proxy Svr By Golang

Uchain ist ein leichter und benutzerfreundlicher Proxyserver, der Netzwerkbeschränkungen, Zensur und Überwachung effektiv umgeht.

Hauptmerkmale

  • Protokollunterstützung: Verarbeitet nahtlos TCP- und UDP-Pakete (VLESS) über WebSocket mit TLS/Cloudflare-Unterstützung.
  • Bauen Sie Ihr eigenes VPN-Geschäft auf: Bietet eine robuste Plattform für den Start Ihrer eigenen VPN-Dienste.
  • Kompatibilität: Vollständig kompatibel mit gängigen Proxy-Clients wie v2rayN oder jeder Anwendung, die das VLESS WebSocket-Protokoll unterstützt.

Wie es funktioniert

Unchain fungiert als Proxy-/VPN-Server und ist mit gängigen Proxy-Clients wie v2rayN oder jeder Anwendung kompatibel, die das VLESS WebSocket-Protokoll unterstützt. Es akzeptiert Datenverkehr von verschiedenen Clientanwendungen, darunter:

  • v2rayN
  • v2rayA
  • Zusammenstoß
  • v2rayNG
  • iOS-App Shadowrocket

Unchain verarbeitet eingehenden Datenverkehr und leitet ihn sicher an den Zielserver weiter, wodurch sowohl Sicherheit als auch Effizienz in der Kommunikation gewährleistet werden.

Entketten Sie die Architektur

Unchain ist ein absolut einfacher VLESS-über-Websocket-Proxyserver.
Die Kerngeschäftslogik besteht aus nur 200 Codezeilen. app_ws_vless.go.

Der Unchain-Server verwendet eine einfache Architektur, die VLESS über WebSocket (WS) TLS ist.

             V2rayN,V2rayA,Clash or ShadowRocket                          
                 +------------------+
                 |   VLESS Client   |
                 |   +-----------+  |
                 |   | TLS Layer  | |
                 |   +-----------+  |
                 |   | WebSocket  | |
                 |   +-----------+  |
                 +--------|---------+
                          |
                          | Encrypted VLESS Traffic (wss://)
                          |
           +--------------------------------------+
           |         Internet (TLS Secured)       |
           +--------------------------------------+
                          |
                          |
        +-----------------------------------+
        |        Reverse Proxy Server       |
        | (e.g., Nginx or Cloudflare)       |
        |                                   |
        |   +---------------------------+   |
        |   | HTTPS/TLS Termination     |   |
        |   +---------------------------+   |
        |   | WebSocket Proxy (wss://)  |   |
        |   +---------------------------+   |
        |     Forward to VLESS Server       |
        +------------------|----------------+
                           |
           +--------------------------------+
           |     Unchain       Server       |
           |                                |
           |   +------------------------+   |
           |   | WebSocket Handler      |   |
           |   +------------------------+   |
           |   | VLESS Core Processing  |   |
           |   +------------------------+   |
           |                                |
           |   Forward Traffic to Target    |
           +------------------|-------------+
                              |
                     +-----------------+
                     | Target Server   |
                     | or Destination  |
                     +-----------------+

Nach dem Login kopieren

Verwendung

1. Aus der Quelle erstellen

Um aus dem Quellcode zu erstellen, befolgen Sie diese Schritte:

  1. Klonen Sie das Repository und navigieren Sie zum Verzeichnis cmd/node:
   cd cmd/node
Nach dem Login kopieren
  1. Kopieren Sie die Beispielkonfigurationsdatei und passen Sie sie an:
   cp config.example.standalone.toml config.toml
Nach dem Login kopieren
  1. Führen Sie die Anwendung aus:
   go run main.go
Nach dem Login kopieren

2. Bereitstellung auf Ihrem eigenen Ubuntu-Server mithilfe von GitHub-Aktionen

Sie können die Anwendung mithilfe von GitHub Actions auf einem Ubuntu-Server bereitstellen. So geht's:

  1. Forken Sie das Repository auf Ihr GitHub-Konto.
  2. Erstellen Sie eine Umgebung mit dem Namen „Produktion“ in Ihren Repository-Einstellungen.
  3. Fügen Sie die folgenden SSH-Verbindungsdetails zu den Umgebungsgeheimnissen hinzu:

    • EC2_HOST: Der SSH-Host mit Port (z. B. 1.1.1.1:20).
    • EC2_USER: Der SSH-Benutzer (z. B. Ubuntu).
    • EC2_KEY: Ihr privater SSH-Schlüssel.
  4. Fügen Sie den Inhalt Ihrer TOML-Konfigurationsdatei zu den Umgebungsvariablen hinzu:

    • CONFIG_TOML: Kopieren Sie den Inhalt Ihrer config.toml-Datei, ersetzen Sie alle „ durch „ und fügen Sie ihn hier ein.

Weitere Informationen finden Sie unter .github/workflows/deploy.sh

3. Ausführen der Anwendung

Sobald die Anwendung ausgeführt wird, wird in der Standardausgabe eine VLESS-Verbindungsschema-URL angezeigt. Kopieren Sie diese URL und fügen Sie sie in Ihren V2rayN-Client ein.

Herzlichen Glückwunsch! Sie haben jetzt Ihren selbst gehosteten Proxyserver eingerichtet und laufen.

4. (Optional) Erstellen Sie Ihre eigene Admin-App für Authentifizierung und Datenverkehr

Erstellen Sie eine RESTful-API für Chain-Proxy-Server-Push:
Registrieren Sie den API-Beispielcode

Bauen Sie Ihr eigenes VPN-Geschäft auf

Mit der Cloudflare-Seite UnchainAdmin starten Sie Ihr eigenes VPN-Unternehmen.

Das obige ist der detaillierte Inhalt vonUnchain Proxy Svr von Golang. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage