如何轻松快速地配置系统范围的代理设置
今天,我们将讨论一个名为"proxyman"的简单但有用的命令行实用程序。
正如名称所说,它有助于我们轻松快速地在我们的系统上申请和管理代理设置。
使用Proxyman,我们可以在多个点自动设置或者取消设置代理设置,而无需手动配置它们。
它还允许我们保存设置以供以后使用。
在简而言之,Proxyman简化了使用单个命令配置系统范围的代理设置的任务。
它是免费的,在Bash和标准POSIX工具中编写的开源实用程序,无需依赖性。
如果我们在代理服务器落后,Proxyman可能会有所帮助,并且我们希望一次性应用代理设置。
安装Proxyman.
从"发布"页面下载最新的Proxyman版本。
它可用作zip和tar文件。
我要下载zip文件。
$wget https://github.com/himanshub16/ProxyMan/archive/v3.1.1.zip
提取下载的zip文件:
$unzip v3.1.1.zip
上面的命令将在当前工作目录中提取名为"proxyman-3.1.1"的文件夹中的内容。
CD到该文件夹并安装Proxyman,如下所示:
$cd ProxyMan-3.1.1/
$./install
如果我们看到"安装成功"消息作为输出,祝贺! Proxyman已安装。
让我们继续,看看如何配置代理设置。
配置系统范围的代理设置
Proxyman使用非常简单和直截了当。
就像我已经说过,它允许我们设置/取消设置代理设置,列出当前代理设置,列表可用配置,将设置保存在配置文件中并稍后加载配置文件。
Proxyman目前管理GNOME GSETTINGS,BASH,APT,DNF,GIT,NPM和Dropbox的代理设置。
设置代理设置
要设置Proxy Settings系统,只需运行:
$proxyman set
我们会要求回答一系列简单的问题,如,
- HTTP代理主机IP地址,
- HTTP端口,
- 使用用户名/密码身份验证,
- 使用HTTPS和FTP的相同设置,
- 保存配置文件以供以后使用,
- 最后,选择要应用代理设置的目标列表。我们可以立即选择所有或者与空间分开多个选择。
上面命令的示例输出:
Enter details to set proxy HTTP Proxy Host 192.168.225.22 HTTP Proxy Port 8080 Use auth - userid/password (y/n)? n Use same for HTTPS and FTP (y/n)? y No Proxy (default localhost,127.0.0.1,192.168.1.1,::1,*.local) Save profile for later use (y/n)? y Enter profile name : proxy1 Saved to /home/sk/.config/proxyman/proxy1. Select targets to modify | 1 | All of them ... Don't bother me | 2 | Terminal/bash/zsh (current user) | 3 | /etc/environment | 4 | apt/dnf (Package manager) | 5 | Desktop settings (GNOME/Ubuntu) | 6 | npm & yarn | 7 | Dropbox | 8 | Git | 9 | Docker Separate multiple choices with space ? 1 Setting proxy... To activate in current terminal window run source ~/.bashrc [sudo] password for sk: Done
列出代理设置
要查看当前的代理设置,请运行:
$proxyman list
示例输出:
Hmm... listing it all Shell proxy settings : /home/sk/.bashrc export http_proxy="http://192.168.225.22:8080/" export ftp_proxy="ftp://192.168.225.22:8080/" export rsync_proxy="rsync://192.168.225.22:8080/" export no_proxy="localhost,127.0.0.1,192.168.1.1,::1,*.local" export HTTP_PROXY="http://192.168.225.22:8080/" export FTP_PROXY="ftp://192.168.225.22:8080/" export RSYNC_PROXY="rsync://192.168.225.22:8080/" export NO_PROXY="localhost,127.0.0.1,192.168.1.1,::1,*.local" export https_proxy="/" export HTTPS_PROXY="/" git proxy settings : http http://192.168.225.22:8080/ https https://192.168.225.22:8080/ APT proxy settings : 3 Done
解开代理设置
要解开代理设置,命令将是:
$proxyman unset
我们可以通过输入号码1来解除所有目标的代理设置,或者输入任何给定的编号,以解除各个目标的代理设置。
Select targets to modify | 1 | All of them ... Don't bother me | 2 | Terminal/bash/zsh (current user) | 3 | /etc/environment | 4 | apt/dnf (Package manager) | 5 | Desktop settings (GNOME/Ubuntu) | 6 | npm & yarn | 7 | Dropbox | 8 | Git | 9 | Docker Separate multiple choices with space ? 1 Unset all proxy settings To activate in current terminal window run source ~/.bashrc Done
要使更改生效,只需运行:
$source ~/.bashrc
在zsh上,使用此命令(而不是:
$source ~/.zshrc
要验证代理设置是否已被删除,只需运行"proxyman list"命令:
$proxyman list Hmm... listing it all Shell proxy settings : /home/sk/.bashrc None git proxy settings : http https APT proxy settings : None Done
如我们所见,所有目标都没有代理设置。
查看Configs列表(配置文件)
请记住,我们将代理设置保存为"设置代理设置"部分中的配置文件?
我们可以使用命令查看可用配置文件列表:
$proxyman configs
示例输出:
Here are available configs! proxy1 Done
如我们所见,我们只有一个配置文件:Proxy1.
加载配置文件
配置文件将可用,直到我们永久删除它们,因此我们可以使用命令随时加载配置文件(例如,例如,例如:E.G Proxy1):
$proxyman load proxy1
此命令将列出Proxy1配置文件的代理设置。
我们可以通过输入空间分隔的相应数字将这些设置应用于全部或者多个目标。
Loading profile : proxy1 HTTP > 192.168.225.22 8080 HTTPS > 192.168.225.22 8080 FTP > 192.168.225.22 8080 no_proxy > localhost,127.0.0.1,192.168.1.1,::1,*.local Use auth > n Use same > y Config > Targets > Select targets to modify | 1 | All of them ... Don't bother me | 2 | Terminal/bash/zsh (current user) | 3 | /etc/environment | 4 | apt/dnf (Package manager) | 5 | Desktop settings (GNOME/Ubuntu) | 6 | npm & yarn | 7 | Dropbox | 8 | Git | 9 | Docker Separate multiple choices with space ? 1 Setting proxy... To activate in current terminal window run source ~/.bashrc Done
最后,使用命令激活更改:
$source ~/.bashrc
对于ZSH:
$source ~/.zshrc
删除配置文件
要删除配置文件,请运行:
$proxyman delete proxy1
输出:
Deleting profile : proxy1 Done
要显示帮助,请运行:
$proxyman help