|
|
@ -103,19 +103,6 @@ class CrunchyrollBaseIE(InfoExtractor):
|
|
|
|
def _real_initialize(self):
|
|
|
|
def _real_initialize(self):
|
|
|
|
self._login()
|
|
|
|
self._login()
|
|
|
|
|
|
|
|
|
|
|
|
def _download_webpage(self, url_or_request, *args, **kwargs):
|
|
|
|
|
|
|
|
request = (url_or_request if isinstance(url_or_request, compat_urllib_request.Request)
|
|
|
|
|
|
|
|
else sanitized_Request(url_or_request))
|
|
|
|
|
|
|
|
# Accept-Language must be set explicitly to accept any language to avoid issues
|
|
|
|
|
|
|
|
# similar to https://github.com/ytdl-org/youtube-dl/issues/6797.
|
|
|
|
|
|
|
|
# Along with IP address Crunchyroll uses Accept-Language to guess whether georestriction
|
|
|
|
|
|
|
|
# should be imposed or not (from what I can see it just takes the first language
|
|
|
|
|
|
|
|
# ignoring the priority and requires it to correspond the IP). By the way this causes
|
|
|
|
|
|
|
|
# Crunchyroll to not work in georestriction cases in some browsers that don't place
|
|
|
|
|
|
|
|
# the locale lang first in header. However allowing any language seems to workaround the issue.
|
|
|
|
|
|
|
|
request.add_header('Accept-Language', '*')
|
|
|
|
|
|
|
|
return super(CrunchyrollBaseIE, self)._download_webpage(request, *args, **kwargs)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
@staticmethod
|
|
|
|
def _add_skip_wall(url):
|
|
|
|
def _add_skip_wall(url):
|
|
|
|
parsed_url = compat_urlparse.urlparse(url)
|
|
|
|
parsed_url = compat_urlparse.urlparse(url)
|
|
|
@ -269,6 +256,19 @@ class CrunchyrollIE(CrunchyrollBaseIE, VRVIE):
|
|
|
|
'1080': ('80', '108'),
|
|
|
|
'1080': ('80', '108'),
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def _download_webpage(self, url_or_request, *args, **kwargs):
|
|
|
|
|
|
|
|
request = (url_or_request if isinstance(url_or_request, compat_urllib_request.Request)
|
|
|
|
|
|
|
|
else sanitized_Request(url_or_request))
|
|
|
|
|
|
|
|
# Accept-Language must be set explicitly to accept any language to avoid issues
|
|
|
|
|
|
|
|
# similar to https://github.com/ytdl-org/youtube-dl/issues/6797.
|
|
|
|
|
|
|
|
# Along with IP address Crunchyroll uses Accept-Language to guess whether georestriction
|
|
|
|
|
|
|
|
# should be imposed or not (from what I can see it just takes the first language
|
|
|
|
|
|
|
|
# ignoring the priority and requires it to correspond the IP). By the way this causes
|
|
|
|
|
|
|
|
# Crunchyroll to not work in georestriction cases in some browsers that don't place
|
|
|
|
|
|
|
|
# the locale lang first in header. However allowing any language seems to workaround the issue.
|
|
|
|
|
|
|
|
request.add_header('Accept-Language', '*')
|
|
|
|
|
|
|
|
return super(CrunchyrollBaseIE, self)._download_webpage(request, *args, **kwargs)
|
|
|
|
|
|
|
|
|
|
|
|
def _decrypt_subtitles(self, data, iv, id):
|
|
|
|
def _decrypt_subtitles(self, data, iv, id):
|
|
|
|
data = bytes_to_intlist(compat_b64decode(data))
|
|
|
|
data = bytes_to_intlist(compat_b64decode(data))
|
|
|
|
iv = bytes_to_intlist(compat_b64decode(iv))
|
|
|
|
iv = bytes_to_intlist(compat_b64decode(iv))
|
|
|
|