F-Droid desktop client. Requires Go 1.19 or later.
go install mvdan.cc/fdroidcl@latest
While the Android client integrates with the system with regular update checks and notifications, this is a simple command line client that talks to connected devices via ADB.
Download the index:
fdroidcl update
Show all available apps:
fdroidcl search
Install an app:
fdroidcl install org.adaway
Show all available updates, and install them:
fdroidcl search -u
fdroidcl install -u
Unofficial packages are available on: Debian and Ubuntu.
update Update the index
search [<regexp...>] Search available apps
show <appid...> Show detailed info about apps
install [<appid...>] Install or upgrade apps
uninstall <appid...> Uninstall an app
download <appid...> Download an app
devices List connected devices
list (categories/users) List all known values of a kind
repo Manage repositories
clean Clean index and/or cache
defaults Reset to the default settings
version Print version information
An appid is just an app's unique package name. A specific version of an app can be selected by following the appid with a colon and the version code. The 'search' and 'show' commands can be used to find these strings. For example:
$ fdroidcl search redreader
$ fdroidcl show org.quantumbadger.redreader
$ fdroidcl install org.quantumbadger.redreader:85
You can configure what repositories to use in the config.json
file. On Linux,
you will likely find it at ~/.config/fdroidcl/config.json
.
You can run fdroidcl defaults
to create the config with the default settings.
usage: fdroidcl repo
List, add, remove, enable or disable repositories.
When a repository is added, it is enabled by default.
List repositories:
$ fdroidcl repo
Modify repositories:
$ fdroidcl repo add <NAME> <URL>
$ fdroidcl repo remove <NAME>
$ fdroidcl repo enable <NAME>
$ fdroidcl repo disable <NAME>
- Command line interface
- Batch install/update/remove apps without root nor system privileges
- No need to install a client on the device
- Run as a daemon, e.g. periodic index updates
- Act as an F-Droid server
- Swap apps with devices
- Index verification relies on HTTPS (not the JAR signature)
- The tool can only interact with one device at a time
- Hardware compatibility of packages is not checked
- What's the point of a desktop client?
This client works with Android devices connected via ADB; it does not install apps on the host machine.
- Why not just use the f-droid.org website to download APKs?
That's always an option. However, an F-Droid client supports multiple repositories, searching for apps, filtering by compatibility with your device, showing available updates, et cetera.