基于Chromium 或 Firefox 开发的浏览器如何安装『本地程序』

目录

背景

这些以 Chromium 或 Firefox 为核心的浏览器,为了避免用户电脑上同时安装了核心浏览器和自己时所造成的冲突。它的一些文件的存储位置和核心浏览器是不一样的。而他们又允许用户安装那些可运行在核心浏览器上的扩展,如果这个时候没有兼容好,有些浏览器扩展就无法正常工作,特别是带有『本地程序』的扩展。

MaoXian 的本地程序就是如此,它只认识核心浏览器的目录。以 Chromium 这个核心浏览器为例子,「本地程序」只认识 Chromium 的目录,所以只会把自己安装到 Chromium 目录下。那这些基于 Chromium 的浏览器如果没有做好兼容,就找不到「本地程序」了。

注意: 本页面介绍的安装方法,只适用于那些没有做好兼容(不认识核心浏览器的目录)的浏览器。而那些做好兼容(认识核心浏览器的目录)的浏览器(如 Edge)请按照正常流程进行安装。

详细情况如下表:

可能情况 是否适配自身的目录 是否适配核心浏览器的目录 安装方法
情况一 按本页面教程
情况二 按正常流程
情况三 按正常流程

特殊情况: 有一些浏览器在发布的时候,是第一种情况,假设你已经按照本页面的安装方法,对接上了本地程序。 而开发者随后发现兼容问题了,就会去兼容核心浏览器的目录,理想情况下,兼容后会变成情况二,此时你的对接仍然有效。如果浏览器开发者太粗心,改动后,变成情况三,你会发现本来用的好好的本地程序,突然不能用了。那么你需要重新对接,根据本页面的教程,撤销所有改动(即返回到正常流程时使用的脚本),再进行安装。

本地程序的安装本质

本地程序在 Linux 或 MacOS 上的安装,其实只是复制一个 NativeMessageHost 文件(maoxian_web_clipper_native.json) 到一个特定的位置(即目录路径)。

本地程序在 Windows 上的安装,是在一个注册表路径上写入 NativeMessageHost 文件的路径。

下表是 Chromium 上的 NativeMessageHost 文件在不同系统上的安装路径:

系统 安装路径 备注
MacOS $HOME/Library/Application Support/Chromium/NativeMessagingHosts 文件夹路径
Linux $HOME/.config/chromium/NativeMessagingHosts 文件夹路径
Windows HKEY_CURRENT_USER\SOFTWARE\Google\Chrome\NativeMessagingHosts 注册表路径

下表是 Firefox 上的 NativeMessageHost 文件在不同系统上的安装路径:

系统 安装路径 备注
MacOS $HOME/Library/Application Support/Mozilla/NativeMessagingHosts 文件夹路径
Linux $HOME/.mozilla/native-messaging-hosts 文件夹路径
Windows HKEY_CURRENT_USER\SOFTWARE\Mozilla\NativeMessagingHosts 注册表路径

你可以参照这些安装路径,去寻找你的目标浏览器的安装路径。或者询问你的浏览器开发者,让他们告诉你: NativeMessageHost 文件的安装路径。

基于 Chromium 开发的浏览器

请先按照本地程序首页 上的介绍,下载并解压本地程序。

然后通过修改本地程序脚本的安装路径,适配你要安装的浏览器。

Linux 或 MacOS 用户,需要编辑 variables.sh 这个脚本文件。

编辑 variables.sh,以 Linux 为例,原内容如下:

#!/usr/bin/env bash

BROWSER_NAME="Chromium"
TARGET_DIR_SYSTEM="/etc/chromium/native-messaging-hosts"
TARGET_DIR_USER="$HOME/.config/chromium/NativeMessagingHosts"

其中:

以 Linux 上的 Thorium 浏览器为例子。其 NativeMessageHosts 目录路径为: ~/.config/thorium/NativeMessagingHosts。对其进行修改:

#!/usr/bin/env bash

BROWSER_NAME="Thorium"
TARGET_DIR_SYSTEM="/etc/thorium/native-messaging-hosts"
TARGET_DIR_USER="$HOME/.config/thorium/NativeMessagingHosts"

再运行 ./install.sh 既可以安装成功。

Windows 用户 需要编辑 install.batuninstall.bat 两个批处理文件。

假设你的目标浏览器的目标路径为: HKEY_CURRENT_USER\SOFTWARE\Thorium\NativeMessagingHosts

install.bat 的内容:

REG ADD "HKEY_CURRENT_USER\SOFTWARE\Google\Chrome\NativeMessagingHosts\maoxian_web_clipper_native" /ve /t REG_SZ /d "%~dp0manifest.json" /f
ECHO 'Installed, Press any key to exit. . .'
PAUSE

修改为

REG ADD "HKEY_CURRENT_USER\SOFTWARE\Thorium\NativeMessagingHosts\maoxian_web_clipper_native" /ve /t REG_SZ /d "%~dp0manifest.json" /f
ECHO 'Installed, Press any key to exit. . .'
PAUSE

按照同样的方式修改 uninstall.bat 。然后右击 install.bat 以管理员权限运行,即可安装成功。

基于 Firefox 开发的浏览器

请参照上一小节,对 Firefox 的安装路径进行修改。

以 LibreWolf 浏览器为例子。修改完后如下:

MacOS

variables.sh

#!/usr/bin/env bash

BROWSER_NAME="Librewolf"
TARGET_DIR_SYSTEM="/Library/Application Support/Librewolf/NativeMessagingHosts"
TARGET_DIR_USER="$HOME/Library/Application Support/Librewolf/NativeMessagingHosts"

Linux

variables.sh

#!/usr/bin/env bash

BROWSER_NAME="Librewolf"
TARGET_DIR_SYSTEM="/usr/lib64/librewolf/native-messaging-hosts"
TARGET_DIR_USER="$HOME/.librewolf/native-messaging-hosts"

Windows

install.bat

REG ADD "HKEY_CURRENT_USER\SOFTWARE\Librewolf\NativeMessagingHosts\maoxian_web_clipper_native" /ve /t REG_SZ /d "%~dp0manifest.json" /f
ECHO 'Installed, Press any key to exit. . .'
PAUSE

uninstall.bat

REG DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\Librewolf\NativeMessagingHosts\maoxian_web_clipper_native" /f
REG DELETE "HKEY_CURRENT_USER\SOFTWARE\Librewolf\NativeMessagingHosts\maoxian_web_clipper_native" /f
ECHO 'Uninstalled, Press any key to exit. . .'
PAUSE

首页

本地程序