socks协议转http协议

需求很少的,作废该笔记了

我的工具监听的是socks协议,socks协议的dns请求仍然会通过原来的网络进行解析,而我们的工具中只能指定socks5://不能指定socks5h://,所以我们的dns无法被正确解析。于是我想将socks协议转换为http协议,我找到了polipo工具。

安装polipo

指令如下:

1
2
3
4
5
6
7
8

git clone https://github.com/jech/polipo.git
cd polipo
git checkout polipo-1.1.1

make all
su -c 'make install'

最后一步我遇到了一个关于text的报错,我执行下面的指令修复了这个问题:

1
2
3

yum install texinfo

后续:

新开的虚拟机安装时遇到如下问题:


cc  -Os -g -Wall -fno-strict-aliasing -DLOCAL_ROOT=\"/usr/share/polipo/www/\" -DDISK_CACHE_ROOT=\"/var/cache/polipo/\"     -c -o util.o util.c
make: cc: Command not found

我选择把常用的编译库都安装一遍:

1
2
3
4

yum -y install gcc automake autoconf libtool make
yum install gcc gcc-c++

配置并启动polipo

配置指令如下(有时间改为echo版):

 1
 2
 3
 4
 5
 6
 7
 8
 9
10

mkdir /opt/polipo
vim /opt/polipo/config

proxyAddress = "0.0.0.0"
socksParentProxy = "127.0.0.1:2223"
socksProxyType = socks5
proxyPort = 12345
dnsQueryIPv6 = no

使用如下指令进行启动:


polipo -c /opt/polipo/config

参考资料

  1. centos7 安装polipo
  2. Linux socks5转http