Giter Club home page Giter Club logo

fdroidcl's Introduction

fdroidcl

GoDoc

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.

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

Config

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.

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>

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.

fdroidcl's People

Contributors

mvdan avatar linus789 avatar relan avatar jugendhacker avatar ropery avatar fazlerabbi37 avatar jspricke avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.