Package hulu (v1.11.4) [up] [repository]

Index

Functions

func ParseId(urlData string) string

https://hulu.com/movie/05e76ad8-c3dd-4c3e-bab9-df3cf71c6871 https://hulu.com/movie/alien-romulus-05e76ad8-c3dd-4c3e-bab9-df3cf71c6871

Types

type DeepLink struct {
	EabId   string `json:"eab_id"`
	Message string
}

type Details

type Details struct {
	VodItems struct {
		Focus struct {
			Entity struct {
				Bundle struct {
					EabId string `json:"eab_id"`
				}
			}
		}
	} `json:"vod_items"`
}

type Device

type Device struct {
	DeviceToken string `json:"device_token"`
	Message     string // 2026-05-02
	UserToken   string `json:"user_token"`
}

Functions

func FetchDevice(email, password string) (*Device, error)

Methods

func (*Device) CachePath() string
func (d *Device) GetDetails(movie string) (*Details, error)
func (d *Device) Playlist(eabId string) (*Playlist, error)

L3 max 1080p SL2000 max 1080p SL3000 max 2160p

func (d *Device) TokenRefresh() error

returns user_token only

type Playlist

type Playlist struct {
	DashPrServer *Url `json:"dash_pr_server"`
	StreamUrl    *Url `json:"stream_url"` // MPD
	WvServer     *Url `json:"wv_server"`
}

Methods

func (*Playlist) CachePath() string
func (p *Playlist) FetchPlayReady(body []byte) ([]byte, error)
func (p *Playlist) FetchWidevine(body []byte) ([]byte, error)

type Url

type Url struct {
	Url url.URL
}

Methods

func (u *Url) MarshalText() ([]byte, error)
func (u *Url) UnmarshalText(text []byte) error