googleplay

package module
v1.4.7 Latest Latest
Warning

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

Go to latest
Published: Dec 24, 2021 License: OSL-3.0 Imports: 18 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

Tool examples

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
&{InstallationSize:38.717 MB NumDownloads:10.812 B Offer:0.00 USD Title:YouTube
VersionCode:1524493760 VersionString:16.46.37}

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

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

Download APK. If APK is split, all pieces will be downloaded:

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

Repo

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

Documentation

Index

Constants

View Source
const (
	Sleep = 16 * time.Second
)

Variables

View Source
var DefaultConfig = Config{

	GLESversion: 0x0003_0001,
	GLextension: []string{

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

		"x86",

		"armeabi-v7a",
	},
	SystemAvailableFeature: []string{

		"android.hardware.bluetooth",

		"android.hardware.camera",

		"android.hardware.location",

		"android.hardware.location.gps",

		"android.hardware.microphone",

		"android.hardware.screen.landscape",

		"android.hardware.screen.portrait",

		"android.hardware.sensor.accelerometer",

		"android.hardware.touchscreen",

		"android.hardware.wifi",
	},
}
View Source
var LogLevel logLevel

Functions

This section is empty.

Types

type Auth added in v1.0.4

type Auth struct {
	Auth string
}

func (Auth) Delivery added in v1.1.9

func (a Auth) Delivery(dev *Device, app string, ver int) (*Delivery, error)

func (Auth) Details added in v1.0.4

func (a Auth) Details(dev *Device, app string) (*Details, error)

func (Auth) Purchase added in v1.1.8

func (a Auth) Purchase(dev *Device, app string) error

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

func (Auth) Upload added in v1.1.3

func (a Auth) Upload(dev *Device, con Config) error

This seems to return `StatusOK`, even with invalid requests, and the response body only contains a token, that doesnt seem to indicate success or failure. Only way I know to check, it to try the `deviceID` with a `details` request or similar. Also, after the POST, you need to wait at least 16 seconds before the `deviceID` can be used.

type Config added in v1.2.1

type Config struct {
	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
	SystemAvailableFeature []string
	// this can be 0, but it must be included:
	TouchScreen uint64
}

type Delivery added in v1.1.9

type Delivery struct {
	DownloadURL       string
	SplitDeliveryData []SplitDeliveryData
}

type Details added in v1.0.1

type Details struct {
	InstallationSize InstallationSize
	NumDownloads     NumDownloads
	Offer            Offer
	Title            string
	VersionCode      uint64
	VersionString    string
}

type Device added in v1.0.6

type Device struct {
	Android_ID int64
}

func NewDevice added in v1.0.6

func NewDevice() (*Device, error)

func (*Device) Decode added in v1.2.1

func (d *Device) Decode(r io.Reader) error

Read Device from file.

func (Device) Encode added in v1.2.1

func (d Device) Encode(w io.Writer) error

Write Device to file.

func (Device) String added in v1.2.1

func (d Device) String() string

type InstallationSize added in v1.3.5

type InstallationSize struct {
	Value uint64
}

func (InstallationSize) String added in v1.3.5

func (i InstallationSize) String() string

type NumDownloads added in v1.4.4

type NumDownloads struct {
	Value uint64
}

func (NumDownloads) String added in v1.4.4

func (n NumDownloads) String() string

type Offer added in v1.3.9

type Offer struct {
	Micros       uint64
	CurrencyCode string
}

func (Offer) String added in v1.4.3

func (o Offer) String() string

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 (Token) Auth added in v1.0.4

func (t Token) Auth() (*Auth, error)

Exchange refresh token for access token.

func (*Token) Decode added in v1.1.0

func (t *Token) Decode(src io.Reader) error

Read Token from file.

func (Token) Encode added in v1.1.0

func (t Token) Encode(dst io.Writer) error

Write Token to file.

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

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