yum:
编辑/etc/yum.conf
追加proxy=socks5://127.0.0.1:1080
或者
proxy=http://127.0.0.1:8118
p.s. 当proxy为http类型时候,yum下载repo文件时候dns解析默认走代理(即resolv.conf文件不配置dns server也行)。
但是socks5类型代理必须配置dns server。
pip:
pip --proxy 192.168.10.100:8118
仅支持http/https,不支持socks5
tips:
可以把alias pip="pip --proxy 192.168.10.100:8118" 写入bash_profile
docker:
暂时不支持socks proxy
但是:可以把socks5代理转换成http代理
然后docker就可以间接使用socks代理了。
具体转换方法可以参考下列链接:
http://blog.csdn.net/onlyellow/article/details/52441915
docker使用http代理方法如下:
# cat /etc/sysconfig/docker |tail -n2
HTTP_PROXY=http://127.0.0.1:8118
export HTTP_PROXY
然后systemctl restart docker
docker pull就能走代理下载了
最新版的docker没有/etc/sysconfig/docker这个文件了。需要另外方法配置代理。
引用stackoverflow的一个回答(亲测有效):
http://stackoverflow.com/questions/23111631/cannot-download-docker-images-behind-a-proxy
docker-ce之后,上文中使用http-proxy文件方法也失效了。必须直接添加到docker.service文件中才行
在/usr/lib/systemd/system/docker.service中追加
Environment="HTTP_PROXY=http://192.168.10.100:8118"
Environment="NO_PROXY=localhost,127.0.0.0/8,docker-registry.somecorporation.com"
然后systemctl daemon-reload
systemctl restart docker 后即可
systemctl show --property Environment docker
git:
git config --global http.proxy 'socks5://127.0.0.1:1080'
git config --global https.proxy 'socks5://127.0.0.1:1080'
git config --global --unset http.proxy
git config --global --unset https.proxy
这里说明下windows上设置git 与centos7不一样:
git config --global http.proxy 127.0.0.1:1080
git config --global https.proxy 127.0.0.1:1080
不需要socks5://前缀。 蛋疼。
git也有自己的协议:以git://开头
今天下载一个代码,没注意给的是git://开头的下载方式,导致虽然配置了http.proxy 依然无效的情况。查了半天才发现git协议走不了http proxy。测试半天总算找到一个办法
参考链接:https://www.liuhaolin.com/moren/449.html
yum -y install epel-release
yum -y install git tmux connect-proxy
cat > ~/.ssh/config <<EOF
Host github.com
ProxyCommand connect-proxy -S 127.0.0.1:1080 %h %p
HostName %h
Port 22
User git
IdentityFile ~/.ssh/id_rsa
IdentitiesOnly yes
EOF
# 若果不是root用户
chmod 600 ~/.ssh/config
然后使用git clone git:// 就可以享受proxy了
go:
go内部实际上用git下载依赖。所以同git
curl:
socks需要用户名/密码
$ curl --proxy-user sockd:sockd --socks5 127.0.0.1:1080 'http://check-host.net/ip'
$ curl --proxy-user sockd:sockd --socks5-hostname 127.0.0.1:1080 'http://check-host.net/ip'
socks无用户名/密码
curl --socks5 192.168.0.1:1080 http://example.com/
curl --socks5-hostname 192.168.0.1:1080 http://example.com/
curl http proxy一次性设置
curl -x 192.168.10.100:8118 ip.gs (仅仅适用于http proxy。 socks proxy参考前文)
curl支持全局http_proxy设置
[root@k8s-master ~]# curl ip.gs
当前 IP:* 来自:中国江苏南京 电信
[root@k8s-master ~]# export http_proxy=http://192.168.10.100:8118
[root@k8s-master ~]# curl ip.gs
当前 IP:* 来自:美国加利福尼亚州洛杉矶