nitter/README.md

92 lines
2.8 KiB
Markdown
Raw Normal View History

2019-06-21 01:17:21 +00:00
# Nitter (WIP)
A free and open source alternative Twitter front-end focused on privacy. \
Inspired by the [invidio.us](https://github.com/omarroth/invidious) project.
- No JavaScript or ads
- All requests go through the backend, client never talks to Twitter
- Prevents Twitter from tracking your IP or JavaScript fingerprint
- Unofficial API (no rate limits or developer account required)
2019-06-22 22:48:45 +00:00
- AGPLv3 licensed, no proprietary instances permitted
2019-06-21 01:17:21 +00:00
- Dark theme
2019-06-24 20:40:48 +00:00
- Lightweight (for [@nim_lang](https://twitter.com/nim_lang), 36KB vs 580KB from twitter.com)
2019-06-21 01:17:21 +00:00
## Installation
2019-06-23 23:34:30 +00:00
You need to install nim on your system: https://nim-lang.org/install.html
It is possible to install nim system wide or in the user directory you create below.
2019-06-21 01:17:21 +00:00
```bash
# useradd -m nitter
# su nitter
$ git clone https://github.com/zedeus/nitter
$ cd nitter
$ nimble build -d:release
$ mkdir ./tmp
2019-06-21 01:17:21 +00:00
```
To run nitter, execute `./nitter`. It's currently not possible to change any settings or things
2019-06-22 22:48:45 +00:00
like the title, this will change as the project matures a bit. For now the focus
is on implementing missing features.
2019-06-21 01:17:21 +00:00
You should put nitter behind a reverse proxy with e.g. nginx or apache.
It is also possible to run nitter via systemd:
```bash
[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 start
`systemctl enable --now nitter.service`
2019-06-22 22:48:45 +00:00
## Todo (roughly in this order)
2019-06-23 23:34:30 +00:00
2019-07-01 02:58:54 +00:00
- Search (images/videos, hashtags, etc.)
- Custom timeline filter
2019-07-15 12:15:22 +00:00
- More caching (waiting for [moigagoo/norm#19](https://github.com/moigagoo/norm/pull/19))
2019-07-01 02:58:54 +00:00
- Simple account system with customizable feed
2019-06-23 12:34:19 +00:00
- Video support with hls.js
- Json API endpoints
2019-06-29 12:11:23 +00:00
- Themes
2019-06-21 18:36:00 +00:00
- Nitter logo
2019-07-15 12:15:22 +00:00
- Emoji support (WIP, uses native font for now)
2019-06-21 01:17:21 +00:00
## Why?
2019-06-23 23:34:30 +00:00
2019-06-22 22:48:45 +00:00
It's basically impossible to use Twitter without JavaScript enabled. If you try,
you're redirected to the legacy mobile version which is awful both functionally
and aesthetically. For privacy-minded folks, preventing JavaScript analytics and
potential IP-based tracking is important, but apart from using the legacy mobile
version and a VPN, it's impossible. Using an instance of Nitter (hosted on a VPS
for example), you can essentially browse Twitter without JavaScript, while
2019-07-01 02:58:54 +00:00
retaining your privacy. In addition to respecting your privacy, Nitter is on
average around 15 times lighter than Twitter, and in some cases serves pages
faster. 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.
2019-06-21 01:17:21 +00:00
## Screenshot
![nitter](/screenshot.png)