• 隐藏侧边栏
  • 展开分类目录
  • 关注微信公众号
  • 我的 GitHub
  • QQ: 1753970025
Chen Jiehua

socks5 & http代理汇总 

日常工作中总有一些代码库、官方源是在国外的,要么完全访问不了,要么下载速度几kb/s。所以学会使用各种代理乃是重中之重……

首先假设我们已经通过ss部署了一个socks5代理( 127.0.0.1:1080)。

Git设置代理

在 git clone 时,有时候速度真是让人难以忍受,而通过代理可以大大提高下载速度。

设置全局代理,这里不必设置https.proxy, 文档中并没有该参数: https://git-scm.com/docs/git-config#git-config-httpproxy:

或者,只针对 https://github.com 设置代理:

如果使用ssh协议可能无法使用代理,因此我们将 ssh 替代为 https:

执行完上面,可以查看 ~/.gitconfig 的配置:

也可以取消代理:

对于 socks5 和 socks5h 的区别:

  • socks5h: the hostname is resolved by the SOCKS server (also known as CURLPROXY_SOCKS5_HOSTNAME type);
  • socks5: the hostname is resolved locally;

Shell设置代理

如果我们在运行其它命令也需要使用代理,如果 apt、go get 等,该怎么做呢?

tsocks

安装tsocks:

配置一下 tsocks 使用 socks5 代理, /etc/tsocks.conf:


通过tsocks走代理:

proxychains

安装 proxychains:

稍微配置一下 /etc/proxychains.conf:


在命令行前加上 proxychains 让程序走 socks5 代理:

Socks转为http代理

尽管通过上面的方式,我们已经解决了大部分的代理问题。但是仍有某些特殊场景下,我们只能使用http代理。因此,我们需要将 socks5 代理转换为 http 代理。

这里我们将通过 privoxy 这个软件来实现该功能,首先安装一下:

然后进行一些必要的配置 /etc/privoxy/config:

重启一下privoxy:

这时候我们已经创建了一个http代理 localhost:8118

shell使用http代理

我们可以为 shell 设置 http 代理:

 

码字很辛苦,转载请注明来自ChenJiehua《socks5 & http代理汇总》

评论