跳过正文
  1. Index/

一次解决所有代理问题

·134 字·1 分钟
Einsam
作者
Einsam
A little bit about you

Linux 让终端走代理的集中方法
#

通过让终端走代理的方式来加快gitclone的速度。

前期准备
#

认识代理的方式:代理是通过客户端与服务端通信,传输服务端能够访问到的资源文件,再由服务端客户端通信返回给客户端,从而间接访问服务端能够访问的资源

首先确定自己服务端代理的通讯协议。 socks,http,https

方法一:
#

直接在终端中运行:

export http_proxy=http://proxyAddress:port

这里的proxyAddress替换为代理服务器的ip,如果客户端支持本地监听就替换为127.0.0.1

port端口替换为代理端口

Examples:
#

export http_proxy=http://127.0.0.1:1080
export https_proxy=http://127.0.0.1:1080
export http_proxy=socks5://127.0.0.1:1080

这种方法的好处是只对当前打开的终端生效,当终端关闭代理就取消了

方法二:
#

如果有永久保存代理服务器的需求

把代理服务器地址写进shell配置文件 .bashrc或者.zshrc

export http_proxy="http://localhost:port"
export https_proxy="http://localhost:prot"

可将冒号内的http替换为socks5

或者干脆

export ALL_PROXY=socks5://127.0.0.1:1080

最后执行命令使之生效

source ~/.bashrc

方法三:
#

Proxychains软件解决 Arch安装

sudo pacman -S proxychains

安装完成后编辑/etc/proxychains.conf 注释掉proxy_dns这行,防止DNS污染

在文件最末添加

socks5 127.0.0.1 1080

以后每次需要执行需要代理的命令时,就在命令前添加proxychains

方法四:
#

修改对应工具的代理配置

例如git

git config --global http.proxy 'socks://127.0.0.1:1080'
git config --global https.proxy 'socks5:127.0.0.1:1080'

取消代理

git config --global --unset http.prox
git config --global --unset https.proxy

以上解决的是git使用http协议的代理

ssh代理与之不同

vim ~/.ssh/config

#添加
# 这里必须是 github.com,因为这个跟我们 clone 代码时的链接有关
 Host github.com
   # 如果用默认端口,这里是 github.com,如果想用443端口,这里就是 ssh.github.com 详见 https://help.github.com/articles/using-ssh-over-the-https-port/
   HostName github.com
#   User git
   # 如果是 HTTP 代理,把下面这行取消注释,并把 proxyport 改成自己的 http 代理的端口
   # ProxyCommand socat - PROXY:127.0.0.1:%h:%p,proxyport=20171
   # 如果是 socks5 代理,则把下面这行取消注释,并把 6666 改成自己 socks5 代理的端口
   # ProxyCommand nc -v -x 127.0.0.1:20170 %h %p

以上至此