Maestral
一个轻量级的开源 Dropbox 客户端,适用于 macOS 和 Linux。
关于
Maestral 是一个用 Python 编写的开源 Dropbox 客户端。该项目的主要目标是为 Dropbox 不再直接支持的平台和文件系统提供一个客户端。
目前,Maestral 不支持 Dropbox Paper、Dropbox 团队管理以及共享文件夹设置的管理。如果您需要这些功能,请使用 Dropbox 网站或官方客户端。Maestral 支持同步多个 Dropbox 账户,并通过".mignore"文件排除本地文件的同步。
专注于"简单"文件同步确实带来了优势:在 macOS 上,Maestral 应用程序包比官方 Dropbox 应用程序小得多,并且使用更少的内存。具体的内存使用量取决于您同步的 Dropbox 文件夹大小,在没有 GUI 的情况下运行 Maestral 可以进一步减少内存使用。
Maestral 使用公共 Dropbox API,与官方客户端不同,它不支持仅传输文件变更的部分("二进制差异")。因此,Maestral 可能会使用比官方客户端更多的带宽。但是,如果本地或云端已存在相同内容的文件,它会避免上传或下载该文件。
警告
- 切勿同时使用官方 Dropbox 客户端和 Maestral 同步同一本地文件夹。
- 网络驱动器和某些外部硬盘不支持作为 Dropbox 文件夹的位置。
安装
macOS Catalina 及更高版本提供了应用程序包,可以从发布标签下载。这个应用程序包也被打包为 Homebrew cask。
在其他平台上,您可以从 PyPI 下载并安装 Maestral 作为 Python 包,或从 Docker Hub 下载 Docker 镜像。
有关安装、设置和系统要求的更详细信息,请查看文档。
Homebrew
Maestral 官方发布版本也可以作为 Homebrew cask 使用。如果您的系统上安装了 Homebrew,可以使用以下命令安装:
$ brew install maestral
使用 PyPI 安装 Python 包
建议在虚拟环境中安装 Maestral,步骤如下:
$ python3 -m venv maestral-venv
$ source maestral-venv/bin/activate
(maestral-venv)$ python3 -m pip install --upgrade maestral
如果您打算使用图形用户界面,还需要在安装或升级时指定 GUI 选项。这将安装 maestral-qt
前端和 Linux 上的 PyQt5
,或 macOS 上的 maestral-cocoa
:
(maestral-venv)$ python3 -m pip install --upgrade 'maestral[gui]'
Docker 镜像
Docker 镜像适用于 x86、arm/v7(32位)和 arm64 平台,可以使用以下命令安装:
$ docker pull maestraldbx/maestral
使用
在命令行中运行 maestral gui
(或在 macOS 上打开 Maestral 应用程序)以启动带有图形用户界面的 Maestral。首次运行时,Maestral 将引导您链接和配置 Dropbox,然后开始同步。
命令行使用
安装后,您可以在命令提示符中输入 maestral
来使用 Maestral 命令行脚本。输入 maestral --help
获取完整的可用命令列表。最重要的命令有:
maestral gui
:启动 Maestral 图形界面。如果同步守护进程尚未运行,则创建一个。maestral start|stop
:启动或停止 Maestral 同步守护进程。maestral pause|resume
:暂停或恢复同步。maestral autostart -Y|-N
:设置守护进程在登录时自动启动。maestral status
:获取 Maestral 的当前状态。maestral filestatus 本地路径
:获取单个文件或文件夹的同步状态。maestral excluded add|remove|list
:管理排除文件夹的命令组。maestral ls DROPBOX路径
:列出 Dropbox 上目录的内容。maestral notify snooze N
:暂停桌面通知 N 分钟。
Maestral 支持通过运行多个使用不同配置文件的实例来同步多个 Dropbox 账户。这需要通过命令行向 maestral start
或 maestral gui
传递 --config-name
选项来配置。Maestral 随后将选择具有给定名称的现有配置或创建一个新配置。例如:
$ maestral start --config-name="personal"
$ maestral start --config-name="work"
这将启动两个 Maestral 实例,分别同步私人账户和工作账户。取消链接账户时,配置将自动清除。您可以使用 maestral config-files
列出所有当前链接的账户。例如,上述设置在 macOS 上将返回以下内容:
$ maestral config-files
配置名称 账户 路径
maestral user@gmail.com ~/Library/Application Support/maestral/maestral.ini
private user@mycorp.org ~/Library/Application Support/maestral/private.ini
默认情况下,Dropbox 文件夹名称将包含大写的配置名称(括号中)。在上述情况下,这将是 "Dropbox (Personal)" 和 "Dropbox (Work)"。
CLI 的完整文档可在网站上获取。
贡献
有多个主题需要您的帮助。其中一些比较简单,比如添加新的 CLI 命令,而其他一些则需要更多经验,比如为非 macOS 平台打包。请留意标记为"good first issue"或"help wanted"的问题。
相关资源包括:
CONTRIBUTING.md 包含有关预期代码风格和测试格式的详细信息。
如果您正在使用 macOS 应用程序包,请考虑每月赞助项目 1 英镑,以抵消 Apple 开发者账户签名和公证软件包的成本。
系统要求
- macOS 10.15 Catalina 或更高版本,或 Linux
- Python 3.7 或更高版本
- Linux 上的系统托盘图标需要:
- Gnome 3.26 及更高版本上的 gnome-shell-extension-appindicator