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!