Little-t-tor

注意:这些说明用于安装 tor 网络守护程序,即 little-t-tor 有关安装 Tor 浏览器的说明,请参阅 Tor 浏览器用户手册

管理员权限:要安装 Tor,您需要 root 权限。 以下所有需要以 root 用户身份运行的命令,如 apt 和 dpkg,都将在前面加上“#”,而作为用户运行的命令则用 “$” (也就是终端中的标准提示符)表示。 要打开一个 root 终端,你有几个选项:sudo su,或者 sudo -i,或者 su -i。请注意,sudo 会要求你的用户密码,而 su 则需要系统的 root 密码。

Debian / Ubuntu

不要使用 Ubuntu Universe 源中的软件包。 过去它们没有可靠地进行更新。这意味着您可能会错过稳定性和安全修复程序。

  • 配置 Tor 软件包存储库

按照说明启用 Tor Project 的 APT 存储库。

  • 软件包安装

# apt install tor

Fedora

  • 配置 Tor 软件包存储库

按照说明启用 Tor Project 的 RPM 软件包存储库。

  • 软件包安装

# dnf install tor

FreeBSD

  • 软件包安装

# pkg install tor

OpenBSD

  • 软件包安装

# pkg_add tor

macOS

  • 安装包管理器

在 OS X 上有两个软件包管理器:Homebrew 和 Macports。 你可以使用你喜欢的软件包管理工具。

要安装 Homebrew,请按照 brew.sh 上的说明进行操作。

要安装 Macports,请按照 macports.org/install.php 上的说明操作。

  • 软件包安装

如果你在终端窗口中使用 Homebrew,请运行:

# brew install tor

如果您在终端窗口中使用 Macports,请运行:

$ sudo port install tor

Arch Linux

  • 要在 Arch Linux 上安装 tor 包,请运行:
# pacman -Syu tor

DragonFlyBSD

  • Bootstrap pkg

DragonFlyBSD 的每日快照和发行版(从 3.4 开始)已安装了 pkg。但从早期版本升级的系统则没有安装。如果系统因任何原因缺少 pkg,可以快速启动它,而无需从源代码构建,甚至无需安装 DPorts

# cd /usr
# make pkg-bootstrap
# rehash
# pkg-static install -y pkg
# rehash
  • 安装 pkg 的推荐步骤

此处与我们在 FreeBSD 系统上的情况类似,我们将使用 HTTPS 来获取我们的包和更新。所以此处我们还需要一个额外的包来帮助我们(ca_root_nss)。

安装ca_root_nss软件包:

# pkg install ca_root_nss

对于全新安装,会把文件 /usr/local/etc/pkg/repos/df-latest.conf.sample 复制到 /usr/local/etc/pkg/repos/df-latest。会忽略以“.sample”扩展结尾的文件;pkg(8) 仅读取以“.conf”结尾的文件,并且会读取找到的所有文件。

DragonFlyBSD 有 2 个软件包存储库:

  • Avalon (mirror-master.dragonflybsd.org);
  • Wolfpond (pkg.wolfpond.org).

我们可以简单地编辑用于指出 /usr/local/etc/pkg/repos/df-latest 上的存储库的 URL,就这样!记得对 Avalon 使用 pkg+https://

应用所有这些更改后,我们再次更新软件包列表,并尝试检查是否已有新的更新要应用:

# pkg update -f
# pkg upgrade -y -f
  • 软件包安装

安装tor软件包:

# pkg install tor

NetBSD

  • 安装 pkg_add

NetBSD 操作系统的现代版本可以设置为使用 pkgin,这是一款旨在像 aptyum 一样管理 pkgsrc 二进制包的软件。我们在此处不讨论它的安装,而是选择使用普通的 pkg_add

# echo "PKG_PATH=http://cdn.netbsd.org/pub/pkgsrc/packages/NetBSD/$(uname -m)/$(uname -r)/All" > /etc/pkg_install.conf
  • 软件包安装

安装torNetBSD的软件包:

# pkg_add tor

Void Linux

要在 Void Linux 上安装 tor 包,请运行:

# xbps-install -S tor

从源代码安装 Tor

  • 下载最新版本和依赖

Tor 的最新版本可在下载页面找到。

如果你正在从源代码构建,请先安装 libevent,并确保你已经安装了 openssl 和 zlib(包括适用的-devel 软件包)。

  • 安装 Tor

    tar -xzf tor-0.4.3.6.tar.gz; cd tor-0.4.3.6

    ./configure && make

现在你可以将 tor 作为 src/app/tor 运行(0.4.3.x及更高版本),或者你可以运行make install(如果需要请以 root 身份运行)将其安装到 /usr/local/ 中,然后只需运行 tor 即可启动它。

注意:这些指南是为了验证 Tor 源代码。 请按照正确的指示来验证 Tor 浏览器的签名

数字签名用于确保某个程序包有其开发者生产并且没有被篡改。 下面我们解释为什么它很重要,以及如何验证你下载的 tor 源代码是我们创建的,没有被某些攻击者修改。

我们下载页面上的每个文件都附带两个文件,标签为“校验和”和“签名”,其名称与软件包相同,扩展名分别为“.sha256sum”和“.sha256sum.asc”。

.asc 文件将验证 .sha256sum 文件(包含软件包的校验和)没有被篡改。一旦签名被验证有效(见下面的方法),软件包的完整性就可以用以下方法验证:

$ sha256sum -c *.sha256sum

这些文件用于验证你所下载的文件正是我们希望你得到的文件。 一般来说,你可以通过右击 “签名”和“校验和”链接并选择“另存为”选项来下载该文件,不过这可能因网络浏览器而异。

例如,tor-0.4.6.7.tar.gz配有文件tor-0.4.6.7.tar.gz.sha256sum.asc。 这些是示例文件名,并下载文件不会完全相同。

下面将解释如何在不同的操作系统上验证下载文件的数字签名。 请注意,数字签名的日期指对程序包进行签名的时间。 因此,每次新文件上传时,将生产新的签名,并且日期不同。 只要你验证了签名,不必担心报告的日期可能有所不同。

安装 GnuPG

首先,验证签名之前,你需要安装 GnuPG。

对于 Windows 的用户:

如果使用 Windows,请下载 Gpg4win 并运行安装包。

为了验证签名,你需要在 Windows 命令行(cmd.exe)中输入一些命令。

对于 macOS 的用户:

如果使用 macOS,你可以安装 GPGTools

为了验证签名,你需要在终端(位于“应用程序”下)中输入一些命令。

对于 GNU/Linux 的用户:

如果使用 GNU/Linux,那么系统大概已安装 GnuPG,因为大多数 Linux 发行版都预装了该软件。

为了验证签名,你需要在 windows 命令行中输入几个命令。 如何做到这一点,将取决于你的发行版。

提取 Tor 开发者密钥

下面的密钥可以对 tarball 签名。不要期望都有签名,这可能取决于谁来发布。

可通过上述链接获得密钥,或通过:

$ gpg --auto-key-locate nodefault,wkd --locate-keys ahf@torproject.org
$ gpg --auto-key-locate nodefault,wkd --locate-keys dgoulet@torproject.org
$ gpg --auto-key-locate nodefault,wkd --locate-keys nickm@torproject.org

这应该显示类似结果(对于 Nickm):

gpg: key FE43009C4607B1FB: public key "Nick Mathewson <nickm@torproject.org>" imported
gpg: Total number processed: 1
gpg:               imported: 1
pub   rsa4096 2016-09-21 [C] [expires: 2025-10-04]
      2133BC600AB133E1D826D173FE43009C4607B1FB
uid           [ unknown] Nick Mathewson <nickm@torproject.org>
sub   rsa4096 2016-09-23 [S] [expires: 2025-10-04]
sub   rsa4096 2016-09-23 [E] [expires: 2025-10-04]

如果看到错误信息,那就是出了问题,你不能继续下去,直到你弄清楚为什么这不行。 也许可以使用 其他方法(使用公钥)部分来导入密钥。

导入密钥后,你可以将其保存到文件中(此处提供其指纹来指定):

$ gpg --output ./tor.keyring --export 0x2133BC600AB133E1D826D173FE43009C4607B1FB

该命令将密钥保存在路径为./tor.keyring的文件中,即当前目录。 如果运行这个命令后 ./tor.keyring不存在,就说明出了问题,不能继续操作,直到你弄清楚为什么出现错误。

验证签名

要验证你下载的软件包的签名,你需要下载相应的 .sha256sum.asc 签名文件和 .sha256sum 文件,并通过命令要求 GnuPG 验证你下载的文件来验证它。

以下示例假设已在“Downloads”文件中下载这两个文件。 请注意,这些命令使用示例文件名,而实际文件名是不同的:你下载的版本与 9.0 不同,并且没有选择英文(en-US)版本。

对于 Windows 的用户:

gpgv --keyring .\tor.keyring Downloads\tor-0.4.6.10.tar.gz.sha256sum.asc Downloads\tor-0.4.6.10.tar.gz.sha256sum

对于 macOS 的用户:

gpgv --keyring ./tor.keyring ~/Downloads/tor-0.4.6.10.tar.gz.sha256sum.asc ~/Downloads/tor-0.4.6.10.tar.gz.sha256sum

对于 BSD/Linux 用户:

gpgv --keyring ./tor.keyring ~/Downloads/tor-0.4.6.10.tar.gz.sha256sum.asc ~/Downloads/tor-0.4.6.10.tar.gz.sha256sum

该命令的结果应该产生这样的结果(取决于签名用的哪个密钥):

gpgv: Signature made Mon 16 Aug 2021 04:44:27 PM -03
gpgv:                using RSA key 7A02B3521DC75C542BA015456AFEE6D49E92B601
gpgv: Good signature from "Nick Mathewson <nickm@torproject.org>"

如果错误消息含有“No such file or directory”,上述某个步骤出错,或者未更改命令中的示例文件名。

另外,你可能想要了解更多 GnuPG 信息

验证校验和

现在我们验证了校验和的签名,接着需要验证软件包的完整性。

对于 Windows 的用户:

certUtil -hashfile tor-0.4.6.10.tar.gz.sha256sum SHA256

对于 macOS 的用户:

shasum -a 256 tor-0.4.6.10.tar.gz.sha256sum

对于 BSD/Linux 用户:

sha256sum -c tor-0.4.6.10.tar.gz.sha256sum