🌐
WindowsでTorをビルドする
Torのデーモンはリレーや出口ノードをホストしたり、Socks5プロキシとしてTorネットワークを利用する場合に使用されます。この記事では、公式ではエキスパートバンドルとして配布されているものをソースからビルドする方法を紹介します。
ビルドにはMSYS2/MinGW64|Clang64が必要です。MinGW/GCCとClangの二通り紹介します。
MinGW/GCC
gcc --version
pacman -S mingw-w64-x86_64-gcc mingw-w64-gcc-x86_64-toolchain
Clang
clang -v
pacman -S mingw-w64-x86_64-clang mingw-w64-clang-x86_64-toolchain
依存関係
pacman -S --needed --noconfirm autoconf automake libtool make libevent-devel
libevent
はMinGW64(/mingw64
)とClang(/clang64
)でインストールされる場所が異なるので個別にインストールする必要があります。
- GCC:
pacman -S --needed --noconfirm mingw-w64-x86_64-libevent
- Clang:
pacman -S --needed --noconfirm mingw-w64-clang-x86_64-libevent
ビルド
git clone https://gitlab.torproject.org/tpo/core/tor.git
cd tor
./autogen.sh
スタンドアロンのtor.exe
をビルドするために--enable-static-tor
を指定してTor含め全ての依存関係を静的リンクします。
./configure --enable-static-tor \
--with-libevent-dir=$MINGW_PREFIX/lib \
--with-openssl-dir=$MINGW_PREFIX/lib \
--with-zlib-dir=$MINGW_PREFIX/lib \
--disable-unittests --disable-module-dirauth \
--disable-manpage --disable-html-manual \
--disable-asciidoc
make
ビルド成果物はtor/src/app/tor.exe
とtor/src/tools/tor-gencert.exe
に生成されます。
Discussion