Skip to content

Add no-login RSS fallback for public Reddit read-only commands #15

Description

@ahnbu

Proposal

Add a no-login RSS fallback for public Reddit read-only commands when browser cookie extraction is unavailable.

This would make rdt useful for public Reddit discovery even when rdt login cannot read browser cookies on modern Windows Chrome/Edge setups.

Context

On Windows Chrome/Edge, Reddit cookies can be stored with Chrome v20 app-bound encryption. In that case, browser_cookie3 may fail to decrypt cookies even when the user is already logged into reddit.com.

Observed symptoms:

  • rdt login prints No Reddit cookies found
  • the browser actually has Reddit cookies such as reddit_session / token_v2
  • browser_cookie3 fails with Unable to get key for cookie decryption

Related issues:

Benchmark

A useful benchmark is insane-search, which handles Reddit public reads by trying .rss first and unauthenticated .json second.

References:

In phase0.py, the Reddit route currently follows this shape:

  1. Build a Reddit .rss URL from the subreddit or post URL
  2. Try RSS first
  3. Try .json second because unauthenticated JSON is often blocked
  4. Return the successful public read route

This is a good fit for rdt because public read-only commands do not always need authenticated cookies.

Candidate endpoints

https://www.reddit.com/r/{subreddit}/hot.rss?limit=25
https://www.reddit.com/r/{subreddit}/new.rss?limit=25
https://www.reddit.com/r/{subreddit}/search.rss?q={query}&restrict_sr=1
https://www.reddit.com/user/{username}.rss
https://www.reddit.com/r/{subreddit}/comments/{post_id}.rss

Suggested scope

RSS fallback is suitable for:

  • subreddit listing
  • public user posts
  • public post/comment reading
  • public discovery/search fallback

RSS fallback should not replace authenticated features such as:

  • home feed
  • saved posts
  • upvoted posts
  • voting
  • commenting
  • private, quarantined, age-gated, or otherwise login-gated content

Why this helps

This keeps the authenticated rdt-cli flow intact for features that truly require login, while giving users a robust public Reddit read path when browser cookie extraction fails.

It also avoids asking users to switch browsers just so browser_cookie3 can read cookies, which adds operational complexity for an otherwise simple read-only research task.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions