diff --git a/docs/supportedsites.md b/docs/supportedsites.md
index 2a8f0b57..50ad231c 100644
--- a/docs/supportedsites.md
+++ b/docs/supportedsites.md
@@ -658,7 +658,7 @@ Consider all sites to be NSFW unless otherwise known.
| Reddit |
https://www.reddit.com/ |
- individual Images, Submissions, Subreddits, User Profiles |
+ Home Feed, individual Images, Submissions, Subreddits, User Profiles |
OAuth |
diff --git a/gallery_dl/extractor/reddit.py b/gallery_dl/extractor/reddit.py
index 01538bf4..d35e24e3 100644
--- a/gallery_dl/extractor/reddit.py
+++ b/gallery_dl/extractor/reddit.py
@@ -144,8 +144,8 @@ class RedditExtractor(Extractor):
class RedditSubredditExtractor(RedditExtractor):
"""Extractor for URLs from subreddits on reddit.com"""
subcategory = "subreddit"
- pattern = (r"(?:https?://)?(?:\w+\.)?reddit\.com/r/"
- r"([^/?#]+(?:/([a-z]+))?)/?(?:\?([^#]*))?(?:$|#)")
+ pattern = (r"(?:https?://)?(?:\w+\.)?reddit\.com"
+ r"(/r/[^/?#]+(?:/([a-z]+))?)/?(?:\?([^#]*))?(?:$|#)")
test = (
("https://www.reddit.com/r/lavaporn/", {
"range": "1-20",
@@ -168,6 +168,20 @@ class RedditSubredditExtractor(RedditExtractor):
return self.api.submissions_subreddit(self.subreddit, self.params)
+class RedditHomeExtractor(RedditSubredditExtractor):
+ """Extractor for submissions from your home feed on reddit.com"""
+ subcategory = "home"
+ pattern = (r"(?:https?://)?(?:\w+\.)?reddit\.com"
+ r"((?:/([a-z]+))?)/?(?:\?([^#]*))?(?:$|#)")
+ test = (
+ ("https://www.reddit.com/", {
+ "range": "1-20",
+ "count": ">= 20",
+ }),
+ ("https://old.reddit.com/top/?sort=top&t=month"),
+ )
+
+
class RedditUserExtractor(RedditExtractor):
"""Extractor for URLs from posts by a reddit user"""
subcategory = "user"
@@ -321,7 +335,7 @@ class RedditAPI():
def submissions_subreddit(self, subreddit, params):
"""Collect all (submission, comments)-tuples of a subreddit"""
- endpoint = "/r/" + subreddit + "/.json"
+ endpoint = subreddit + "/.json"
params["limit"] = 100
return self._pagination(endpoint, params)
diff --git a/scripts/supportedsites.py b/scripts/supportedsites.py
index 3557871d..27073535 100755
--- a/scripts/supportedsites.py
+++ b/scripts/supportedsites.py
@@ -197,6 +197,9 @@ SUBCATEGORY_MAP = {
"sketch": "Sketch",
"work": "individual Images",
},
+ "reddit": {
+ "home": "Home Feed",
+ },
"sankaku": {
"books": "Book Searches",
},