From 9ca45aae735340e9f05db14aeb24f68ed77ddb9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20F=C3=A4hrmann?= Date: Wed, 21 Jan 2026 18:21:21 +0100 Subject: [PATCH] [nitter] re-add instances --- docs/supportedsites.md | 26 +++++++++++++++++- gallery_dl/extractor/nitter.py | 20 ++++++++++++++ test/results/lightbrd.py | 23 ++++++++++++++++ test/results/nitternet.py | 47 ++++++++++++++++++++++++++++++++ test/results/nitterspace.py | 23 ++++++++++++++++ test/results/nittertiekoetter.py | 23 ++++++++++++++++ test/results/xcancel.py | 23 ++++++++++++++++ 7 files changed, 184 insertions(+), 1 deletion(-) create mode 100644 test/results/lightbrd.py create mode 100644 test/results/nitternet.py create mode 100644 test/results/nitterspace.py create mode 100644 test/results/nittertiekoetter.py create mode 100644 test/results/xcancel.py diff --git a/docs/supportedsites.md b/docs/supportedsites.md index 308c9cc7..5ec771c5 100644 --- a/docs/supportedsites.md +++ b/docs/supportedsites.md @@ -1657,9 +1657,33 @@ Consider all listed sites to potentially be NSFW. Nitter Instances - + + Nitter.net + https://nitter.net/ + Media Files, Replies, Search Results, Tweets + + + Nitter.space + https://nitter.space/ + Media Files, Replies, Search Results, Tweets + + + Nitter.tiekoetter + https://nitter.tiekoetter/ + Media Files, Replies, Search Results, Tweets + + + + Xcancel + https://xcancel.com/ + Media Files, Replies, Search Results, Tweets + + + + Lightbrd + https://lightbrd.com/ Media Files, Replies, Search Results, Tweets diff --git a/gallery_dl/extractor/nitter.py b/gallery_dl/extractor/nitter.py index eea8c9cd..49f65c2e 100644 --- a/gallery_dl/extractor/nitter.py +++ b/gallery_dl/extractor/nitter.py @@ -229,6 +229,26 @@ class NitterExtractor(BaseExtractor): BASE_PATTERN = NitterExtractor.update({ + "nitter.net": { + "root": "https://nitter.net", + "pattern": r"(?:www\.)?nitter\.net", + }, + "nitter.space": { + "root": "https://nitter.space", + "pattern": r"(?:www\.)?nitter\.space", + }, + "nitter.tiekoetter": { + "root": "https://nitter.tiekoetter", + "pattern": r"(?:www\.)?nitter\.tiekoetter\.com", + }, + "xcancel": { + "root": "https://xcancel.com", + "pattern": r"(?:www\.)?xcancel\.com", + }, + "lightbrd": { + "root": "https://lightbrd.com", + "pattern": r"(?:www\.)?lightbrd\.com", + }, }) USER_PATTERN = BASE_PATTERN + r"/(i(?:/user/|d:)(\d+)|[^/?#]+)" diff --git a/test/results/lightbrd.py b/test/results/lightbrd.py new file mode 100644 index 00000000..3719f849 --- /dev/null +++ b/test/results/lightbrd.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. + +from gallery_dl.extractor import nitter + + +__tests__ = ( +{ + "#url" : "https://lightbrd.com/supernaturepics/status/604341487988576256", + "#category": ("nitter", "lightbrd", "tweet"), + "#class" : nitter.NitterTweetExtractor, +}, + +{ + "#url" : "https://lightbrd.com/supernaturepics", + "#category": ("nitter", "lightbrd", "tweets"), + "#class" : nitter.NitterTweetsExtractor, +}, + +) diff --git a/test/results/nitternet.py b/test/results/nitternet.py new file mode 100644 index 00000000..7455a923 --- /dev/null +++ b/test/results/nitternet.py @@ -0,0 +1,47 @@ +# -*- coding: utf-8 -*- + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. + +from gallery_dl.extractor import nitter + + +__tests__ = ( +{ + "#url" : "https://nitter.net/supernaturepics/status/604341487988576256", + "#category": ("nitter", "nitter.net", "tweet"), + "#class" : nitter.NitterTweetExtractor, + "#results" : "https://nitter.net/pic/orig/media%2FCGMNYZvW0AIVoom.jpg", + + "comments" : 18, + "content" : "Big Wedeene River, Canada", + "count" : 1, + "date" : "dt:2015-05-29 17:40:00", + "extension": "jpg", + "filename" : "CGMNYZvW0AIVoom", + "likes" : 513, + "num" : 1, + "quoted" : False, + "quotes" : 0, + "retweet" : False, + "retweets" : 455, + "tweet_id" : "604341487988576256", + "url" : "https://nitter.net/pic/orig/media%2FCGMNYZvW0AIVoom.jpg", + "author" : { + "name": "supernaturepics", + "nick": "Nature Pictures", + }, + "user" : { + "name": "supernaturepics", + "nick": "Nature Pictures", + }, +}, + +{ + "#url" : "https://nitter.net/supernaturepics", + "#category": ("nitter", "nitter.net", "tweets"), + "#class" : nitter.NitterTweetsExtractor, +}, + +) diff --git a/test/results/nitterspace.py b/test/results/nitterspace.py new file mode 100644 index 00000000..fc8064db --- /dev/null +++ b/test/results/nitterspace.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. + +from gallery_dl.extractor import nitter + + +__tests__ = ( +{ + "#url" : "https://nitter.space/supernaturepics/status/604341487988576256", + "#category": ("nitter", "nitter.space", "tweet"), + "#class" : nitter.NitterTweetExtractor, +}, + +{ + "#url" : "https://nitter.space/supernaturepics", + "#category": ("nitter", "nitter.space", "tweets"), + "#class" : nitter.NitterTweetsExtractor, +}, + +) diff --git a/test/results/nittertiekoetter.py b/test/results/nittertiekoetter.py new file mode 100644 index 00000000..05b11b3e --- /dev/null +++ b/test/results/nittertiekoetter.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. + +from gallery_dl.extractor import nitter + + +__tests__ = ( +{ + "#url" : "https://nitter.tiekoetter.com/supernaturepics/status/604341487988576256", + "#category": ("nitter", "nitter.tiekoetter", "tweet"), + "#class" : nitter.NitterTweetExtractor, +}, + +{ + "#url" : "https://nitter.tiekoetter.com/supernaturepics", + "#category": ("nitter", "nitter.tiekoetter", "tweets"), + "#class" : nitter.NitterTweetsExtractor, +}, + +) diff --git a/test/results/xcancel.py b/test/results/xcancel.py new file mode 100644 index 00000000..948459cc --- /dev/null +++ b/test/results/xcancel.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. + +from gallery_dl.extractor import nitter + + +__tests__ = ( +{ + "#url" : "https://xcancel.com/supernaturepics/status/604341487988576256", + "#category": ("nitter", "xcancel", "tweet"), + "#class" : nitter.NitterTweetExtractor, +}, + +{ + "#url" : "https://xcancel.com/supernaturepics", + "#category": ("nitter", "xcancel", "tweets"), + "#class" : nitter.NitterTweetsExtractor, +}, + +)