Linux终端代理
Linux终端代理
一般的代理协议:
- socket
- http
检测是否处理代理方式:
1 | curl ip.gs |
- 注意:设置代理后ping命令由于是ICMP协议,所以一般来说是ping不通外网的
设置环境变量
环境变量一般为http_proxy和https_proxy,其内容一般格式为:http://user:password@proxy.server:port/
http:协议名字,一般为http或者socks5user:password:如果需要密码,这里就填用户名和密码,否则为空proxy.server:代理地址port:代理端口号
命令:
1 | # http |
-
apt命令不会通过上述环境变量来代理,有自己的配置文件,具体详见下文
-
通过手动导入的方式能够使得只作用于当前终端中,不会影响整体环境
-
写入系统配置文件
.bashrc或者.zshrc能够一直保留 -
通过在
.bashrc或者.zshrc中设置alias可以简化操作:1
2alias setproxy="export ALL_PROXY=socks5://127.0.0.1:1080"
alias unsetproxy="unset ALL_PROXY"
分别设置
apt
如果在安装过程中填写了代理信息,则apt配置文件将被自动更新。否则需要按照如下方式更新:
1 | # 1.创建配置文件 |
或者直接编辑/etc/apt/apt.conf文件:
1 | # 编辑配置文件 |
git
1 | # 当前 |
- 实际上全局的配置是修改的
/home/username/.gitconfig文件
X Server
主要给没走系统代理的桌面程序使用:
1 | # /home/username/.xprofile: |
ProxyChains
ProxyChains强制使给定程序发起的TCP连接通过事先配置的代理。可以涵盖所有需要代理的情景。
对于任何一个需要代理的命令行程序,直接在运行的指令前面加proxychains即可实现代理。
安装:
1 | sudo apt install proxychains4 |
- 默认安装
proxychains是第三版的
配置:
proxychains 的配置文件顺序是当前目录下的 ./proxychains.conf 然后是 $HOME/.proxychains/proxychains.conf 最后是系统目录下的 /etc/proxychains.conf
1 | vim /etc/proxychains4.conf |
-
添加对应的代理配置,其格式如下:
1
2
3
4##代理列表开始
[ProxyList]
##[]为可选内容
type host port [user pass] -
注释远程DNS解析,防止DNS污染风险
1
2# 注释下面这行
proxy_dns
ssh
通过ssh命令可以简单的进行代理,但是稳定性肯定没有上述方法好,临时用用还是可以的
详细情况请参考另一篇博客:Linux常用命令汇总
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 spaceman!
