googleplay

package module
v0.0.0-...-1b4fb60 Latest Latest
Warning

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

Go to latest
Published: Oct 23, 2023 License: OSL-3.0 Imports: 13 Imported by: 0

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?

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

Make sure the Google account you use, has accepted the Google Play terms and conditions, before trying these 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
Title: YouTube
Creator: Google LLC
UploadDate: Mar 16, 2022
VersionString: 17.11.34
VersionCode: 1528288704
NumDownloads: 11.562 B
Size: 40.935 MB
Files: 4
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 1528288704

Sponsor

I really need help financially, so if you are able, please donate using the sponsor link. If you cannot use PayPal, let me know, and I can see about adding other methods. Thank you!

API

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

Documentation

Index

Constants

View Source
const Sleep = 4 * time.Second

Variables

View Source
var LogLevel format.LogLevel
View Source
var Phone = Config{
	DeviceFeature: []String{

		"android.software.midi",

		"android.hardware.microphone",

		"android.software.device_admin",

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

		"android.hardware.location.gps",

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

		"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",
	},

	GLESversion: 0x0003_0001,
	SystemSharedLibrary: []String{

		"android.test.runner",

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

	TouchScreen: 3,
}

Functions

This section is empty.

Types

type Config

type Config struct {
	DeviceFeature        []String
	GLESversion          Varint
	GLextension          String
	HasFiveWayNavigation Varint
	HasHardKeyboard      Varint
	Keyboard             Varint
	Navigation           Varint
	ScreenDensity        Varint
	ScreenLayout         Varint
	SystemSharedLibrary  []String
	TouchScreen          Varint
}

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

func (Config) Checkin

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

A Sleep is needed after this.

type Delivery

type Delivery struct {
	DownloadURL       String
	SplitDeliveryData []SplitDeliveryData
}

func (Delivery) Data

func (d Delivery) Data() []SplitDeliveryData

type Details

type Details struct {
	Title         String
	Creator       String
	UploadDate    String
	VersionString String
	VersionCode   Varint
	NumDownloads  Varint
	Size          Varint
	Files         int
	Micros        Varint
	CurrencyCode  String
}

func (Details) Format

func (d Details) Format(f fmt.State, verb rune)

type Device

type Device struct {
	AndroidID Fixed64
	TimeMsec  Varint
}

func OpenDevice

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

func (Device) Create

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

type Fixed64

type Fixed64 = protobuf.Fixed64
type Header struct {
	http.Header
}

func (Header) Delivery

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

func (Header) Details

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

func (Header) Purchase

func (h Header) Purchase(app string) error

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

type Message

type Message = protobuf.Message

type SplitDeliveryData

type SplitDeliveryData struct {
	ID          String
	DownloadURL String
}

func (SplitDeliveryData) Name

func (s SplitDeliveryData) Name(app string, ver uint64) string

type String

type String = protobuf.String
const (
	// com.exnoa.misttraingirls
	Arm64 String = "arm64-v8a"
	// com.miui.weather2
	Armeabi String = "armeabi-v7a"
	// com.google.android.youtube
	X86 String = "x86"
)

type Token

type Token struct {
	Services string
	Token    string
}

func NewToken

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

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

func OpenToken

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

func (Token) Create

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

func (Token) Header

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

func (Token) SingleAPK

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

type Varint

type Varint = protobuf.Varint

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

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