Repo Mirrors

From F-Droid
Jump to: navigation, search

this is out of date, follow progress on gitlab:

Mirrors can be useful for both load balancing and working around filters and blocks like the Great Firewall of China. Since a repo is really represented by a signing key more than a URL, it should be possible to make fdroidclient support repos that have multiple possible URLs. This could be done in the meta data by including a metadata field that lists all URLs to official mirrors of a that repo. Then fdroidclient could try the URLs in the order given in the metadata if it can't reach the first one. Or it could also choose a random URL to add in load balancing.

There is now for pushing a repo to cloud storage, starting with Amazon AWS S3, using fdroid server update. So the update can be pushed via rsync/ssh and AWS S3 at the same time. It uses libcloud, so there could be lots of other cloud storage services added. So for example, the exact same Guardian Project repo would then be available at:

To break down the parts needed:

  1. config allows specification of multiple servers
  2. fdroid update puts info about the extra ones in the index
  3. fdroid server update pushes to them all
  4. client reads them all from the index and chooses one to use (random or in order based on config option)