【Auto Proxy】自研Go语言自动代理工具软件

autoproxy是一款提供浏览器代理服务的工具,支持https/http协议,具备TLS加密、动态路由及多账户认证等功能。适用于内网访问外网需求,支持多级代理配置与日志记录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

该项目提供浏览器http proxy代理服务,支持https、http协议代理;可以部署多级代理;支持TLS协议加密;主要使用与内网主机访问外部网站工具;

当前版本特性如下:

1、支持TLS传输加密;
2、支持动态路由;
3、支持多账户认证;
4、支持日志异步记录;
5、支持多系统平台;

官方发布:

https://www.easymesh.info/

版本下载:

https://github.com/easymesh/autoproxy/releases

使用方式:

1、下载解压相应平台的软件包;其中包括三个文件;一个autoproxy可执行程序,以及两个参考配置文件;server.yaml 和 client.yaml;

程序命令参数为:

Usage of autoproxy.exe:
  -config string
        configure file (default "config.yaml")
  -debug
        enable debug
  -help
        usage help
autoproxy -config server.yaml 或者 autoproxy -config client.yaml

2、一级代理参考;

在一级代理下面,只需要部署一个autoproxy程序,这个程序作为内网主机访问外网的代理服务;配置参考如下:

log:
  path: ./
  filesize: 10485760
  filenumber: 60
local:
  listen: 0.0.0.0:8080
  timeout: 30
  auth:
    - username: user1
      password: uS31k5KLh3NyfvHtFk
    - username: user2
      password: c2O9XJGG0bsJLpt6tr
  mode: local
  • log 表示日志记录的目录、单个文件大小、以及文件数量上限;主要是用于审计和问题定位;
  • local 表示程序提供的服务配置,包括监听地址和端口,链路超时时间以及认证方式;如果没有配置认证;则不会进行认证;

然后设置浏览器或者环境变量;

export http_proxy="http://用户名:密码@一级代理IP:端口"
export https_proxy="http://用户名:密码@一级代理IP:端口"

例如:

export http_proxy="http://user1:password1@192.168.3.1:8080"
export https_proxy="http://user1:password1@192.168.3.1:8080"

3、二级代理参考;

二级代理就是在一级代理基础之上,将一级代理的部分或者全部流量通过指定二级代理服务进行转发;可用于复杂的网络环境下,部分网站加速;

一级代理配置;

参考压缩包的client.yaml配置文件,默认只需要修改指定二级代理IP地址就可以使用了;

log:
  path: ./
  filesize: 10485760
  filenumber: 60
local:
  listen: 0.0.0.0:8080
  timeout: 5
  mode: auto
remote:
  - address: {二级代理IP}:8080
    timeout: 30
    auth:
      username: user1
      password: uS31k5KLh3NyfvHtFk
    tls:
      enable: true
  • local: 其中 mode 有三个选项,分别是:local、auto、proxy ,其中local 表示所有流量通过本地路由处理,不会经过二级代理;auto 表示根据IP可达性,比如有些本地路由访问不了或者链路超时,则会使用二级代理进行转发,proxy 表示所有流量全部经过二级代理;
  • remote: 需要访问一个或者多个二级代理的地址,超时时间,认证信息;是否进行TLS加密;如果配置多个二级地址,那么会逐个进行链接尝试;

二级代理配置:

log:
  path: ./
  filesize: 10485760
  filenumber: 60
local:
  listen: 0.0.0.0:8080
  timeout: 30
  auth:
    - username: user1
      password: uS31k5KLh3NyfvHtFk
    - username: user2
      password: c2O9XJGG0bsJLpt6tr
  mode: local
  tls:
    enable: true

改配置表示二级代理服务端口、认证信息,是否进行TLS加密;如果未配置TLS加密传输,那么一级代理的remote的TLS配置也需要去掉;否则就会链接失败;

 

4、本地windows UI客户端

本项目提供了小白使用的带UI的客户端,方便使用;在Release 版本下载 autoproxy_win.zip 然后解压双击运行即可,本程序是免安装的绿色软件,不会破坏系统;

下载地址:https://github.com/easymesh/autoproxy/releases/download/v1.2.3/autoproxy_win.zip

特性如下:

  • 提供基本设置选项
  • 转发域名规则
  • 远程服务配置
  • 最小化和隐藏窗口
  • 实时统计控制台
  • 本地代理地址和端口设置

 

添加二级代理服务

 

配置完成后,您可以单击“测试”以尝试网络连接性;

编辑域名转发规则

支持几种匹配规则,例如:

  • *.domain.* : 匹配中间部分域名字段
  • *.domain.com : 匹配后面域名字段
  • www.domain.* : 匹配前面域名字段
  • www.domain.com : 完整匹配域名

 

提供多语言设置

 

同步修改本地Internet设置选项

 

声明:该工具作为免费软件授权使用,软件著作权归作者所有,使用和传播必须符合国内法律法规,如果违反任何法律法规与本人无关;本人对于任何原因在使用本软件对用户自己或者他人造成的任何形式的损失和伤害不承担任何责任;

<think>嗯,用户想要了解如何在Go语言环境中安装并配置VSCode的教程。我需要先理清步骤,确保每个环节都清晰易懂。 首先,安装Go语言环境。我应该先指导用户去官网下载对应的安装包,然后根据不同操作系统给出安装步骤。对于Windows用户,可能需要设置环境变量,而macOS和Linux用户可能需要用brew或者解压包来安装。这部分需要注意不同系统的差异,避免混淆。 接下来是验证安装是否成功,用go version命令。用户可能遇到环境变量未正确设置的问题,这时候需要提醒他们检查PATH变量,特别是Windows用户可能在安装时没有勾选自动添加路径的选项。 然后是安装VSCode,用户可能已经安装了,但需要确认。如果没有安装,要提供下载链接。接着是安装Go扩展,这个步骤比较简单,但需要指出扩展的名字和作者,比如Go Team at Google的扩展,避免用户安装错误。 配置VSCode的部分,用户可能需要安装一些工具,比如gopls、dlv等。这时候要解释为什么需要这些工具,比如代码补全、调试支持等。但要注意,Go的模块模式开启后,安装工具可能会有权限问题,可能需要使用go install命令或者调整GOPATH/bin到PATH中。 创建项目部分,要说明Go模块的初始化,使用go mod init,这有助于依赖管理。用户可能不清楚模块的概念,需要简单说明。 编写和运行代码的步骤相对直接,但需要提醒用户保存文件,以及如何通过终端运行程序。调试配置部分,生成launch.json是关键,要指导用户正确设置,比如指定program路径为当前目录下的main.go,避免路径错误导致的调试失败。 常见问题方面,工具安装失败可能是因为代理问题,这时候建议设置GOPROXY。调试配置出错可能是因为路径不正确,需要检查launch.json。代码提示不工作可能需要重新安装工具或重启VSCode。 用户可能的疑问还包括:是否需要配置工作区?如何处理依赖管理?是否需要安装其他插件?需要简明扼要地解答这些潜在问题,但可能不需要深入,除非用户进一步询问。 最后,确保整个教程结构清晰,步骤分点明确,语言通俗易懂,避免使用专业术语过多,必要时给出命令示例和截图建议,帮助用户更好地跟随操作。</think>以下是在 **Go语言环境安装及VSCode配置** 的详细教程: --- ### 一、安装Go语言环境 1. **下载Go安装包** - 访问官网 [https://golang.org/dl/](https://golang.org/dl/) 下载对应操作系统的安装包。 - 选择稳定版本(如 Windows `.msi`,macOS `.pkg`,Linux `.tar.gz`)。 2. **安装步骤** - **Windows**:双击 `.msi` 文件,默认路径为 `C:\Go`,安装程序会自动添加环境变量。 - **macOS**:双击 `.pkg` 文件,默认安装到 `/usr/local/go`。 - **Linux**:解压到 `/usr/local`,并手动添加环境变量: ```bash echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc source ~/.bashrc ``` 3. **验证安装** 打开终端,输入命令: ```bash go version ``` 若显示类似 `go version go1.21.0 darwin/amd64` 表示安装成功。 --- ### 二、安装VSCode 1. 下载地址:[https://code.visualstudio.com/](https://code.visualstudio.com/) 安装完成后启动VSCode。 --- ### 三、配置VSCode的Go开发环境 1. **安装Go扩展** - 在VSCode扩展商店搜索 **Go**,选择由 **Go Team at Google** 发布的扩展并安装。 2. **安装必要工具** - 打开任意Go文件(如新建 `main.go`),VSCode会提示安装工具(`gopls`、`dlv`等),点击 **Install All**。 - 若未提示,手动安装: ```bash # 启用Go模块模式 go env -w GO111MODULE=on # 安装工具 go install golang.org/x/tools/gopls@latest go install github.com/go-delve/delve/cmd/dlv@latest ``` 3. **配置工作区** - 创建一个Go项目文件夹,例如 `myproject`,在终端中初始化模块: ```bash go mod init example.com/myproject ``` --- ### 四、编写和运行代码 1. **创建测试文件** 在项目内新建 `main.go`,输入以下代码: ```go package main import "fmt" func main() { fmt.Println("Hello, Go!") } ``` 2. **运行程序** - 按 `Ctrl + ~` 打开终端,输入: ```bash go run main.go ``` - 输出 `Hello, Go!` 表示成功。 --- ### 五、调试配置 1. **生成调试文件** - 点击左侧 **Run and Debug** 图标,选择 **Create a launch.json file** → **Go**,生成默认配置。 2. **修改 `launch.json`** 确保配置如下(支持调试): ```json { "version": "0.2.0", "configurations": [ { "name": "Launch Package", "type": "go", "request": "launch", "mode": "auto", "program": "${fileDirname}", "env": {}, "args": [] } ] } ``` 3. **开始调试** - 在代码中设置断点,按 `F5` 启动调试。 --- ### 六、常见问题 1. **工具安装失败** - 检查网络,设置国内代理: ```bash go env -w GOPROXY=https://goproxy.cn,direct ``` 2. **调试配置报错** - 确认 `launch.json` 中的 `program` 路径是否正确。 3. **代码提示不生效** - 重启VSCode或重新安装 `gopls`。 --- 按照以上步骤,即可完成Go语言环境及VSCode的配置。如果遇到问题,可检查环境变量或扩展工具是否完整安装。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

linimbus

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值