首页 > 后端开发 > Golang > 通过 Golang 解除代理 Svr 的束缚

通过 Golang 解除代理 Svr 的束缚

DDD
发布: 2024-12-30 17:47:11
原创
483 人浏览过

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
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板