2015-12-31 10:11:41 +01:00
|
|
|
# F-Droid Server
|
2015-08-04 12:54:06 +02:00
|
|
|
|
2016-06-03 17:59:24 +02:00
|
|
|
[![build status](https://gitlab.com/fdroid/fdroidserver/badges/master/build.svg)](https://gitlab.com/fdroid/fdroidserver/builds)
|
2015-08-28 01:08:36 +02:00
|
|
|
|
2015-08-04 12:54:06 +02:00
|
|
|
Server for [F-Droid](https://f-droid.org), the Free Software repository system
|
|
|
|
for Android.
|
2013-10-24 21:31:15 +02:00
|
|
|
|
|
|
|
The F-Droid server tools provide various scripts and tools that are used to
|
2015-08-04 12:54:06 +02:00
|
|
|
maintain the main [F-Droid application repository](https://f-droid.org/repository/browse).
|
|
|
|
You can use these same tools to create your own additional or alternative
|
|
|
|
repository for publishing, or to assist in creating, testing and submitting
|
|
|
|
metadata to the main repository.
|
2013-10-24 21:31:15 +02:00
|
|
|
|
2017-02-13 22:36:28 +01:00
|
|
|
For documentation, please see <https://f-droid.org/docs/>, or you can
|
|
|
|
find the source for the documentation in
|
|
|
|
[fdroid/fdroid-website](https://gitlab.com/fdroid/fdroid-website).
|
2010-10-22 00:26:38 +02:00
|
|
|
|
2014-04-18 19:12:29 +02:00
|
|
|
|
2015-12-31 10:11:41 +01:00
|
|
|
### What is F-Droid?
|
2015-08-04 12:54:06 +02:00
|
|
|
|
|
|
|
F-Droid is an installable catalogue of FOSS (Free and Open Source Software)
|
|
|
|
applications for the Android platform. The client makes it easy to browse,
|
|
|
|
install, and keep track of updates on your device.
|
2014-04-18 19:12:29 +02:00
|
|
|
|
2015-12-31 10:11:41 +01:00
|
|
|
### Installing
|
|
|
|
|
2016-01-04 21:47:37 +01:00
|
|
|
Note that only Python 3 is supported. We recommend version 3.4 or later.
|
2014-04-18 19:12:29 +02:00
|
|
|
|
2015-08-03 02:11:44 +02:00
|
|
|
The easiest way to install the `fdroidserver` tools is on Ubuntu, Mint or other
|
|
|
|
Ubuntu based distributions, you can install using:
|
2015-03-11 09:28:47 +01:00
|
|
|
|
2015-09-04 06:51:37 +02:00
|
|
|
sudo apt-get install fdroidserver
|
2015-07-31 16:23:05 +02:00
|
|
|
|
|
|
|
For older Ubuntu releases or to get the latest version, you can get
|
|
|
|
`fdroidserver` from the Guardian Project PPA (the signing key
|
|
|
|
fingerprint is `6B80 A842 07B3 0AC9 DEE2 35FE F50E ADDD 2234 F563`)
|
|
|
|
|
2015-09-04 06:51:37 +02:00
|
|
|
sudo add-apt-repository ppa:guardianproject/ppa
|
|
|
|
sudo apt-get update
|
|
|
|
sudo apt-get install fdroidserver
|
2015-03-11 09:28:47 +01:00
|
|
|
|
2015-07-31 16:23:05 +02:00
|
|
|
On OSX, `fdroidserver` is available from third party package managers,
|
|
|
|
like Homebrew, MacPorts, and Fink:
|
|
|
|
|
2015-09-13 23:53:34 +02:00
|
|
|
brew install fdroidserver
|
2015-08-04 12:54:06 +02:00
|
|
|
|
|
|
|
For Arch-Linux is a package in the AUR available. If you have installed
|
|
|
|
`yaourt` or something similiar, you can do:
|
|
|
|
|
2015-09-04 06:51:37 +02:00
|
|
|
yaourt -S fdroidserver
|
2015-07-31 16:23:05 +02:00
|
|
|
|
|
|
|
For any platform where Python's `easy_install` is an option (e.g. OSX
|
|
|
|
or Cygwin, you can use it:
|
|
|
|
|
2015-09-04 06:51:37 +02:00
|
|
|
sudo easy_install fdroidserver
|
2015-07-31 16:23:05 +02:00
|
|
|
|
|
|
|
Python's `pip` also works:
|
|
|
|
|
2016-01-04 21:47:37 +01:00
|
|
|
sudo pip3 install fdroidserver
|
2015-03-11 09:28:47 +01:00
|
|
|
|
2016-04-06 19:46:21 +02:00
|
|
|
The combination of `pyvenv` and `pip` is great for testing out the
|
2015-09-04 06:51:37 +02:00
|
|
|
latest versions of `fdroidserver`. Using `pip`, `fdroidserver` can
|
|
|
|
even be installed straight from git. First, make sure you have
|
2016-04-06 19:46:21 +02:00
|
|
|
installed the python header files, venv and pip. They should be
|
2015-07-31 16:23:05 +02:00
|
|
|
included in your OS's default package manager or you can install them
|
|
|
|
via other mechanisms like Brew/dnf/pacman/emerge/Fink/MacPorts.
|
2015-03-11 09:28:47 +01:00
|
|
|
|
|
|
|
For Debian based distributions:
|
|
|
|
|
2016-04-06 19:46:21 +02:00
|
|
|
apt-get install python3-dev python3-pip python3-venv libjpeg-dev zlib1g-dev
|
2015-09-04 06:51:37 +02:00
|
|
|
|
2015-03-11 09:28:47 +01:00
|
|
|
Then here's how to install:
|
2014-04-18 19:12:29 +02:00
|
|
|
|
2015-09-04 06:51:37 +02:00
|
|
|
git clone https://gitlab.com/fdroid/fdroidserver.git
|
|
|
|
cd fdroidserver
|
2016-04-06 19:46:21 +02:00
|
|
|
pyvenv env/
|
2015-09-04 06:51:37 +02:00
|
|
|
source env/bin/activate
|
2016-01-04 21:47:37 +01:00
|
|
|
pip3 install -e .
|
|
|
|
python3 setup.py install
|
2016-12-06 13:57:04 +01:00
|
|
|
|
|
|
|
|
|
|
|
### Drozer Scanner
|
|
|
|
|
|
|
|
There is a new feature under development that can scan any APK in a
|
|
|
|
repo, or any build, using Drozer. Drozer is a dynamic exploit
|
|
|
|
scanner, it runs an app in the emulator and runs known exploits on it.
|
|
|
|
|
|
|
|
This setup requires specific versions of two Python modules:
|
|
|
|
_docker-py_ 1.9.0 and _requests_ older than 2.11. Other versions
|
|
|
|
might cause the docker-py connection to break with the containers.
|
|
|
|
Newer versions of docker-py might have this fixed already.
|
|
|
|
|
|
|
|
For Debian based distributions:
|
|
|
|
|
|
|
|
apt-get install libffi-dev libssl-dev python-docker
|