All Projects → NoMore201 → Playmaker

NoMore201 / Playmaker

Fdroid repository manager fetching apps from Play Store

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Playmaker

Node Google Play
Get details and download apps from https://play.google.com by emulating an Android (Nexus 5X) device by default. For a rust version of this library check out https://github.com/dweinstein/rs-google-play
Stars: ✭ 247 (+4.66%)
Mutual labels:  apk, download
Googleplay Api
Google Play Unofficial Python API
Stars: ✭ 278 (+17.8%)
Mutual labels:  apk, download
Node Google Play Cli
command line tools using the node-google-play library
Stars: ✭ 58 (-75.42%)
Mutual labels:  apk, download
Construct
This is The Construct
Stars: ✭ 218 (-7.63%)
Mutual labels:  server
Pss
This is a based plug-in framework that provides cross-platform IO and logically separated plug-in services.
Stars: ✭ 219 (-7.2%)
Mutual labels:  server
Annie
👾 Fast and simple video download library and CLI tool written in Go
Stars: ✭ 16,369 (+6836.02%)
Mutual labels:  download
Khinsider
A script for khinsider mass downloads. Get video game soundtracks quickly and easily! Also a Python interface.
Stars: ✭ 232 (-1.69%)
Mutual labels:  download
Ocsinventory Server
Communication server of OCS Inventory
Stars: ✭ 214 (-9.32%)
Mutual labels:  server
Sjnetwork
SJNetwork is a high level network request tool based on AFNetworking and inspired on YTKNetwork.
Stars: ✭ 231 (-2.12%)
Mutual labels:  download
Telegram Upload
Upload and download files from Telegram up to 2GiB using your account
Stars: ✭ 223 (-5.51%)
Mutual labels:  download
Simplenetwork
simple TCP server / client C++ linux socket
Stars: ✭ 225 (-4.66%)
Mutual labels:  server
Buildapks
Really quickly build APKs on handheld device (smartphone or tablet) in Amazon, Android, Chromebook and Windows📲 See https://buildapks.github.io/docsBuildAPKs/setup to start building APKs.
Stars: ✭ 218 (-7.63%)
Mutual labels:  apk
Beasthttp
Provides helper tools for creating RESTful services using Boost.Beast
Stars: ✭ 227 (-3.81%)
Mutual labels:  server
Jupyter server
The backend—i.e. core services, APIs, and REST endpoints—to Jupyter web applications.
Stars: ✭ 217 (-8.05%)
Mutual labels:  server
Bilibiliupload
Stream download and upload, not only for bilibili.
Stars: ✭ 232 (-1.69%)
Mutual labels:  download
Humblebundle Downloader
Download you Humble Bundle Library
Stars: ✭ 213 (-9.75%)
Mutual labels:  download
Android Crack Tool
🐞Android crack tool For Mac
Stars: ✭ 2,666 (+1029.66%)
Mutual labels:  apk
Frida Skeleton
基于frida的安卓hook框架,提供了很多frida自身不支持的功能,将hook安卓变成简单便捷,人人都会的事情
Stars: ✭ 222 (-5.93%)
Mutual labels:  apk
Hls Vod
HTTP Live Streaming with on-the-fly encoding of any video file for Web/Apple TV/iPhone/iPad/iPod
Stars: ✭ 221 (-6.36%)
Mutual labels:  server
Craftbook
🔧 Machines, ICs, PLCs, and more!
Stars: ✭ 226 (-4.24%)
Mutual labels:  server

Playmaker

screenshot

Description & Features

Playmaker is a fdroid repository manager, which lets you download/update apps from the play store using your google account and configure repository with app you download. After you setup the server, repository will be available at the address http[s]://<playmaker_host>/fdroid, and you can start downloading apps from play store.

Server uses googleplay-api library, which is the python equivalent of the Java play-store-api library used by YalpStore.

Features:

  • Download apks from google play store to your collection
  • Generate a fdroid repository serving apks downloaded, directly from <pm_url>/fdroid
  • Configure automatic updates of app+repo through a Crontab string
  • Non-blocking UI, you can browse the collection or search for an app while the server is updating the fdroid repository.
  • Responsive UI, usable also from a mobile device

Configuration

Authentication

To avoid authentication problems, like captcha requests, it's recommended to setup app specific password, and securing your account with 2-factor auth. There are two ways to login to Play Store:

  • Providing credentials in a configuration file
  • Through a login page.

The default behaviour is to ask credentials with a login page, when accessing playmaker on first launch. In order to skip login page, it is possible to provide google credentials through a configuration file. Just put credentials.conf inside the playmaker directory, with this structure:

[google]
email = [email protected]
password = mypassword

To restrict access to that file, ensure it is readable only by user running playmaker.

HTTPS

It's recommended to configure playmaker with HTTPS, especially with the login page authentication, since playmaker needs to send to the server credentials in plaintext. You can setup it in conjunction with a proxy like nginx, or provide certificate directly to playmaker.

Running

Since this app requires a lot of heavy dependencies, like Android SDK and fdroidserver, it is recommended to use the docker image. You can use a pre-built image on docker hub or build by yourself using provided Dockerfile. There are some environment variables you'll want to use:

  • HTTPS_CERTFILE: path of the https certificate file
  • HTTPS_KEYFILE: path of the https key file
  • LANG_LOCALE: set a specific locale. Defaults to the system one if not set
  • LANG_TIMEZONE: set a specific timezone. Defaults to Europe/Berlin if not set
  • CRONTAB_STRING: crontab string to configure automatic updates. Defaults to every night at 2AM (0 2 * * *)
  • DEVICE_CODE: specify a device to be used by playmaker, defaults to bacon (OnePlus One) if not specified. For a list of supported devices see this file

To enable HTTPS through playmaker, without an external tool, just define HTTPS_CERTFILE and HTTPS_KEYFILE with paths to those file. If these variables are not set, tornado will default to http.

If you want to browse apps for a specific country, you need to specify the variables LANG_LOCALE and LANG_TIMEZONE. Before creating an issue "cannot find app X", make sure the app is available it that country.

The docker run command will look like this:

docker run -d --name playmaker \
    -p 5000:5000 \
    -v /srv/fdroid:/data/fdroid \
    -e HTTPS_CERTFILE="/srv/https.crt" \
    -e HTTPS_KEYFILE="/srv/https.key" \
    -e LANG_LOCALE="it_IT" \
    -e LANG_TIMEZONE="Europe/Rome" \
    -e DEVICE_CODE="hammerhead" \
    nomore201/playmaker

If you want to run it in a virtualenv rather than using docker, remember that you need to install fdroidserver, android SDK and define the ANDROID_HOME env variable (see the Dockerfile as a reference). Instruction on how to install fdroidserver here

Alternatives

YalpStore

YalpStore is an open source alternative to the play store. It works very well and it requires you to install only the app, but it requires one of the following thing to be able to install/update apks:

  • enable Unknown Sources
  • have root privileges

If you use playmaker and the fdroid privileged extension, fdroid will be able to install/update app without root privileges or enabling unknown sources.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].