commit
a2a2fc0dd3
|
@ -20,7 +20,7 @@ class BaseExtractor:
|
|||
self.headers = desktop_headers
|
||||
|
||||
self._stream_url = None
|
||||
self._referer = ''
|
||||
self._referer = self.headers.get('Referer', '')
|
||||
self._meta = None
|
||||
|
||||
@property
|
||||
|
|
|
@ -5,5 +5,5 @@ class AnimeVideo(BaseExtractor):
|
|||
def _get_data(self):
|
||||
return {
|
||||
'stream_url': self.url,
|
||||
'referer': self.url
|
||||
'referer': self._referer if self._referer else self.url
|
||||
}
|
||||
|
|
|
@ -23,6 +23,7 @@ KEY = b"LXgIVP&PorO68Rq7dTx8N^lP!Fa5sGJ^*XK"
|
|||
|
||||
class TwistMoeEpisode(AnimeEpisode, sitename='twist.moe'):
|
||||
def _get_sources(self):
|
||||
self.headers["Referer"] = self._parent.url + str(self.ep_no)
|
||||
return [('no_extractor', self.url)]
|
||||
|
||||
|
||||
|
@ -71,14 +72,13 @@ class TwistMoe(Anime, sitename='twist.moe'):
|
|||
episodes = episodes.json()
|
||||
logging.debug(episodes)
|
||||
self.title = anime_name
|
||||
episode_urls = ['https://twist.moe' +
|
||||
episode_urls = ['https://twistcdn.bunny.sh' +
|
||||
decrypt(episode['source'].encode('utf-8'), KEY).decode('utf-8')
|
||||
for episode in episodes]
|
||||
|
||||
self._episode_urls = [(i + 1, episode_url)
|
||||
for i, episode_url in enumerate(episode_urls)]
|
||||
self._len = len(self._episode_urls)
|
||||
|
||||
return self._episode_urls
|
||||
|
||||
|
||||
|
@ -95,6 +95,7 @@ def unpad(data):
|
|||
def bytes_to_key(data, salt, output=48):
|
||||
# extended from https://gist.github.com/gsakkis/4546068
|
||||
assert len(salt) == 8, len(salt)
|
||||
data = b"267041df55ca2b36f2e322d05ee2c9cf"
|
||||
data += salt
|
||||
key = md5(data).digest()
|
||||
final_key = key
|
||||
|
|
|
@ -22,7 +22,7 @@ from urllib.parse import urlparse, unquote
|
|||
|
||||
from anime_downloader import session
|
||||
from anime_downloader.sites import get_anime_class, helpers
|
||||
from anime_downloader.const import desktop_headers
|
||||
from anime_downloader.const import desktop_headers, get_random_header
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
@ -224,12 +224,11 @@ def print_episodeurl(episode):
|
|||
|
||||
def play_episode(episode, *, player, title):
|
||||
if player == 'mpv':
|
||||
p = subprocess.Popen([
|
||||
player,
|
||||
'--title={}'.format(title),
|
||||
'--referrer="{}"'.format(episode.source().referer),
|
||||
episode.source().stream_url
|
||||
])
|
||||
p = subprocess.Popen([player,
|
||||
f'--title={title}',
|
||||
f'--referrer={episode.source().referer}',
|
||||
f'--user-agent={get_random_header()["user-agent"]}',
|
||||
episode.source().stream_url])
|
||||
else:
|
||||
p = subprocess.Popen([player, episode.source().stream_url
|
||||
])
|
||||
|
|
Loading…
Reference in New Issue