googleplay

package module
v1.10.1 Latest Latest
Warning

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

Go to latest
Published: Jun 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

Issues

Since people have repeatedly abused it, I am now requiring payment for all issues. Any issue without payment of at least 9 USD will be closed immediately. Payment can be made to the PayPal link on this page, or if you need to use another method, mention that in the issue text. For business opportunities, contact me:

How to install?

This module works with Windows, macOS or Linux. First, download Go and extract archive. Then download GooglePlay and extract archive. Then navigate to googleplay-master/cmd/googleplay, and enter:

go build

Tool examples

Before trying these examples, make sure the Google account you are using has logged into the Play Store at least once before. Also you need to have accepted the Google Play terms and conditions. Create a file containing token (aas_et) for future requests:

googleplay -email EMAIL -password PASSWORD

Create a file containing X-DFE-Device-ID (GSF ID) for future requests:

googleplay -device

Get app details:

> googleplay -a com.google.android.youtube
Title: YouTube
Creator: Google LLC
UploadDate: 2022-05-12
VersionString: 17.19.34
VersionCode: 1529337280
NumDownloads: 11.822 B
Size: 46.727 MB
File: APK APK APK APK
Offer: 0 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 1529337280

API

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

Documentation

Index

Constants

View Source
const Sleep = 4 * time.Second

Variables

View Source
var Phone = Config{
	Device_Feature: []string{

		"android.hardware.location.gps",

		"android.software.midi",

		"android.hardware.camera.front",

		"android.hardware.microphone",

		"android.software.device_admin",

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

		"android.hardware.sensor.gyroscope",

		"android.hardware.sensor.accelerometer",

		"android.hardware.opengles.aep",

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

		"android.hardware.touchscreen.multitouch",

		"android.hardware.location.network",

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

		"android.hardware.sensor.compass",

		"android.hardware.telephony",

		"android.hardware.screen.landscape",
	},
	Shared_Library: []string{

		"org.apache.http.legacy",

		"android.test.runner",

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

	GL_ES_Version: 0x9_9999,
	GL_Extension: []string{

		"GL_OES_compressed_ETC1_RGB8_texture",

		"GL_KHR_texture_compression_astc_ldr",
	},
}
View Source
var Platforms = Native_Platform{

	0: "x86",

	1: "armeabi-v7a",

	2: "arm64-v8a",
}

Functions

This section is empty.

Types

type Config added in v1.2.1

type Config struct {
	Device_Feature      []string
	Five_Way_Navigation uint64
	GL_ES_Version       uint64
	GL_Extension        []string
	Hard_Keyboard       uint64
	Keyboard            uint64
	Navigation          uint64
	Screen_Density      uint64
	Screen_Layout       uint64
	Shared_Library      []string
	Touch_Screen        uint64
}

These can use default values, but they must all be included

func (Config) Checkin added in v1.7.7

func (c Config) Checkin(platform string) (*Device, error)

A Sleep is needed after this.

type Delivery added in v1.1.9

type Delivery struct {
	Additional_File []File_Metadata
	Download_URL    string
	Package_Name    string
	Split_Data      []Split_Data
	Version_Code    uint64
}

func (Delivery) Additional added in v1.9.4

func (d Delivery) Additional(typ uint64) string

func (Delivery) Download added in v1.9.4

func (d Delivery) Download() string

func (Delivery) Split added in v1.9.4

func (d Delivery) Split(id string) string

type Details added in v1.0.1

type Details struct {
	Creator       string
	Currency_Code string
	Downloads     uint64
	File          []uint64
	Micros        uint64
	Size          uint64
	Title         string
	Upload_Date   string // Jun 1, 2021
	Version       string
	Version_Code  uint64
}

func (Details) String added in v1.5.0

func (d Details) String() string

func (Details) Time added in v1.9.6

func (d Details) Time() (time.Time, error)

This only works with English. You can force English with: Accept-Language: en

type Device added in v1.0.6

type Device struct {
	protobuf.Message
}

func Open_Device added in v1.9.9

func Open_Device(name string) (*Device, error)

func (Device) Create added in v1.5.6

func (d Device) Create(name string) error

func (Device) ID added in v1.9.9

func (d Device) ID() (uint64, error)

type File_Metadata added in v1.9.9

type File_Metadata struct {
	Download_URL string
	File_Type    uint64
}
type Header struct {
	Device_ID    uint64 // X-DFE-Device-ID
	SDK          int64  // User-Agent
	Version_Code int64  // User-Agent
	Auth         string // Authorization
}

func (Header) Delivery added in v1.6.8

func (h Header) Delivery(app string, ver uint64) (*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.

func (Header) Set_Agent added in v1.9.9

func (h Header) Set_Agent(head http.Header)

func (Header) Set_Auth added in v1.9.9

func (h Header) Set_Auth(head http.Header)

func (Header) Set_Device added in v1.9.9

func (h Header) Set_Device(head http.Header)

type Native_Platform added in v1.9.9

type Native_Platform map[int64]string

func (Native_Platform) String added in v1.9.9

func (n Native_Platform) String() string

type Split_Data added in v1.9.9

type Split_Data struct {
	ID           string
	Download_URL string
}

type Token added in v1.0.1

type Token struct {
	url.Values
}

func New_Token added in v1.9.9

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

You can also use host "android.clients.google.com", but it also uses TLS fingerprinting.

func Open_Token added in v1.9.9

func Open_Token(name string) (*Token, error)

func (Token) Create added in v1.5.6

func (t Token) Create(name string) error

func (Token) Header added in v1.7.6

func (t Token) Header(device_ID uint64, single bool) (*Header, error)

func (Token) Token added in v1.4.1

func (t Token) Token() string

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

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