Thanks to visit codestin.com
Credit goes to pkg.go.dev

fdroidcl

command module
v0.8.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 1, 2025 License: BSD-3-Clause Imports: 23 Imported by: 0

README

fdroidcl

GoDoc

F-Droid desktop client. Requires Go 1.21 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.

Quickstart

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.

Commands

 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
 scan                     Scan for known fdroid apps on a device
 list (categories/users)  List all known values of a kind
 repo                     Manage repositories
 setups                   Manage setups
 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
new: you can manage the repositories now directly via cli
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>
new: you can manage automating installs using setups
usage: fdroidcl setup

List, add, remove, edit, and import/export setups.
Setups allow for mass installs onto an android device, excellent for backups.

List setups:

        $ fdroidcl setup                Show all setups
        $ fdroidcl setup list <NAME>    Show details about one setup

Modify setups:
        $ fdroidcl setup new <NAME>
        $ fdroidcl setup remove <NAME>
        $ fdroidcl setup apply <NAME> 
        $ fdroidcl setup add-app <NAME> <APP-ID> 
        $ fdroidcl setup rm-app <NAME> <APP-ID> 
        $ fdroidcl setup add-repo <NAME> <REPO-NAME>
        $ fdroidcl setup rm-repo <NAME> <REPO-NAME>

Export setups:

        $ fdroidcl setup import <FILENAME>
        $ fdroidcl setup export <NAME>

Config

You can configure what repositories to use in the config.toml file. On Linux, you will likely find it at ~/.config/fdroidcl/config.toml.

You can run fdroidcl defaults to create the config with the default settings.

Advantages over the Android client

  • Command line interface
  • Batch install/update/remove apps without root nor system privileges
  • No need to install a client on the device

What it will never do

  • Run as a daemon, e.g. periodic index updates
  • Act as an F-Droid server
  • Swap apps with devices

Caveats

  • 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

FAQ

  • 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.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL