max

package
v1.10.5 Latest Latest
Warning

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

Go to latest
Published: Apr 16, 2025 License: OSL-3.0 Imports: 10 Imported by: 0

README

max.com

android

https://play.google.com/store/apps/details?id=com.wbd.stream

> play -i com.wbd.stream
details[8] = 0 USD
details[13][1][4] = 4.12.0.64
details[13][1][16] = Oct 11, 2024
details[13][1][17] = APK APK APK APK
details[13][1][82][1][1] = 5.0 and up
details[15][18] = https://www.max.com/privacy
downloads = 80.50 million
name = Max: Stream HBO, TV, & Movies
size = 112.78 megabyte
version code = 35352971

above is wrong, needs to be at least Android 7. install system certificate

movie

https://justwatch.com/us/movie/heretic-2024

url = https://play.max.com/show/12199308-9afb-460b-9d79-9d54b5d2514c
monetization = FLATRATE
country = United States

correct URLs:

https://play.max.com/video/watch/
2a9b19c2-7dad-4f46-97f1-58c282824bd5 VideoId
/
ea64405b-c32a-4ece-aeca-61ad47d6bfb0 EditId

all we care about is EditId. how do we get EditId from public URL? like this:

GET /cms/routes/movie/12199308-9afb-460b-9d79-9d54b5d2514c?include=default&decorators=viewingHistory,isFavorite,contentAction,badges&page[items.size]=10 HTTP/2
Host: default.any-emea.prd.api.max.com
Cookie: st=eyJhbGciOiJSUzI1NiJ9.eyJqdGkiOiJ0b2tlbi1iMWM5ZTc2MS1lMjQwLTRmZWMtOG...

result:

json.data.attributes.url = "/movie/12199308-9afb-460b-9d79-9d54b5d2514c";

json.included[119].relationships.show.data.id = "12199308-9afb-460b-9d79-9d54b5d2514c";
json.included[119].relationships.edit.data.id = "ea64405b-c32a-4ece-aeca-61ad47d6bfb0";

tv-show

https://justwatch.com/us/tv-show/the-white-lotus

url = https://play.max.com/video/watch/28ae9450-8192-4277-b661-e76eaad9b2e6
monetization = FLATRATE
count = 3
country = United States

correct URLs:

GET /cms/collections/227084608563650952176059252419027445293?include=default&decorators=viewingHistory,isFavorite,contentAction,badges&pf[show.id]=14f9834d-bc23-41a8-ab61-5c8abdbea505&pf[seasonNumber]=2 HTTP/2
Host: default.any-emea.prd.api.max.com
Cookie: st=eyJhbGciOiJSUzI1NiJ9.eyJqdGkiOiJ0b2tlbi1iMWM5ZTc2MS1lMjQwLTRmZWMtOG...

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Byte added in v1.10.1

type Byte[T any] []byte

type Initiate added in v1.10.1

type Initiate struct {
	LinkingCode string
	TargetUrl   string
}

func (*Initiate) String added in v1.10.1

func (i *Initiate) String() string

type Login added in v1.10.1

type Login struct {
	Data struct {
		Attributes struct {
			Token string
		}
	}
}

func (Login) Movie added in v1.10.2

func (n Login) Movie(id ShowId) (*Videos, error)

func (*Login) Playback added in v1.10.1

func (n *Login) Playback(edit_id string) (Byte[Playback], error)

func (Login) Season added in v1.10.2

func (n Login) Season(id ShowId, number int) (*Videos, error)

func (*Login) Unmarshal added in v1.10.1

func (n *Login) Unmarshal(data Byte[Login]) error

type Playback

type Playback struct {
	Drm struct {
		Schemes struct {
			Widevine struct {
				LicenseUrl string
			}
		}
	}
	Errors []struct {
		Detail string
	}
	Fallback struct {
		Manifest struct {
			Url string // _fallback.mpd:1080p, .mpd:4K
		}
	}
	Manifest struct {
		Url string // 1080p
	}
}

func (*Playback) Mpd added in v1.10.4

func (p *Playback) Mpd() string

func (*Playback) Unmarshal added in v1.10.1

func (p *Playback) Unmarshal(data Byte[Playback]) error

func (*Playback) Widevine added in v1.10.1

func (p *Playback) Widevine(data []byte) ([]byte, error)

type ShowId added in v1.10.2

type ShowId string

func (*ShowId) Set added in v1.10.2

func (s *ShowId) Set(data string) error

max.com/movies/12199308-9afb-460b-9d79-9d54b5d2514c max.com/movies/heretic/12199308-9afb-460b-9d79-9d54b5d2514c max.com/shows/14f9834d-bc23-41a8-ab61-5c8abdbea505 max.com/shows/white-lotus/14f9834d-bc23-41a8-ab61-5c8abdbea505

func (ShowId) String added in v1.10.2

func (s ShowId) String() string

type St added in v1.10.1

type St [1]*http.Cookie

func (St) Initiate added in v1.10.1

func (s St) Initiate() (*Initiate, error)

func (St) Login added in v1.10.1

func (s St) Login() (Byte[Login], error)

you must /authentication/linkDevice/initiate first or this will always fail

func (*St) New added in v1.10.1

func (s *St) New() error

func (*St) Set added in v1.10.1

func (s *St) Set(data string) error

func (St) String added in v1.10.1

func (s St) String() string

type Video added in v1.10.2

type Video struct {
	Attributes *struct {
		SeasonNumber  int
		EpisodeNumber int
		Name          string
		VideoType     string
	}
	Relationships *struct {
		Edit *struct {
			Data struct {
				Id string
			}
		}
	}
}

func (*Video) String added in v1.10.2

func (v *Video) String() string

type Videos added in v1.10.2

type Videos struct {
	Errors []struct {
		Detail  string // show was filtered by validator
		Message string // Token is missing or not valid
	}
	Included []Video
}

func (*Videos) Error added in v1.10.3

func (v *Videos) Error() string

func (*Videos) Seq added in v1.10.2

func (v *Videos) Seq() iter.Seq[Video]

Jump to

Keyboard shortcuts

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