程序员常用包管理器配置科学上网代理方式及解决方案

2023-06-01 00:00:00 程序员 管理器 解决方案

程序员在日常使用各包管理器时,经常会出现被GFW劫持的情况,为了快速开发,所以记录分享之,此文已记录各常用包管理器科学上网的方法,如有你有更好的方案或有纰漏请留言!

常用包有:github、curl、go get、npm、yarn、wget、composer 等等


github

HTTP 形式

# 走 http 代理
git config --global http.https://github.com.proxy "http://127.0.0.1:10809"

# 走 socks5 代理
git config --global http.https://github.com.proxy "socks5://127.0.0.1:1080"

# 取消设置
git config --global --unset http.https://github.com.proxy


ssh形式

macOS

创建或编辑 ~/.ssh/config 文件,在末尾添加如下内容

Host github.com
   # 走 HTTP 代理
   ProxyCommand socat - PROXY:127.0.0.1:%h:%p,proxyport=10809
   # 走 socks5 代理
   ProxyCommand nc -v -x 127.0.0.1:1080 %h %p

Windows

创建或编辑 C:\Users\个人用户名\.ssh\config 文件,在末尾添加如下内容

Host github.com
    User git
    # 走 socks5 代理
    ProxyCommand connect -S 127.0.0.1:1080 %h %p
    # 走 http 代理
    ProxyCommand connect -H 127.0.0.1:10809 %h %p

Linux

创建或编辑 ~/.ssh/config 文件,在末尾添加如下内容

Host github.com
   # 走 HTTP 代理
   ProxyCommand nc --proxy-type socks5 --proxy 127.0.0.1:1080 %h %p
   # 走 socks5 代理
   ProxyCommand nc --proxy-type http --proxy 127.0.0.1:10809 %h %p


curl

将内容添加至 ~/.curlrc 文件『Windows 系统下为 C:\Users\个人用户名\.curlrc』

# 走 HTTP 代理
http = "127.0.0.1:10809"
# 走 socks5 代理
socks5 = "127.0.0.1:1080"


go get

试了好多方法都不起作用,还是建议使用替代方案:

goproxy.io

ps:

goproxy.io 是全球最早的 Go modules 镜像代理服务之一 【大陆地区建议使用 proxy.golang.com.cn】,采用 CDN 加速服务为开发者提供依赖下载, 该服务由一批热爱开源, 热爱 Go 语言的年轻人开发维护


npm

npm config set proxy http://127.0.0.1:10809
npm config set https-proxy http://127.0.0.1:10809

测试使用 socket5 代理报错,似乎使用 http 代理,有些包在 postinstall 阶段下载内容还需要单独配置环境变量,建议一步到位直接使用 yarn


yarn

yarn config set proxy http://127.0.0.1:10809
yarn config set https-proxy http://127.0.0.1:10809

同样不支持 socket5 代理


wget

编辑文件 ~/.wgetrc ,直接写入如下内容

use_proxy=yes
http_proxy=127.0.0.1:10809
https_proxy=127.0.0.1:10809


composer

目前阿里云出了composer全量镜像,速度十分快,故也没有科学上网的必要了。

阿里云composer镜像地址: 

https://developer.aliyun.com/composer

相关文章