使用Tinyproxy 在一台可以连接公网的机器上搭建了代理,这样可以让内网机器可以连接通过连接该代理,访问外网资源。 不过很多常用的应用或者命令的代理方式不一致。因此总结一下:
环境变量设置
可以直接在命令行: export http_proxy=http://ip:port
. 或者在.bashrc
里面加入这一行可以一直生效。 这个可能对于某些命令有效。对于sudo操作,需要在sudo之后加-E
APT系列
包含apt update/intall/upgrade
等, 一般使用选项设置代理,如:
1 | sudo apt -o Acquire::http::proxy="http://ip:port" update |
或者使用-c 写到文件 apt_proxy.conf
,内容:
1 | Acquire::http::proxy="http://ip:port" |
这样就可以这样使用代理:
1 | sudo apt -c ~/apt_proxy.cong update |
不过有一些命令可能还需要单独设置:
apt-key adv
添加key的时候, 这时候需要用专门的代理选项1
sudo apt-key adv --keyserver-options http-proxy=http://ip:port/ --keyserver keyserver.ubuntu.com --recv-keys XXXXX
ADD-APT-REPOSITORY
添加源的时候,因为一般是sudo
权限所以即使设置了环境变量,也不能生效,这时候需要用-E
选项这个也属于一种通用的方式,1
sudo -E add-apt-repository XXXX
sudo -E
表示使用当前用户的环境变量。
Docker
这个直接按照官网教程来即可: https://docs.docker.com/config/daemon/systemd/#httphttps-proxy
- 创建一个服务目录:在
/etc/systemd/system/
下:1
sudo mkdir docker.service.d
- 在
docker.service.d
目录下新建一个http-proxy.conf
的文件, 写入如下的内容1
2[Service]
Environment="HTTP_PROXY=http://ip:port/" - 当然如果有内网的Docker仓库,也可以设置不走代理的名单,只需在后面加上即可,如:
1
2[Service]
Environment="HTTP_PROXY=http://proxy.example.com:80/" "NO_PROXY=localhost,127.0.0.1,docker-registry.somecorporation.com" - 刷新系统配置:
sudo systemctl daemon-relaod
- 重启docker
sudo systemctl restart docker
- 查看验证docker的配置:
systemctl show --property=Environment docker
maven代理
修改setting.xml
文件,一般位于~/.m2/setting.xml
或者 maven安装目录下的/conf/setting.xml
, 修改如下信息(去掉注释):
1 | <proxy> |
其中,上述选项有的可选,没用的直接删除即可:
pip代理
直接使用--proxy
选项: 1
sudo pip --proxy 127.0.0.1:8888 install XXXX