warning
注意:新版本dnscrypt-proxy使用Go语言,无需再编译。教程仅供参考。
首先把源码包下下来:
1
wget https://github.com/jedisct1/dnscrypt-proxy/archive/master.zip

解压:

1
2
unzip master.zip
cd dns*

然后运行源码目录下的autogen.sh(自动生成编译的配置文件):

1
./autogen.sh

正常来说,接下来就会生成.configure脚本,运行这个脚本就可以生成编译配置了.

如果autogen.sh没有问题的话,就执行.configure脚本:

1
./configure

但很多系统(比如centos),会缺少libsodium\最新版本的libevent<span class=“crayon-v”>libtoolltdldevel等.这个时候就会提示相应的错误.对于centos建议执行下面的命令(其他系统也差不多,缺啥补啥,比如debian也会提示configure: error: libsodium >= 0.7.0 not found):


1
2
3
yum update
yum -y install autoconf gettext libltdl* libevent git libsodium libevent* libtool-ltdl-devel
yum -y groupinstall 'Development Tools'

手动编译libsodium库:

下载地址http://download.libsodium.org/libsodium/releases/

我选择的是当前最新的libsodium(下载可能会卡,毕竟服务器在国外):

1
2
3
4
cd ~
wget https://download.libsodium.org/libsodium/releases/LATEST.tar.gz
tar xf LATEST.tar.gz
cd libsodium*

解压好就进去编译安装:

1
2
3
4
5
6
CFLAGS="-O3 -fPIC" ./configure
./autogen.sh
./configure
make
make install
ldconfig

至此libsodium安装完毕。

centos软件源上的libevent也不是最新的,而服务端要求2.0以上的版本,软件源提供的是1.4版本,因此导致编译出错。二话不说跑去官网下载源码编译:

下载地址:http://libevent.org/

我选择的是当前最新的稳定版本:

release-2.1.6-beta

2016.08.27

下载解压:

1
2
3
4
~
https://codeload.github.com/libevent/libevent/zip/release-2.1.6-beta
unzip release*
cd libevent*

编译安装:

1
2
3
4
5
6
7
./configure --prefix=/usr
./autogen.sh
./configure
make 
make install
echo /usr/local/lib &gt; /etc/ld.so.conf.d/usr_local_lib.conf
ldconfig

至此libevent安装完毕。

接下来你应该可以返回dnscrypt-proxy的源码目录顺利地运行./configure脚本了.

如果提示报错:

1
configure: error: ./configure failed for src/libevent-modified

这时候请运行一下ldconfig再运行./configure


没有报错的话,你就可以make然后make install了