在 GNOME 中使用 Tor 浏览器作为默认浏览器以及 Firefox

在 GNOME 中使用 Tor 浏览器作为默认浏览器以及 Firefox

我的系统自带 Firefox 作为浏览器,并且我已经安装了Tor 浏览器对于我的用户。我花了一段时间才确定如何将 Tor 浏览器注册为 GNOME 的默认浏览器(设置 > 详细信息 > 默认应用程序 > Web),但我能够通过命令行完成它:

xdg-settings set default-web-browser 'Tor Browser.desktop' # or whatever name your Tor Browser Desktop file has

然而,即使将 Tor 浏览器设置为默认 Web 浏览器后,我发现来自外部程序的 URL 仍然在我的常规(非 TOR)Firefox 实例中打开,而不是在 Tor 浏览器中打开,甚至在 Tor 浏览器未运行时启动它。如何将我的帐户配置为默认使用 Tor 浏览器打开 URL,但同时仍使用普通 Firefox?

答案1

Tor 浏览器(从版本 10 开始)使用 Firefox 作为基础,因此本质上,您有两个 Firefox 实例在运行,因此您会问如何指定一个 Firefox 实例来处理 URL。答案就在--no-remote论证中:

> firefox --help | grep remote
  --no-remote        Do not accept or send remote commands; implies --new-instance.

您必须使用该--no-remote选项运行非 TOR Firefox 实例,并运行不带该--no-remote选项的 Tor 浏览器(使用 Tor 浏览器特定的--allow-remote选项,因为 Tor 浏览器默认为--no-remote)。

火狐浏览器

为了启动非 TOR Firefox 实例,我创建了一个新的桌面入口对于 Firefox,以该/usr/share/applications/firefox.desktop文件为基础,但更改了以下键:

[Desktop Entry]
Name=Firefox (Yield to TOR)
Exec=firefox --no-remote %u

然后,我将创建的桌面条目放入我的用户应用程序目录中:

cp firefox-tor-friend.desktop ~/.local/share/applications/

Tor 浏览器

安装时,Tor 浏览器会生成桌面入口对于其自身(~/.local/share/applications/torbrowser.desktop或类似的),其Exec键值如下:

Exec=sh -c '"/path/to/tor-browser/Browser/start-tor-browser" --detach || ([ !  -x "/path/to/tor-browser/Browser/start-tor-browser" ] && "$(dirname "$*")"/Browser/start-tor-browser --detach)' dummy %k
X-TorBrowser-ExecShell=./Browser/start-tor-browser --detach

此命令不传递 URL 并隐式使用该--no-remote选项。为了启用这些功能,我将Exec键值更改为:

Exec=sh /path/to/tor-browser/Browser/start-tor-browser --allow-remote %u
X-TorBrowser-ExecShell=./Browser/start-tor-browser --allow-remote --detach

Tor 项目希望每个 Tor 浏览器看起来尽可能相似,所以如果我通过Exec这种方式更改密钥而损害了某些东西,请告诉我。但是,使用 Tor 浏览器的此更改需要您自担风险。

修改后桌面条目对于 Firefox 和 Tor 浏览器,Tor 浏览器会像我期望的那样处理我的外部 URL。

相关内容