archLinux命令行代理
archLinux命令行代理详细介绍
在 Arch Linux 中配置命令行代理,可通过环境变量或工具特定配置实现,以下是详细方法:
一、临时设置代理(当前终端会话有效)
1.
HTTP/HTTPS 代理
bash
# 无认证代理export HTTP_PROXY="http://代理IP:端口"
export HTTPS_PROXY="http://代理IP:端口"
# 有认证代理(用户名:密码@代理IP:端口)
export HTTP_PROXY="http://用户名:密码@代理IP:端口"
export HTTPS_PROXY="http://用户名:密码@代理IP:端口"
2.
SOCKS5 代理
bash
# 无认证 SOCKS5 代理export ALL_PROXY="socks5://代理IP:端口"
# 有认证 SOCKS5 代理
export ALL_PROXY="socks5://用户名:密码@代理IP:端口"
3.
忽略本地地址(可选)
bash
export NO_PROXY="localhost,127.0.0.1,::1" # 不通过代理访问本地地址
二、持久化代理设置(永久生效)
将上述环境变量写入终端配置文件(根据你使用的 shell 选择):
bash
# Bash 用户echo "export HTTP_PROXY='http://代理IP:端口'" >> ~/.bashrc
echo "export HTTPS_PROXY='http://代理IP:端口'" >> ~/.bashrc
# Zsh 用户(Arch 默认)
echo "export HTTP_PROXY='http://代理IP:端口'" >> ~/.zshrc
echo "export HTTPS_PROXY='http://代理IP:端口'" >> ~/.zshrc
生效配置:
bash
source ~/.zshrc # 或 source ~/.bashrc
三、特定工具的代理配置
1.
pacman(包管理器)
pacman 依赖系统环境变量,无需额外配置,直接生效。若无效,可尝试在终端临时设置代理后运行:
bash
HTTP_PROXY=http://代理IP:端口 pacman -S 软件包名
2.
curl/wget
- curl 自动读取
HTTP_PROXY/HTTPS_PROXY/ALL_PROXY环境变量,也可临时指定:bashcurl -x http://代理IP:端口 https://example.com # HTTP 代理curl --socks5 代理IP:端口 https://example.com # SOCKS5 代理
- wget 使用环境变量或参数:bash
wget --proxy=http://代理IP:端口 https://example.com
3.
git
bash
# 设置全局代理git config --global http.proxy http://代理IP:端口
git config --global https.proxy http://代理IP:端口
# 取消代理
git config --global --unset http.proxy
4.
Proxychains(强化 SOCKS 代理支持)
安装工具(需先启用社区仓库):
bash
pacman -S proxychains-ng
编辑配置文件(可选,添加认证):
bash
sudo nano /etc/proxychains.conf# 在末尾添加:socks5 代理IP 端口 用户名 密码(无认证则省略用户名密码)
使用方式:
bash
proxychains 命令 # 例如:proxychains curl https://example.com
四、验证代理是否生效
bash
# 检查 HTTP 代理出口 IPcurl http://icanhazip.com
# 检查 SOCKS5 代理出口 IP(需 Proxychains)
proxychains curl http://icanhazip.com
五、注意事项
- 代理协议兼容性:部分工具(如
wget)不直接支持 SOCKS5,需通过proxychains或转换为 HTTP 代理使用。 - 系统代理与终端代理:图形界面代理(如 NetworkManager)不会自动影响终端,需单独配置命令行代理。
- 安全提示:避免在公共环境中明文存储代理密码,可通过脚本或工具(如
pass)管理凭证。
通过以上方法,可灵活配置 Arch Linux 命令行下的代理,满足不同工具和场景的需求。