代理配置

前言

为了使我更了解一下代理,然后还有方便后面配置代理,这里写一下代理配置的方法,主要也是为了使虚拟机也能够科学上网

0x0 unbuntu

0x0.0 系统代理设置

我们将在/etc/profile.d/proxy.sh下添加一个shell脚本文件,这将确保设置适用于所有已登录的用户:

1
sudo vim  /etc/profile.d/proxy.sh

将以下内容写到文档中:

1
2
3
4
5
6
7
8
9
10
11
12
13
# set proxy config via profie.d - should apply for all users
export http_proxy="http://10.10.1.10:8080/"
export https_proxy="http://10.10.1.10:8080/"
export ftp_proxy="http://10.10.1.10:8080/"
export no_proxy="127.0.0.1,localhost"

# For curl

export HTTP_PROXY="http://10.10.1.10:8080/"
export HTTPS_PROXY="http://10.10.1.10:8080/"
export FTP_PROXY="http://10.10.1.10:8080/"
export NO_PROXY="127.0.0.1,localhost"
#将要从代理中排除的其他IP添加到NO_PROXY和no_proxy环境变量中

为该文件填加执行权限:

1
sudo chmod +x  /etc/profile.d/proxy.sh

激活文件以开始使用代理设置,或者注销并重新登录:

1
2
3
source /etc/profile.d/proxy.sh
#查看环境变量进行确认是否生效
env | grep -i proxy

0x0.1 APT包管理器代理设置

以上设置适用于应用程序和命令行工具,如果只想为APT包管理器设置代理,请进行如下配置:

1
sudo vim /etc/apt/apt.conf.d/80proxy
1
2
3
4
5
6
7
Acquire::http::proxy "http://10.10.1.10:8080/";
Acquire::https::proxy "https://10.10.1.10:8080/";
Acquire::ftp::proxy "ftp://10.10.1.10:8080/";
#将10.10.1.10替换为代理服务器的正确IP地址,如果需要身份验证,请设置如下:
Acquire::http::proxy "http://<username>:<password>@<proxy>:<port>/";
Acquire::https::proxy "https://<username>:<password>@<proxy>:<port>/";
Acquire::ftp::proxy "ftp://<username>:<password>@<proxy>:<port>/";

0x0.2 Wget设置代理

要设置用于wget命令的代理设置,请将它们添加到~/.wgetrc文件中

1
vim ~/.wgetrc

写入内容:

1
2
3
4
5
use_proxy = on

http_proxy = http://10.10.1.10:8080/
https_proxy = http://10.10.1.10:8080/
ftp_proxy = http://10.10.1.10:8080/

0x0.3 proxychains设置代理

  首先,打开任意一个终端,输入以下命令,下载安装proxychains

1
sudo apt-get install proxychains

  一般很快就可以安装完毕了。好了以后,就需要配置一下代理。proxychains 的配置文件在 /etc/proxychains.conf,使用vim来编辑这个配置文件。

1
sudo vim /etc/proxychains.conf

  打开这个conf文件后,下拉到末尾,然后将[ProxyList]下面的socks4那行改为:

1
socks5  127.0.0.1 xxxx

  其中xxxx填你的SOCKS5代理端口号(注意不是HTTP的端口号,也不是PAC的端口号)。如下图所示:
  然后就完成了,就是这么简单。后面在使用的时候,只需要在命令前面加上proxychains就可以了。比如:

1
proxychains git clone https://xxxx

  为了验证有没设置成功,可以在打开代理后,在终端输入如下命令:

1
proxychains curl cip.cc

image-20231214162411968 其中,上面是没开代理时的输出结果,下面是开了代理后的输出结果。地址已经从中国转到日本了,表明代理设置成功了。

image-20231214162454174  从上面proxychains的使用方法可以看出,只有在命令前面加了proxychains后才走代理,而没加的话是不会走代理了。所以这也算proxychains的一个优点,只对指定的命令开启代理。