diff options
author | zfl9 <zfl9.com@gmail.com> | 2020-03-07 15:04:04 +0800 |
---|---|---|
committer | zfl9 <zfl9.com@gmail.com> | 2020-03-07 15:04:04 +0800 |
commit | ed5036c062816329a5eff0f34c40302d651b427b (patch) | |
tree | d75eeb255f9c4b8d4b63f19eb481301715e8b3ce | |
parent | use libev instead of libuv (diff) | |
download | dns2tcp-ed5036c062816329a5eff0f34c40302d651b427b.tar.gz dns2tcp-ed5036c062816329a5eff0f34c40302d651b427b.tar.bz2 dns2tcp-ed5036c062816329a5eff0f34c40302d651b427b.zip |
use libev instead of libuv
-rw-r--r-- | README.md | 27 |
1 files changed, 1 insertions, 26 deletions
@@ -2,38 +2,13 @@ 一个 DNS 实用工具,用于将 DNS 查询从 UDP 模式转换为 TCP 模式。当然 pdnsd、dnsforwarder 也支持该功能,但是它们通常都有着较为繁杂的配置,而很多时候我们只是需要使用它们的 udp2tcp 功能而已,因此有了 `dns2tcp`。`dns2tcp` 设计的非常简洁以及易用,它不需要任何配置文件,直接在命令行参数中指定一个 **本地 UDP 监听地址** 以及一个 **远程 DNS 服务器地址**(该 DNS 服务器支持 TCP 查询)即可,没有任何多余的功能。 ## 如何编译 -**动态链接 libuv**:适用于本地编译,使用包管理器安装 [libuv](https://github.com/libuv/libuv) 依赖库即可(如 `yum install libuv-devel`): ```bash git clone https://github.com/zfl9/dns2tcp cd dns2tcp make && sudo make install ``` dns2tcp 默认安装到 `/usr/local/bin/dns2tcp`,可安装到其它目录,如 `make install DESTDIR=/opt/local/bin`。 - -**静态链接 libuv**:适用于交叉编译,此方式编译出来的 `dns2tcp` 不依赖任何第三方库,可直接拷贝到目标系统运行: -```bash -# 进入某个目录 -cd /opt - -# 获取 libuv 源码包 -libuv_version="1.32.0" # 定义 libuv 版本号 -wget https://github.com/libuv/libuv/archive/v$libuv_version.tar.gz -Olibuv-$libuv_version.tar.gz -tar xvf libuv-$libuv_version.tar.gz - -# 进入源码目录,编译 -cd libuv-$libuv_version -./autogen.sh -./configure --prefix=/opt/libuv --enable-shared=no --enable-static=yes CC="gcc -O3" -make && sudo make install -cd .. - -# 获取 dns2tcp 源码 -git clone https://github.com/zfl9/dns2tcp - -# 进入源码目录,编译 -cd dns2tcp -make INCLUDES="-I/opt/libuv/include" LDFLAGS="-L/opt/libuv/lib" && sudo make install -``` +交叉编译时只需指定 CC 变量,如 `make CC=aarch64-linux-gnu-gcc`(如果报错,请先执行 `make clean`,然后再试)。 ## 如何运行 ```bash |