diff --git a/docs/supportedsites.md b/docs/supportedsites.md index a9d32050..f6a23201 100644 --- a/docs/supportedsites.md +++ b/docs/supportedsites.md @@ -213,7 +213,7 @@ Consider all listed sites to potentially be NSFW. Cyberdrop - https://cyberdrop.me/ + https://cyberdrop.cr/ Albums, Media Files diff --git a/gallery_dl/extractor/cyberdrop.py b/gallery_dl/extractor/cyberdrop.py index fba54351..ba3f6262 100644 --- a/gallery_dl/extractor/cyberdrop.py +++ b/gallery_dl/extractor/cyberdrop.py @@ -4,22 +4,22 @@ # it under the terms of the GNU General Public License version 2 as # published by the Free Software Foundation. -"""Extractors for https://cyberdrop.me/""" +"""Extractors for https://cyberdrop.cr/""" from . import lolisafe from .common import Message from .. import text -BASE_PATTERN = r"(?:https?://)?(?:www\.)?cyberdrop\.(?:me|to)" +BASE_PATTERN = r"(?:https?://)?(?:www\.)?cyberdrop\.(?:cr|me|to)" class CyberdropAlbumExtractor(lolisafe.LolisafeAlbumExtractor): """Extractor for cyberdrop albums""" category = "cyberdrop" - root = "https://cyberdrop.me" - root_api = "https://api.cyberdrop.me" + root = "https://cyberdrop.cr" + root_api = "https://api.cyberdrop.cr" pattern = rf"{BASE_PATTERN}/a/([^/?#]+)" - example = "https://cyberdrop.me/a/ID" + example = "https://cyberdrop.cr/a/ID" def items(self): files, data = self.fetch_album(self.album_id) @@ -77,7 +77,7 @@ class CyberdropMediaExtractor(CyberdropAlbumExtractor): subcategory = "media" directory_fmt = ("{category}",) pattern = rf"{BASE_PATTERN}/f/([^/?#]+)" - example = "https://cyberdrop.me/f/ID" + example = "https://cyberdrop.cr/f/ID" def fetch_album(self, album_id): return self._extract_files((album_id,)), { diff --git a/test/results/cyberdrop.py b/test/results/cyberdrop.py index 5b58b879..bc8243ab 100644 --- a/test/results/cyberdrop.py +++ b/test/results/cyberdrop.py @@ -9,79 +9,97 @@ from gallery_dl.extractor import cyberdrop __tests__ = ( { - "#url" : "https://cyberdrop.me/a/8uE0wQiK", + "#url" : "https://cyberdrop.cr/a/8uE0wQiK", + "#comment" : "", "#category": ("lolisafe", "cyberdrop", "album"), "#class" : cyberdrop.CyberdropAlbumExtractor, - "#pattern" : r"https://\w+\.cyberdrop\.ch/api/file/d/yyK9y8xpQK5dP\?token=ey.+", + "#pattern" : r"https://k1-cd.cdn.gigachad-cdn.ru/api/file/d/d1R0vW80T4BRt\?token=ey.+", "#sha1_content": "0c8768055e4e20e7c7259608b67799171b691140", - "album_id" : "8uE0wQiK", - "album_name" : "test テスト \"&>", - "album_size" : 182, - "count" : 1, - "date" : "dt:2023-11-26 00:00:00", - "description" : "test テスト \"&>", - "extension" : "png", - "filename" : "test-テスト--22->-rwU3x9LU", - "id" : "rwU3x9LU", - "name" : "test-テスト--22->", - "num" : 1, - "size" : 182, - "slug" : "yyK9y8xpQK5dP", - "thumbnail_url": str, - "type" : "image/png", - "url" : str, + "album_id" : "8uE0wQiK", + "album_name" : """test テスト "&>""", + "album_size" : 182, + "auth_url" : "https://api.cyberdrop.cr/api/file/auth/d1R0vW80T4BRt", + "count" : 1, + "date" : "dt:2023-11-26 00:00:00", + "description" : """test テスト "&>""", + "extension" : "png", + "filename" : "test-テスト--22->-xsaMaIQA", + "id" : "xsaMaIQA", + "name" : "test-テスト--22->", + "num" : 1, + "size" : 182, + "slug" : "d1R0vW80T4BRt", + "thumbnail_url": "https://api.cyberdrop.cr/api/proxy/thumb/d1R0vW80T4BRt", + "type" : "image/png", + "url" : str, }, { - "#url" : "https://cyberdrop.me/a/HriMgbuf", + "#url" : "https://cyberdrop.cr/a/HriMgbuf", + "#comment" : "", "#category": ("lolisafe", "cyberdrop", "album"), "#class" : cyberdrop.CyberdropAlbumExtractor, - "#pattern" : r"https://\w+\.cyberdrop\.ch/api/file/d/\w+\?token=ey.+", - "#count" : 3, + "#pattern" : ( + r"https://k1-cd.cdn.gigachad-cdn.ru/api/file/d/rln0wNQSY5iuA\?token=ey.+", + r"https://k1-cd.cdn.gigachad-cdn.ru/api/file/d/cxSKzcj7Wxrrd\?token=ey.+", + r"https://k1-cd.cdn.gigachad-cdn.ru/api/file/d/urLPkBXGuNfEg\?token=ey.+", + ), - "album_id" : "HriMgbuf", - "album_name" : "animations", - "album_size" : 1090519, - "count" : 3, - "date" : "dt:2023-11-26 00:00:00", - "description" : "animated stuff", - "extension" : r"re:gif|webm", - "filename" : r"re:danbooru_\d+_\w+-\w+", - "id" : str, - "name" : r"re:danbooru_\d+_\w+", - "num" : range(1, 3), - "size" : int, - "slug" : str, - "thumbnail_url": str, - "type" : r"re:image/gif|video/webm", - "url" : str, + "album_id" : "HriMgbuf", + "album_name" : "animations", + "album_size" : 1090519, + "auth_url" : r"re:https://api.cyberdrop.cr/api/file/auth/\w+", + "count" : 3, + "date" : "dt:2023-11-26 00:00:00", + "description" : "animated stuff", + "extension" : {"gif", "webm"}, + "filename" : str, + "id" : str, + "name" : str, + "num" : range(1, 3), + "size" : {798157, 143992, 147828}, + "slug" : str, + "thumbnail_url": r"re:https://api.cyberdrop.cr/api/proxy/thumb/\w+", + "type" : {"image/gif", "video/webm"}, + "url" : str, +}, + +{ + "#url" : "https://cyberdrop.me/a/8uE0wQiK", + "#category": ("lolisafe", "cyberdrop", "album"), + "#class" : cyberdrop.CyberdropAlbumExtractor, +}, + +{ + "#url" : "https://cyberdrop.cr/f/rln0wNQSY5iuA", + "#category": ("lolisafe", "cyberdrop", "media"), + "#class" : cyberdrop.CyberdropMediaExtractor, + "#pattern" : r"https://k1-cd.cdn.gigachad-cdn.ru/api/file/d/rln0wNQSY5iuA\?token=ey.+", + "#sha1_content": "a546bdbc07d07f8e2c53e49e99736d5206f4da23", + + "album_id" : "", + "album_name" : "", + "album_size" : -1, + "auth_url" : "https://api.cyberdrop.cr/api/file/auth/rln0wNQSY5iuA", + "count" : 1, + "description" : "", + "extension" : "gif", + "filename" : "danbooru_133128_049ebb917bb57589bca19155271a4200-cxEAcXkc", + "id" : "cxEAcXkc", + "name" : "danbooru_133128_049ebb917bb57589bca19155271a4200", + "num" : 1, + "size" : 143992, + "slug" : "rln0wNQSY5iuA", + "thumbnail_url": "https://api.cyberdrop.cr/api/proxy/thumb/rln0wNQSY5iuA", + "type" : "image/gif", + "url" : r"re:https://k1-cd.cdn.gigachad-cdn.ru/api/file/d/rln0wNQSY5iuA\?token=ey.+", }, { "#url" : "https://cyberdrop.me/f/lHYBt9VAluZf6", "#category": ("lolisafe", "cyberdrop", "media"), "#class" : cyberdrop.CyberdropMediaExtractor, - "#pattern" : r"https://k1-cd\.cdn\.gigachad-cdn\.ru/api/file/d/lHYBt9VAluZf6\?token=ey.+", - "#count" : 1, - "#sha1_content": "a546bdbc07d07f8e2c53e49e99736d5206f4da23", - - "album_id" : "", - "album_name" : "", - "album_size" : -1, - "auth_url" : "https://api.cyberdrop.me/api/file/auth/lHYBt9VAluZf6", - "count" : 1, - "description" : "", - "extension" : "gif", - "filename" : "danbooru_133128_049ebb917bb57589bca19155271a4200-rrhV0I30", - "id" : "rrhV0I30", - "name" : "danbooru_133128_049ebb917bb57589bca19155271a4200", - "num" : 1, - "size" : 143992, - "slug" : "lHYBt9VAluZf6", - "thumbnail_url": "https://api.cyberdrop.me/api/proxy/thumb/lHYBt9VAluZf6", - "type" : "image/gif", - "url" : str, }, )