explaingit

zedeus/nitter

12,930NimAudience · generalComplexity · 4/5LicenseSetup · hard

TLDR

Self-hosted Twitter/X alternative that serves pages as plain, fast HTML without JavaScript, ads, or tracking, your browser never contacts Twitter directly.

Mindmap

mindmap
  root((nitter))
    What it does
      Private Twitter viewer
      No JS or ads
      RSS feed support
    Tech stack
      Nim
      Redis
      Docker
      Nginx
    Use cases
      Self-hosted reader
      RSS subscriptions
      Fast browsing
    Audience
      Privacy users
      RSS enthusiasts
    Setup
      Docker image
      Twitter tokens needed
      Reverse proxy
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Run your own private Twitter reader that strips ads and tracking from every page.

USE CASE 2

Subscribe to Twitter accounts via RSS feeds without a Twitter account.

USE CASE 3

Browse Twitter profiles on slow connections using pages that load 2-4x faster.

Tech stack

NimRedisValkeyDockerNginx

Getting it running

Difficulty · hard Time to first run · 1h+

Requires real Twitter accounts to obtain session tokens for fetching content, plus Redis and a reverse proxy.

Open source under AGPLv3, anyone can use and modify it, but any hosted version must make its source code publicly available.

In plain English

Nitter is a self-hosted, privacy-focused alternative front-end for Twitter (now called X). Rather than opening Twitter's website directly, users visit a Nitter instance, which fetches Twitter content on their behalf and serves it as plain, fast HTML. Because all requests go through the Nitter server, your browser never communicates directly with Twitter, and Twitter cannot track your IP address or build a fingerprint from your browser's behavior. The practical benefits are significant for privacy-conscious users. Nitter serves pages without JavaScript or ads, making it far lighter than the official Twitter site. The README cites one example profile page at around 60KB compared to 784KB on twitter.com, with timelines loading two to four times faster. RSS feed support is included, along with themes and a mobile-friendly layout. Running Nitter requires some technical setup. It is written in Nim, a compiled programming language, so you either compile it from source or use the provided Docker image. Redis (or its open-source fork Valkey) is required for caching. The project is typically deployed behind a reverse proxy like Nginx for security and performance. As of 2024, operating a Nitter instance also requires real Twitter accounts to obtain session tokens, since Twitter disabled the methods the project previously used. The roadmap mentions planned features including tweet and profile archiving, a basic account system for following users with a chronological timeline, embeds, and a developer API. Nitter is licensed under AGPLv3, which means any hosted instance must make its source code available. The project community maintains a list of public instances and browser extensions on the repository wiki.

Copy-paste prompts

Prompt 1
I want to self-host Nitter using Docker. Give me a step-by-step docker-compose.yml that includes Redis and Nginx as a reverse proxy.
Prompt 2
I have a Nitter instance running. How do I get real Twitter session tokens so Nitter can fetch content, and where do I configure them?
Prompt 3
Show me how to set up an RSS reader to pull Twitter feeds from my Nitter instance for a list of accounts I follow.
Prompt 4
How do I configure Nitter to run behind Nginx with HTTPS using Let's Encrypt?
Open on GitHub → Explain another repo

← zedeus on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.