[cyberdrop] update domain to 'cyberdrop.cr' (#8496)

* added cr to list of cyberdrop TLDs
* update
- example URLs
- tests
- supportedsites

---------

Co-authored-by: Mike Fährmann <mike_faehrmann@web.de>
This commit is contained in:
Tim Wicinski
2025-11-01 13:22:10 -04:00
committed by GitHub
parent 37aa7337dc
commit e174d4fae5
3 changed files with 82 additions and 64 deletions

View File

@@ -213,7 +213,7 @@ Consider all listed sites to potentially be NSFW.
</tr> </tr>
<tr id="cyberdrop" title="cyberdrop"> <tr id="cyberdrop" title="cyberdrop">
<td>Cyberdrop</td> <td>Cyberdrop</td>
<td>https://cyberdrop.me/</td> <td>https://cyberdrop.cr/</td>
<td>Albums, Media Files</td> <td>Albums, Media Files</td>
<td></td> <td></td>
</tr> </tr>

View File

@@ -4,22 +4,22 @@
# it under the terms of the GNU General Public License version 2 as # it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation. # published by the Free Software Foundation.
"""Extractors for https://cyberdrop.me/""" """Extractors for https://cyberdrop.cr/"""
from . import lolisafe from . import lolisafe
from .common import Message from .common import Message
from .. import text from .. import text
BASE_PATTERN = r"(?:https?://)?(?:www\.)?cyberdrop\.(?:me|to)" BASE_PATTERN = r"(?:https?://)?(?:www\.)?cyberdrop\.(?:cr|me|to)"
class CyberdropAlbumExtractor(lolisafe.LolisafeAlbumExtractor): class CyberdropAlbumExtractor(lolisafe.LolisafeAlbumExtractor):
"""Extractor for cyberdrop albums""" """Extractor for cyberdrop albums"""
category = "cyberdrop" category = "cyberdrop"
root = "https://cyberdrop.me" root = "https://cyberdrop.cr"
root_api = "https://api.cyberdrop.me" root_api = "https://api.cyberdrop.cr"
pattern = rf"{BASE_PATTERN}/a/([^/?#]+)" pattern = rf"{BASE_PATTERN}/a/([^/?#]+)"
example = "https://cyberdrop.me/a/ID" example = "https://cyberdrop.cr/a/ID"
def items(self): def items(self):
files, data = self.fetch_album(self.album_id) files, data = self.fetch_album(self.album_id)
@@ -77,7 +77,7 @@ class CyberdropMediaExtractor(CyberdropAlbumExtractor):
subcategory = "media" subcategory = "media"
directory_fmt = ("{category}",) directory_fmt = ("{category}",)
pattern = rf"{BASE_PATTERN}/f/([^/?#]+)" pattern = rf"{BASE_PATTERN}/f/([^/?#]+)"
example = "https://cyberdrop.me/f/ID" example = "https://cyberdrop.cr/f/ID"
def fetch_album(self, album_id): def fetch_album(self, album_id):
return self._extract_files((album_id,)), { return self._extract_files((album_id,)), {

View File

@@ -9,79 +9,97 @@ from gallery_dl.extractor import cyberdrop
__tests__ = ( __tests__ = (
{ {
"#url" : "https://cyberdrop.me/a/8uE0wQiK", "#url" : "https://cyberdrop.cr/a/8uE0wQiK",
"#comment" : "",
"#category": ("lolisafe", "cyberdrop", "album"), "#category": ("lolisafe", "cyberdrop", "album"),
"#class" : cyberdrop.CyberdropAlbumExtractor, "#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", "#sha1_content": "0c8768055e4e20e7c7259608b67799171b691140",
"album_id" : "8uE0wQiK", "album_id" : "8uE0wQiK",
"album_name" : "test テスト \"&>", "album_name" : """test テスト "&>""",
"album_size" : 182, "album_size" : 182,
"count" : 1, "auth_url" : "https://api.cyberdrop.cr/api/file/auth/d1R0vW80T4BRt",
"date" : "dt:2023-11-26 00:00:00", "count" : 1,
"description" : "test テスト \"&>", "date" : "dt:2023-11-26 00:00:00",
"extension" : "png", "description" : """test テスト "&>""",
"filename" : "test-テスト--22->-rwU3x9LU", "extension" : "png",
"id" : "rwU3x9LU", "filename" : "test-テスト--22->-xsaMaIQA",
"name" : "test-テスト--22->", "id" : "xsaMaIQA",
"num" : 1, "name" : "test-テスト--22->",
"size" : 182, "num" : 1,
"slug" : "yyK9y8xpQK5dP", "size" : 182,
"thumbnail_url": str, "slug" : "d1R0vW80T4BRt",
"type" : "image/png", "thumbnail_url": "https://api.cyberdrop.cr/api/proxy/thumb/d1R0vW80T4BRt",
"url" : str, "type" : "image/png",
"url" : str,
}, },
{ {
"#url" : "https://cyberdrop.me/a/HriMgbuf", "#url" : "https://cyberdrop.cr/a/HriMgbuf",
"#comment" : "",
"#category": ("lolisafe", "cyberdrop", "album"), "#category": ("lolisafe", "cyberdrop", "album"),
"#class" : cyberdrop.CyberdropAlbumExtractor, "#class" : cyberdrop.CyberdropAlbumExtractor,
"#pattern" : r"https://\w+\.cyberdrop\.ch/api/file/d/\w+\?token=ey.+", "#pattern" : (
"#count" : 3, 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_id" : "HriMgbuf",
"album_name" : "animations", "album_name" : "animations",
"album_size" : 1090519, "album_size" : 1090519,
"count" : 3, "auth_url" : r"re:https://api.cyberdrop.cr/api/file/auth/\w+",
"date" : "dt:2023-11-26 00:00:00", "count" : 3,
"description" : "animated stuff", "date" : "dt:2023-11-26 00:00:00",
"extension" : r"re:gif|webm", "description" : "animated stuff",
"filename" : r"re:danbooru_\d+_\w+-\w+", "extension" : {"gif", "webm"},
"id" : str, "filename" : str,
"name" : r"re:danbooru_\d+_\w+", "id" : str,
"num" : range(1, 3), "name" : str,
"size" : int, "num" : range(1, 3),
"slug" : str, "size" : {798157, 143992, 147828},
"thumbnail_url": str, "slug" : str,
"type" : r"re:image/gif|video/webm", "thumbnail_url": r"re:https://api.cyberdrop.cr/api/proxy/thumb/\w+",
"url" : str, "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", "#url" : "https://cyberdrop.me/f/lHYBt9VAluZf6",
"#category": ("lolisafe", "cyberdrop", "media"), "#category": ("lolisafe", "cyberdrop", "media"),
"#class" : cyberdrop.CyberdropMediaExtractor, "#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,
}, },
) )