Linux 下安装 Privoxy 以及命令行终端设置 HTTP 代理

By | 最新修改:2025-11-12

本文介绍一款用来进行网络流量转发的自带内容过滤的 HTTP/HTTPS 代理服务器软件 Privoxy。

Privoxy 功能强大,本文并没有具体地介绍它的全部功能,只是介绍它的功能之一“网络流量转发”。

今天就通过把本地的 HTTP 协议代理的网络流量转发为 Socks5 协议的流量,实现 Piroxy 的“网络流量转发”功能。

利用 Privoxy 可将 HTTP 代理用在 Shell 终端上面。http_proxyhttps_proxy 两个变量设置 Shell 终端的 HTTP 代理。Shell 设置代理之后,一些在终端执行的命令发出的网络请求会走 Privoxy 的 HTTP 代理。这也是本文教程最后的一部分。

Privoxy 配置文件一角

点击图片查看大图

前提条件

  1. 首先,本文用的 Socks5 代理可以用来访问外网;
  2. 其次,经 Privoxy 的转发和协议的转换,本地局域网可以经由网络代理客户端设置 HTTP 代理 http://192.168.1.101:8118 这个 HTTP 协议地址访问 Privoxy 网络代理功能;

    然后 Privoxy 将 HTTP 流量转发到原先的 Socks5 协议流量。最终网络流量到达外网的服务器。

  3. 再次,本文的 IP 地址 192.168.1.101 是测试用机器在局域网内分配的 IP 地址,实际上到底是怎样的要看情况而定,比如读者的路由器设置。


安装 Privoxy

# Fedora 系
sudo yum install -y privoxy
# Debian 系
sudo apt install -y privoxy

配置 Privoxy


重启 Privoxy 服务

sudo systemctl restart privoxy

在 Shell 命令行中应用以上设置的 HTTP 代理

  1. 临时使用代理
    export http_proxy="http://192.168.1.101:8118"
    export https_proxy=$http_proxy
    
  2. 取消命令行的代理设置(禁用前面设置的代理)
    unset http_proxy
    unset https_proxy
    
  3. 要想在用户启动时生效,要在 /etc/profile 或者用户目录下的相关的文件中添加:
    export http_proxy="http://192.168.1.101:8118"
    export https_proxy=$http_proxy
    

    注销系统让配置生效。

    最好不要这样使用,否则可能会导致所有经的终端的网络流量都走代理。

    如果想在某个终端窗口不使用代理,可用上述的 unset 操作。

测试 Shell 的 HTTP 代理是否生效

# Fedora 系列使用
sudo yum install -y curl
# Debian 系列使用
sudo apt install -y curl

# 获取当前终端 IP 地址
curl cip.cc

后记

作者本人郑重声明:

  1. 本文仅仅是教会读者如何利用 Privoxy 的流量转发功能将 HTTP 协议流量转换为 Socks5 协议流量,并没有任何不良导向;

  2. 对于能访问外网的网络代理,请用来作正当用途,不能滥用作非法用途。


程序知路

鉴于本人的相关知识储备以及能力有限,本博客的观点和描述如有错漏或是有考虑不周到的地方还请多多包涵,欢迎互相探讨,一起学习,共同进步。

本文章可以转载,但是需要说明来源出处!

本文使用的部分图片来源于网上,若是侵权,请与本文作者联系删除: admin@icxzl.com