我的公司提供了一个VPN,但只有一个全局代理,所以我在docker中启动了一个VPN,并向外部提供了sock5代理,我希望go get ≈ <private_repo_path>
使用我在本地启动的sock5代理。
我的配置文件
- Go env
```
GOPRIVATE="<company_gitlab_url>"
GOPROXY="http://goproxy.cn,direct" (I'm in China. This is CN Golang Proxy)
```
- Git
```
[http "https://<company_gitlab_url>"]
proxy = socks5://127.0.0.1:1080
[url "ssh://git@<company_gitlab_url>"]
insteadOf = http://<company_gitlab_url>/
[url "git@<company_gitlab_url>:"]
insteadOf = http://<company_gitlab_url>/
```
- netrc
```
machine <company_gitlab_url>
login username
password accessToken
```
我希望git clone <company_gitlab>/<repo_name>
命令使用sock5代理,所以我已经为git配置了http代理,它可以使用
[http "https://<company_gitlab_url>"]
proxy = socks5://127.0.0.1:1080
但是go get <company_gitlab>/<repo_name>
不工作(不使用sock5代理(
知道go get
本质上是git clone
,并且我已经设置了ssh insteadOf http
,我想我应该配置一个SSH代理:
因此,我在.ssh/config 中添加了以下配置
Host <company_gitlab_url>
ProxyCommand nc -X 5 -x 127.0.0.1:1080 %h %p
但它不起作用
go get <company_gitlab_url>/<repo_name>
显示
go get:无法识别的导入路径"lt;company_gitlab_url>golang/base":https fetch:Get"https://<company_gitlab_url>戈兰/基地?go-get=1":拨号tcp 10.130.xxx.xxx:443:i/o超时
我认为10.130.xxx.xxx是我公司Gitlab.net的内部IP,我该怎么办?
我修复了它,go get xx
不仅使用ssh,而且有一次http获取
所以使用https_proxy(http_proxy)=sock5://xxx go get xxx
命令