认识
官网:https://www.pps.jussieu.fr/~jch/software/polipo/
文档:https://www.irif.fr/~jch/software/polipo/polipo.html
仓库:https://github.com/jech/polipo
Polipo — a caching web proxy | Polipo is single-threaded, non blocking caching web proxy that has very modest resource needs. 简而言之,Polipo 是个缓存或代理服务器,其能够提供缓存或代理功能。
补充说明,⚠️,!!! Polipo is no longer maintained !!!
性质
Polipo is a small and fast caching web proxy (a web cache, an HTTP proxy, a proxy server)
While Polipo was designed to be used by one person or a small group of people, there is nothing that prevents it from being used by a larger group.
通过 Polipo 软件,能够将 SOCKS Porxy 转化为 HTTP Proxy 服务。
构建
—— 安装服务
apt-get install polipo
应用
将 SOCKS 转换为 HTTP(S) 代理 Convert Socks Proxy To Http Proxy
—— 该笔记将记录:将 SOCKS 代理服务 转化为 HTTP(S) 代理服务 的方法。
现在我们有 SOCKS 代理服务器,但是由于部分软件功能限制,我们需要使用 HTTP(S) 代理服务。
系统版本:Debian GNU/Linux 10
第二步、修改配置
cp /etc/polipo/config /etc/polipo/config.backup cat > /etc/polipo/config <<EOF # 日志等级 logSyslog = false logFile = /var/log/polipo/polipo.log logLevel=255 # 上游代理服务 socksParentProxy = "127.0.0.1:1080" socksProxyType = socks5 # 监听服务地址及端口 proxyAddress = "::0" # both IPv4 and IPv6 # proxyAddress = "0.0.0.0" # or IPv4 only proxyPort = 8123 EOF
有关日志等级设置,可以参考 http proxy – Make polipo to log all urls – Unix & Linux Stack Exchange 问题
第三步、启动服务
systemctl start polipo systemctl enable polipo
第四步、代理验证
# 此命令将返回代理 IP 地址 curl --proxy http://127.0.0.1:8123 http://bot.whatismyipaddress.com/ # 测试 Google 访问 curl --proxy http://127.0.0.1:8123 https://www.google.com
改进
Couldn’t create disk file … Permission denied
问题描述:
在启动 Polipo 服务之后,使用期间产生如下错误:
Couldn't create disk file /var/cache/polipo/repo.zabbix.com/hI-bv4EBKjxz41aA4cXXMQ==: Permission denied
问题原因:
通常不会遇到这个问题。在我们的场景中,当初为了测试,直接使用 ROOT 用户启动 Polipo 并测试,测试过程中已经创建 repo.zabbix.com 目录,但是属于 ROOT 用户。随后我们使用 systemd 管理服务,但是使用 proxy 用户,导致无法向 repo.zabbix.com/ 中写入。
解决方法:
Couldn't create disk file /var/cache/polipo/repo.zabbix.com/hI-bv4EBKjxz41aA4cXXMQ==: Permission denied
参考文献
Convert Socks Proxy To Http Proxy: Using Polipo
Make polipo to log all urls
The Polipo Manual