Package rakuten (v1.10.6) [repository]

Index

Variables

var Transport = http.Transport{
	Protocols: &http.Protocols{},
	Proxy: func(req *http.Request) (*url.URL, error) {
		switch path.Ext(req.URL.Path) {
		case ".isma", ".ismv":
		default:
			log.Println(req.Method, req.URL)
		}
		return http.ProxyFromEnvironment(req)
	},
}

Types

type Content

type Content struct {
	Id          string
	Title       string
	ViewOptions struct {
		Private struct {
			Streams []struct {
				AudioLanguages []struct {
					Id string
				} `json:"audio_languages"`
			}
		}
	} `json:"view_options"`
}

Methods

func (c *Content) String() string

type Media

type Media struct {
	ContentId   string
	ContentType string
	MarketCode  string
	TvShowId    string
}

Methods

func (m *Media) Episodes(seasonId string) ([]Content, error)
func (m *Media) Movie() (*Content, error)
func (info *Media) Parse(rawUrl string) error
func (m *Media) Pr(
	content_id, audio_language string, video Quality,
) (*StreamInfo, error)
func (m *Media) Seasons() ([]Season, error)
func (m *Media) Wvm(
	content_id, audio_language string, video Quality,
) (*StreamInfo, error)

type Quality

type Quality string

type Season

type Season struct {
	TvShowTitle string `json:"tv_show_title"`
	Id          string
}

Methods

func (s *Season) String() string

type StreamInfo

type StreamInfo struct {
	// THIS URL GETS LOCKED TO DEVICE ON FIRST REQUEST
	LicenseUrl string `json:"license_url"`
	// MPD
	Url string
}

Methods

func (s *StreamInfo) Widevine(data []byte) ([]byte, error)