我编译的tor 0.2.8.1-alpha win32可执行文件(单文件版,不需要dll运行库)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我编译的tor 0.2.8.1-alpha win32可执行文件(单文件版,不需要dll运行库)相关的知识,希望对你有一定的参考价值。

我编译的tor 0.2.8.1-alpha win32可执行文件:

https://copy.com/jCtGAv6qMnpLFPjv/tor?download=1

下载以后加exe后缀即可使用(单文件版,不需要dll运行库,也就是说libeven,libgcc,zlib等dll文件可以全部都删掉)

从源代码编译windows版的tor是一件非常有挑战性的事情(官方版一般会释放最新版的tor源代码,但是不释放可执行文件,编译linux版的tor很容易,但是编译win版的tor却很难了),有兴趣尝试的网友可以参考下面的教程:

视频教程: http://www.mictronics.de/2014/04/how-to-build-tor-for-win32/

我精简的文字教程:

1. 安装好MinGW和MSYS等运行库:
http://sourceforge.net/projects/mingw/files/latest/download

注意要用SS做全局代理,否则下载不成功。

到了MinGW Installation Manager的界面,注意把All packages都装上。

然后设置系统环境变量:
PATH:                   添加:C:\MinGW\bin
BINARY_PATH        C:\MinGW\bin
INCLUDE_PATH    C:\MinGW\include
LIBRARY_PATH    C:\MinGW\lib

在C:\MinGW\msys\1.0\home\[USERNAME] 新建 tor-mingw目录

下载openssl-1.0.2f, Zlib 1.2.8, Libevent 2.0.22-stable,Tor v0.2.8.1-alpha这四个压缩包放进tor-mingw目录。

下载地址如下:

https://www.openssl.org/source/openssl-1.0.2f.tar.gz

http://zlib.net/zlib-1.2.8.tar.gz

https://github-cloud.s3.amazonaws.com/releases/1856976/b8683cb6-0519-11e5-817f-053e621a8f47.gz?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAISTNZFOVBIJMK3TQ%2F20160209%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20160209T122641Z&X-Amz-Expires=300&X-Amz-Signature=e93065fddeabd1cab93fb51f0bd4f765cd8eda830c0e006a7f72c247efe4c096&X-Amz-SignedHeaders=host&actor_id=11530991&response-content-disposition=attachment%3B%20filename%3Dlibevent-2.0.22-stable.tar.gz&response-content-type=application%2Foctet-stream

https://dist.torproject.org/tor-0.2.8.1-alpha.tar.gz

启动MSYS(启动路径: C:\MinGW\msys\1.0\msys.bat)

会出现一个类似linux的终端窗口:

然后 cd tor-mingw

1. 编译安装openssl:

执行下面的命令:

tar zxf openssl-1.0.2f.tar.gz

cd openssl-1.0.2f
./Configure -no-idea -no-rc5 -no-mdc2 -no-shared -DOPENSSL_NO_HEARTBEATS -DOPENSSL_NO_RDRAND mingw

完成以后,编辑 Makefile 文件,删除其中的test: 和 tests:  部分:

然后继续运行:
rm -rf ./test
cd crypto
find ./ -name "*.h" -exec cp {} ../include/openssl/ \;
cd ../ssl/
find ./ -name "*.h" -exec cp {} ../include/openssl/ \;
cd ..
cp *.h include/openssl/
make depend
make
make install

20-30分钟可完成编译

2. 编译安装Zlib:

cd ..
tar zxf zlib-1.2.8.tar.gz
cd zlib-1.2.8/
make -fwin32/Makefile.gcc

注意这三个系统环境变量一定要提前添加,否则编译会失败:BINARY_PATH, INCLUDE_PATH LIBRARY_PATH

继续运行:
make install -fwin32/Makefile.gcc

Zlib编译安装完成

3. 编译安装libevent:

cd ..
tar zxf libevent-2.0.22-stable.tar.gz
cd libevent-2.0.22-stable
./configure --enable-static --disable-shared
make
make install
整个过程会持续20分钟左右

至此tor的win32编译环境已经搭建好了。


4. 开始编译tor的win32 exe文件:

cd ..
tar zxf tor-0.2.8.1-alpha.tar.gz
cd tor-0.2.8.1-alpha
./configure --disable-gcc-hardening --enable-static-libevent --enable-static-openssl --enable-static-zlib --with-libevent-dir=../libevent-2.0.22-stable/ --with-openssl-dir=../openssl-1.0.2f/ --with-zlib-dir=../zlib-1.2.8/
make

整个过程会持续30分钟左右

完成以后,在src/or/目录下可以找到编译出来的tor.exe文件,而且是单文件版,不需要任何dll依赖库即可独立运行。

至此, tor的win32文件编译全部完成!

https://groups.google.com/forum/?hl=zh-CN#!topic/fqlt/uaWV8dq9a-I

http://www.oschina.net/p/tor

以上是关于我编译的tor 0.2.8.1-alpha win32可执行文件(单文件版,不需要dll运行库)的主要内容,如果未能解决你的问题,请参考以下文章

在centos6上编译tor。 libevent 的问题

在 C# 中使用 Tor 下载文件

网站阻止我从Tor访问?

Tor上的配置洪水

不同进程的不同 Tor 身份

使用 TOR 抓取(Windows)