googleplay

package module
v1.7.6 Latest Latest
Warning

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

Go to latest
Published: Feb 23, 2022 License: OSL-3.0 Imports: 14 Imported by: 2

README

GooglePlay

Fear plays an interesting role in our lives. How dare we let it motivate us? How dare we let it into our decision-making, into our livelihoods, into our relationships?

It's funny, isn't it, we take a day a year to dress up in costume and celebrate fear?

Spooked (The Office) (2011)

Download APK from Google Play or send API requests

How to install?

Download Go from here:

https://golang.org/dl

and extract archive. Then download GooglePlay:

https://github.com/89z/googleplay/archive/refs/heads/master.zip

and extract archive. Then navigate to googleplay-master/cmd/googleplay, and enter:

go build

Tool examples

If you are outside the United States, you might need to create an App Password. Create a file containing token (aas_et) for future requests:

googleplay -e EMAIL -p PASSWORD

Create a file containing Android_ID (GSF ID) for future requests:

googleplay -d

Get app details:

PS C:\> googleplay -a com.google.android.youtube
Title: YouTube
UploadDate: Jan 11, 2022
VersionString: 17.02.34
VersionCode: 1527109056
NumDownloads: 11.124 B
Size: 39.773 MB
Offer: 0.00 USD

Purchase app. Only needs to be done once per Google account:

googleplay -a com.google.android.youtube -purchase

Download APK. You need to specify any valid version code. The latest code is provided by the previous details command. If APK is split, all pieces will be downloaded:

googleplay -a com.google.android.youtube -v 1527109056

API

flowchart TD
   A[NewToken]
   A --> B[Token.Auth]
   B --> C[Auth.Header]
   C --> D[Header.Details]
   C --> E[Header.Purchase]
   C --> F[Header.Delivery]

https://github.com/89z/googleplay

Documentation

Index

Constants

View Source
const Sleep = 4 * time.Second

Variables

View Source
var DefaultConfig = Config{
	DeviceFeature: []string{

		"android.software.device_admin",

		"android.hardware.touchscreen",
		"android.hardware.wifi",

		"android.hardware.camera",
		"android.hardware.location",
		"android.hardware.screen.portrait",

		"android.hardware.location.gps",
		"android.hardware.sensor.accelerometer",

		"android.hardware.touchscreen.multitouch",
		"android.hardware.touchscreen.multitouch.distinct",
		"android.hardware.vulkan.level",
		"android.hardware.vulkan.version",

		"android.hardware.screen.landscape",

		"android.hardware.microphone",

		"android.hardware.bluetooth",
		"android.hardware.bluetooth_le",
		"android.hardware.camera.autofocus",
		"android.hardware.usb.host",

		"android.hardware.telephony",

		"android.hardware.location.network",
	},

	GLESversion: 0x0003_0001,
	GLextension: []string{

		"GL_OES_compressed_ETC1_RGB8_texture",
	},
	NativePlatform: []string{

		"x86",

		"armeabi-v7a",

		"arm64-v8a",
	},
	SystemSharedLibrary: []string{

		"org.apache.http.legacy",

		"global-miui11-empty.jar",
	},

	TouchScreen: 3,
}
View Source
var LogLevel format.LogLevel

Functions

This section is empty.

Types

type Config added in v1.2.1

type Config struct {
	DeviceFeature []string
	GLESversion   uint64
	GLextension   []string
	// this can be 0, but it must be included:
	HasFiveWayNavigation uint64
	// this can be 0, but it must be included:
	HasHardKeyboard uint64
	// this can be 0, but it must be included:
	Keyboard       uint64
	NativePlatform []string
	// this can be 0, but it must be included:
	Navigation uint64
	// this can be 0, but it must be included:
	ScreenDensity uint64
	// this can be 0, but it must be included:
	ScreenLayout        uint64
	SystemSharedLibrary []string
	// this can be 0, but it must be included:
	TouchScreen uint64
}

func (Config) Device added in v1.7.4

func (c Config) Device() (*Device, error)

A Sleep is needed after this.

type Delivery added in v1.1.9

type Delivery struct {
	DownloadURL       string
	SplitDeliveryData []SplitDeliveryData
}

type Details added in v1.0.1

type Details struct {
	Title         string
	UploadDate    string
	VersionString string
	VersionCode   uint64
	NumDownloads  uint64
	Size          uint64
	Micros        uint64
	CurrencyCode  string
}

func (Details) String added in v1.5.0

func (d Details) String() string

type Device added in v1.0.6

type Device struct {
	AndroidID uint64
}

func OpenDevice added in v1.5.6

func OpenDevice(elem ...string) (*Device, error)

func (Device) Create added in v1.5.6

func (d Device) Create(elem ...string) error

type Document added in v1.7.2

type Document struct {
	ID      string
	Title   string
	Creator string
}
type Header struct {
	http.Header
}

func (Header) Category added in v1.7.2

func (h Header) Category(cat string, min int) ([]Document, error)

func (Header) Delivery added in v1.6.8

func (h Header) Delivery(app string, ver int64) (*Delivery, error)

func (Header) Details added in v1.6.8

func (h Header) Details(app string) (*Details, error)

func (Header) Purchase added in v1.6.8

func (h Header) Purchase(app string) error

Purchase app. Only needs to be done once per Google account.

type SplitDeliveryData added in v1.3.0

type SplitDeliveryData struct {
	ID          string
	DownloadURL string
}

type Token added in v1.0.1

type Token struct {
	Token string
}

func NewToken added in v1.0.4

func NewToken(email, password string) (*Token, error)

Request refresh token.

func OpenToken added in v1.5.6

func OpenToken(elem ...string) (*Token, error)

func (Token) Create added in v1.5.6

func (t Token) Create(elem ...string) error

func (Token) Header added in v1.7.6

func (t Token) Header(dev *Device) (*Header, error)

func (Token) SingleAPK added in v1.7.6

func (t Token) SingleAPK(dev *Device) (*Header, error)

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

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