首頁 > 後端開發 > Golang > 透過 Golang 解除代理 Svr 的束縛

透過 Golang 解除代理 Svr 的束縛

DDD
發布: 2024-12-30 17:47:11
原創
494 人瀏覽過

Unchain Proxy Svr By Golang

Uchain 是一個輕量級且易於使用的代理伺服器,旨在有效繞過網路限制、審查和監視。

主要特點

  • 協定支援:透過具有 TLS/Cloudflare 支援的 WebSocket 無縫處理 TCP 和 UDP (VLESS) 封包。
  • 建立您自己的 VPN 業務:為您啟動自己的 VPN 服務提供強大的平台。
  • 相容性:與 v2rayN 等流行代理客戶端或任何支援 VLESS WebSocket 協定的應用程式完全相容。

它是如何運作的

Unchain 作為代理/VPN 伺服器運行,與 v2rayN 等流行的代理客戶端或任何支援 VLESS WebSocket 協定的應用程式相容。它接受來自各種客戶端應用程式的流量,包括:

  • v2rayN
  • v2rayA
  • 衝突
  • v2rayNG
  • iOS 應用 Shadowrocket

Unchain 處理傳入流量並將其安全地轉發到目標伺服器,確保通訊的安全性和效率。

解鏈架構

Unchain 是一個非常簡單的基於 websocket 代理伺服器的 VLESS。
核心業務邏輯只有200行程式碼。 app_ws_vless.go。

Unchain 伺服器使用簡單的架構,即 VLESS over WebSocket (WS) TLS。

             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  |
                     +-----------------+

登入後複製

用法

1. 從原始碼構建

要從原始碼構建,請按照以下步驟操作:

  1. 複製儲存庫並導航至 cmd/node 目錄:
   cd cmd/node
登入後複製
  1. 複製範例設定檔並自訂它:
   cp config.example.standalone.toml config.toml
登入後複製
  1. 運行應用程式:
   go run main.go
登入後複製

2. 使用 GitHub Actions 在您自己的 Ubuntu 伺服器上部署

您可以使用 GitHub Actions 在 Ubuntu 伺服器上部署應用程式。方法如下:

  1. 將儲存庫分叉到您的 GitHub 帳戶。
  2. 在儲存庫設定中建立一個環境 命名為 production。
  3. 將以下 SSH 連線詳細資訊新增至環境機密:

    • EC2_HOST:具有連接埠的 SSH 主機(例如 1.1.1.1:20)。
    • EC2_USER:SSH 使用者(例如 ubuntu)。
    • EC2_KEY:您的 SSH 私鑰。
  4. 將 TOML 設定檔內容加入環境變數:

    • CONFIG_TOML:複製 config.toml 檔案的內容,將所有「替換為 ',然後將其貼到此處。

在 .github/workflows/deploy.sh 中了解更多

3. 運行應用程式

應用程式運行後,您將在標準輸出中看到 VLESS 連線架構 URL。複製此 URL 並將其貼上到您的 V2rayN 用戶端。

恭喜!您現在已經啟動並運行了自託管代理伺服器。

4.(可選)為身份驗證和資料流量創建您自己的管理應用程式

為鏈代理伺服器推播建立 RESTful API :
註冊API範例程式碼

建立您自己的 VPN 業務

使用cloudflare頁面UnchainAdmin開始您自己的VPN業務。

以上是透過 Golang 解除代理 Svr 的束縛的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板