A free and open source alternative Twitter front-end focused on privacy.
Inspired by the invidio.us project.
- All requests go through the backend, client never talks to Twitter
- Unofficial API (no rate limits or developer account required)
- AGPLv3 licensed, no proprietary instances permitted
- Dark theme
- Lightweight (for @nim_lang, 36KB vs 580KB from twitter.com)
- Native RSS feeds
To compile Nitter you need a Nim installation, see here for details: https://nim-lang.org/install.html
You also need to install
libsass to compile the scss files.
It is possible to install Nim system-wide or in the user directory you create below.
# useradd -m nitter # su nitter $ git clone https://github.com/zedeus/nitter $ cd nitter $ nimble build -d:release -d:hostname="..." $ nimble scss $ mkdir ./tmp
-d:hostname="..." to your instance's domain, eg.
Set your port and page title in
nitter.conf, then run Nitter by executing
You should run Nitter behind a reverse proxy such as nginx or Apache for better
To run Nitter via systemd you can use this service file:
[Unit] Description=Nitter (An alternative Twitter front-end) After=syslog.target After=network.target [Service] Type=simple # set user and group User=nitter Group=nitter # configure location WorkingDirectory=/home/nitter/nitter ExecStart=/home/nitter/nitter/nitter Restart=always RestartSec=15 [Install] WantedBy=multi-user.target
Then enable and run the service:
systemctl enable --now nitter.service
Todo (roughly in this order)
- More caching (waiting for moigagoo/norm#19)
- Simple account system with customizable feed
- Json API endpoints
- Nitter logo
- Emoji support (WIP, uses native font for now)
In the future a simple account system will be added that lets you follow Twitter users, allowing you to have a clean chronological timeline without needing a Twitter account.
Feel free to join our Freenode IRC channel at #nitter, or our Matrix server.