automatically set required DDoS-GUARD cookies (#1779)
for kemono.party and seiso.party
This commit is contained in:
@@ -339,6 +339,11 @@ class Extractor():
|
||||
return True
|
||||
return False
|
||||
|
||||
def _prepare_ddosguard_cookies(self):
|
||||
if not self._cookiejar.get("__ddg2", domain=self.cookiedomain):
|
||||
self._cookiejar.set(
|
||||
"__ddg2", util.generate_token(), domain=self.cookiedomain)
|
||||
|
||||
def _get_date_min_max(self, dmin=None, dmax=None):
|
||||
"""Retrieve and parse 'date-min' and 'date-max' config values"""
|
||||
def get(key, default):
|
||||
|
||||
@@ -24,13 +24,9 @@ class KemonopartyExtractor(Extractor):
|
||||
filename_fmt = "{id}_{title}_{num:>02}_{filename}.{extension}"
|
||||
archive_fmt = "{service}_{user}_{id}_{num}"
|
||||
cookiedomain = ".kemono.party"
|
||||
_warning = True
|
||||
|
||||
def items(self):
|
||||
if self._warning:
|
||||
if not self._check_cookies(("__ddg1", "__ddg2")):
|
||||
self.log.warning("no DDoS-GUARD cookies set (__ddg1, __ddg2)")
|
||||
KemonopartyExtractor._warning = False
|
||||
self._prepare_ddosguard_cookies()
|
||||
|
||||
find_inline = re.compile(r'src="(/inline/[^"]+)').findall
|
||||
skip_service = \
|
||||
|
||||
@@ -21,7 +21,6 @@ class SeisopartyExtractor(Extractor):
|
||||
filename_fmt = "{id}_{title}_{num:>02}_{filename}.{extension}"
|
||||
archive_fmt = "{service}_{user}_{id}_{num}"
|
||||
cookiedomain = ".seiso.party"
|
||||
_warning = True
|
||||
|
||||
def __init__(self, match):
|
||||
Extractor.__init__(self, match)
|
||||
@@ -30,10 +29,7 @@ class SeisopartyExtractor(Extractor):
|
||||
r'href="(https://cdn(?:-\d)?\.seiso\.party/files/[^"]+)').findall
|
||||
|
||||
def items(self):
|
||||
if self._warning:
|
||||
if not self._check_cookies(("__ddg1", "__ddg2")):
|
||||
self.log.warning("no DDoS-GUARD cookies set (__ddg1, __ddg2)")
|
||||
SeisopartyExtractor._warning = False
|
||||
self._prepare_ddosguard_cookies()
|
||||
|
||||
for post in self.posts():
|
||||
files = post.pop("files")
|
||||
|
||||
@@ -314,11 +314,6 @@ def setup_test_config():
|
||||
"e621", "inkbunny", "tapas", "pillowfort", "mangadex"):
|
||||
config.set(("extractor", category), "username", None)
|
||||
|
||||
config.set(("extractor", "kemonoparty"), "cookies", {
|
||||
"__ddg1": "0gBDGpJ3KZQmA4B9QH25", "__ddg2": "lmj5s1jnJOvhPXCX"})
|
||||
config.set(("extractor", "seisoparty"), "cookies", {
|
||||
"__ddg1": "Y8rBxSDHO5UCEtQvzyI9", "__ddg2": "lmj5s1jnJOvhPXCX"})
|
||||
|
||||
config.set(("extractor", "mastodon.social"), "access-token",
|
||||
"Blf9gVqG7GytDTfVMiyYQjwVMQaNACgf3Ds3IxxVDUQ")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user