ubuntu下使用安装privoxy实现代理数据转发

本文详细介绍了在Ubuntu系统中使用apt安装Privoxy的方法,并提供了配置代理服务的具体步骤,包括配置文件的备份、修改监听地址及转发规则,最后通过重启服务实现代理功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、ubuntu下使用apt安装privoxy
sudo apt-get install privoxy
1
二、配置privoxy(可切换到root权限操作)
1.先备份一下配置文件

cp /etc/privoxy/config /etc/privoxy/config.bak

2.进行配置

vim /etc/privoxy/config

3.在文件中修改,接收代理请求,修改为listen-address 0.0.0.0:8888
在这里插入图片描述

4.在文件中添加一行forward *.*.*.*/ .来转发数据(后面有个点,不能漏),如图:
在这里插入图片描述
5.重启privoxy,实现代理转发;

sudo /etc/init.d/privoxy restart
### 解决 `Unsupported scheme 'socks5'` 错误 当遇到 `wget` 报告 `Error parsing proxy URL socks5://localhost:1111: Unsupported scheme ‘socks5’` 的情况时,这通常是因为默认版本的 `wget` 不支持 SOCKS5 协议。为了克服这一问题,可以采取几种不同的方法。 #### 方法一:安装支持SOCKS5协议的wget版本 某些 Linux 发行版提供了增强功能的支持,可以通过特定包管理器来获取兼容 SOCSK5 的 `wget` 版本。例如,在基于 Debian 或 Ubuntu 的系统上: ```bash sudo apt-get install dante-client # 安装dante客户端以提供更好的SOCKS支持 ``` 对于 Windows Subsystem for Linux (WSL),可能需要手动编译带有 SOCKS 支持的新版本 `wget` 或者寻找预构建二进制文件[^1]。 #### 方法二:通过环境变量配置HTTP(S)_PROXY替代方案 如果不想重新编译或更换工具,则可考虑利用 HTTP/HTTPS_PROXY 环境变量间接实现相同效果。具体做法是在命令前设置这些变量指向本地运行的一个能够转换 SOCKS 流量到 HTTP 形式的代理服务器(比如 privoxy)。操作如下所示: ```bash export http_proxy=http://127.0.0.1:8118/ export https_proxy=$http_proxy wget https://example.com/file.zip ``` 这里假设 Privoxy 正在监听端口 8118 并连接至实际使用的 SOCKS5 服务。 #### 方法三:使用其他下载工具代替wget 除了尝试修复现有程序外,还可以切换成另一个更灵活且原生支持更多类型的代理协议的应用程序来进行数据传输工作。像 curl 就是一个不错的选择因为它本身就具备良好的多协议适配能力,并可以直接指定要使用代理类型及其参数: ```bash curl -x socks5h://localhost:1111 https://example.com/file.zip -O ``` 上述命令中的 `-x` 参数用于设定代理地址和端口号;而 `socks5h://` 表明采用的是 SOCKS5 协议并启用 DNS 请求转发给远程代理完成解析过程。 ### Python 中处理类似问题的方法 针对Python脚本内部发起网络请求的情况,若希望经由 SOCKS5 进行通信则需引入额外库如 PySocks 来扩展标准 socket 库的功能。下面给出了一段简单的代码片段展示怎样快速集成此类特性[^2]: ```python import socks import socket from urllib import request def create_connection(address, timeout=None, source_address=None): sock = socks.socksocket() sock.connect(address) return sock # 设置全局代理为 localhost 上开放的 1080 号端口上的 SOCKS5 服务 socks.setdefaultproxy(proxy_type=socks.PROXY_TYPE_SOCKS5, addr="localhost", port=1080) # 替换原始创建 TCP 链接的方式以便于后续所有调用都能经过代理传递出去 socket.socket = socks.socksocket socket.create_connection = create_connection response = request.urlopen('https://api.ipify.org?format=json') print(response.read().decode()) ``` 这种方法允许整个应用程序范围内透明地应用所选代理策略而不必逐个调整各个模块的行为模式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值