转载自:http://www.voycn.com/article/ubunturangzhongduanzoudailidebanfahttpssh
http代理的几种方法
方法1:
在终端中直接运行命令,如果是shadowsockets的socks5这个绝对不行,必须要socks5
export http_proxy=http://proxyAddress:port
这个办法的好处是简单直接,并且影响面很小(只对当前终端有效,退出就不行了)。
如果你用的是ss代理,在当前终端运行以下命令,那么wgetcurl 这类网络命令都会经过ss代理
export ALL_PROXY=socks5://127.0.0.1:1080
删除
unset ALL_PROXY
方法2:
方法2:
把代理服务器地址写入shell配置文件.bashrc或者.zshrc
直接在.bashrc或者.zshrc添加下面内容
export http_proxy="http://localhost:port"
export https_proxy="http://localhost:port"
以使用shadowsocks代理为例,ss的代理端口为1080,那么应该设置为
export http_proxy="socks5://127.0.0.1:1080"
export https_proxy="socks5://127.0.0.1:1080"
或者直接设置ALL_PROXY
export ALL_PROXY=socks5://127.0.0.1:1080
localhost就是一个域名,域名默认指向 127.0.0.1,两者是一样的。
然后ESC后:wq保存文件,接着在终端中执行
source ~/.bashrc
或者退出当前终端再起一个终端。 这个办法的好处是把代理服务器永久保存了,下次就可以直接用了。
或者通过设置alias简写来简化操作,每次要用的时候输入setproxy,不用了就unsetproxy。
aliassetproxy="export ALL_PROXY=socks5://127.0.0.1:1080"
aliasunsetproxy="unset ALL_PROXY"
aliasip="curl -i http://ip.cn"
方法3:
方法3:
改相应工具的配置,比如apt的配置
sudo vim /etc/apt/apt.conf
在文件末尾加入下面这行
1 Acquire::http::Proxy "http://proxyAddress:port"
保存apt.conf文件即可。
关于apt的代理设置可以参考这里
关于git的代理设置看这里:用shadowsocks加速git clone
方法4(推荐):
方法4(推荐):
利用proxychains在终端使用socks5代理
补充:
如果代理服务器需要登陆,这时可以直接把用户名和密码写进去
http_proxy=http://userName:password@proxyAddress:port
配置proxychains
编辑/etc/proxychains.conf,最下面有一行socks4 127.0.0.1 9050,把这一行注释掉,添加一行socks5 127.0.0.1 1080
测试
proxychains curl www.google.com
如果能看到一堆输出,说明设置成功,如果一直等待或者无法访问则代表设置失败。
使用
用命令行启动软件,在前面加上proxychains,如:
proxychains firefox
使用shadowsocks+proxychains代理打开新的firefox实现浏览器翻墙。
也可以通过输入proxychains bash建立一个新的shell,基于这个shell运行的所有命令都将使用代理。
ssh代理
通过修改ssh配置文件同时将整个系统的ssh连接走代理
nc 这个工具一般的Ubuntu系统都带的有.没有的话apt insttall nc
,Mac使用brew install nc
添加代理
# ServerAliveInterval定时向服务器发送消息以保持连接,防止不操作而断开.需要的时候才添加
echo "ProxyCommand nc -X 5 -x 127.0.0.1:1080 %h %p" >> ~/.ssh/config
echo "ServerAliveInterval 30" >> ~/.ssh/config
取消代理
sed '/ProxyCommand/d' ~/.ssh/config > ~/.ssh/config.bk && mv ~/.ssh/config.bk ~/.ssh/config
# 或者
sed '/ProxyCommand/d;/ServerAliveInterval/d' ~/.ssh/config > ~/.ssh/config.bk && mv ~/.ssh/config.bk ~/.ssh/config