Una interfaz de Twitter alternativa gratuita y de código abierto centrada en la privacidad y el rendimiento.
Inspirado en el proyecto Invidious.
Sin JavaScript ni anuncios
Todas las solicitudes pasan por el backend, el cliente nunca habla con Twitter
Evita que Twitter rastree su IP o huella digital de JavaScript
Utiliza la API no oficial de Twitter (no se requieren límites de velocidad ni cuenta de desarrollador)
Ligero (para @nim_lang, 60 KB frente a 784 KB de twitter.com)
Canales RSS
Temas
Soporte móvil (diseño responsivo)
Licencia AGPLv3, no se permiten instancias propietarias
Liberapay: https://liberapay.com/zedeus
Patreon: https://patreon.com/nitter
BTC: bc1qp7q4qz0fgfvftm5hwz3vy284nue6jedt44kxya
ETH: 0x66d84bc3fd031b62857ad18c62f1ba072b011925
LTC: ltc1qhsz5nxw6jw9rdtw9qssjeq2h8hqk2f85rdgpkr
XMR: 42hKayRoEAw4D6G6t8mQHPJHQcXqofjFuVfavqKeNMNUZfeJLJAcNU19i1bGdDvcdN6romiSscWGWJCczFLe9RFhM3d1zpL
Incrustaciones
Sistema de cuentas con soporte de línea de tiempo
Archivar tweets/perfiles
API de desarrollador
La wiki contiene una lista de instancias y extensiones de navegador mantenidas por la comunidad.
Es imposible utilizar Twitter sin JavaScript habilitado. Para las personas preocupadas por la privacidad, evitar el análisis de JavaScript y el seguimiento basado en IP es importante, pero aparte de usar una VPN y uBlock/uMatrix, es imposible. A pesar de estar detrás de una VPN y utilizar bloqueadores de anuncios potentes, puedes ser rastreado con precisión con la huella digital de tu navegador, sin necesidad de JavaScript. Todo esto se volvió particularmente importante después de que Twitter eliminó la capacidad de los usuarios de controlar si sus datos se envían a los anunciantes.
Usando una instancia de Nitter (alojada en un VPS, por ejemplo), puedes navegar por Twitter sin JavaScript manteniendo tu privacidad. Además de respetar su privacidad, Nitter es en promedio alrededor de 15 veces más liviano que Twitter y, en la mayoría de los casos, ofrece páginas más rápido (por ejemplo, las líneas de tiempo se cargan entre 2 y 4 veces más rápido).
En el futuro, se agregará un sistema de cuentas simple que le permitirá seguir a los usuarios de Twitter, lo que le permitirá tener una línea de tiempo cronológica limpia sin necesidad de una cuenta de Twitter.
libcre
libsass
Redistribuir
Para compilar Nitter necesita una instalación de Nim; consulte nim-lang.org para obtener más detalles. Es posible instalarlo en todo el sistema o en el directorio de usuarios que crea a continuación.
Para compilar los archivos scss, necesita instalar libsass
. En Ubuntu y Debian, puedes usar libsass-dev
.
Se requiere Redis para el almacenamiento en caché y, en el futuro, para la información de la cuenta. Debería estar disponible en la mayoría de las distribuciones como redis
o redis-server
(Ubuntu/Debian). Ejecutarlo con la configuración predeterminada está bien, la configuración predeterminada de Nitter está configurada para usar el puerto Redis y el host local predeterminados.
A continuación se explica cómo crear un usuario nitter
, clonar el repositorio y compilar el proyecto junto con los archivos scss y md.
# usuarioadd -m nitter# su nitter$ git clone https://github.com/zedeus/nitter $ nitter de cd $ compilación ágil -d: lanzamiento $ ágil scss $ ágil md $ cp nitter.ejemplo.conf nitter.conf
Configure su nombre de host, puerto, clave HMAC, https (debe ser correcto para las cookies) e información de Redis en nitter.conf
. Para ejecutar Redis, ejecute redis-server --daemonize yes
o systemctl enable --now redis
(o redis-server según la distribución). Ejecute Nitter ejecutando ./nitter
o utilizando el servicio systemd a continuación. Debes ejecutar Nitter detrás de un proxy inverso como Nginx o Apache por razones de seguridad y rendimiento.
Página para la imagen de Docker: https://hub.docker.com/r/zedeus/nitter
zedeus/nitter:latest-arm64
.Para ejecutar Nitter con Docker, deberá instalar y ejecutar Redis por separado antes de poder ejecutar el contenedor. Vea a continuación cómo ejecutar también Redis usando Docker.
Para compilar y ejecutar Nitter en Docker:
docker build -t nitter:último .docker run -v $(pwd)/nitter.conf:/src/nitter.conf -d --network host nitter:último
Nota: Para ARM64, utilice este Dockerfile: Dockerfile.arm64
.
También se proporciona una imagen de Docker prediseñada:
docker run -v $(pwd)/nitter.conf:/src/nitter.conf -d --network host zedeus/nitter:latest
Usando docker-compose para ejecutar Nitter y Redis como contenedores diferentes: cambie redisHost
de localhost
a nitter-redis
en nitter.conf
, luego ejecute:
docker-componer -d
Tenga en cuenta que los comandos de Docker esperan un archivo nitter.conf
en el directorio donde los ejecuta.
Para ejecutar Nitter a través de systemd, puede utilizar este archivo de servicio:
[Unidad]Descripción=Nitter (una interfaz alternativa de Twitter)After=syslog.targetAfter=network.target[Service]Type=simple# set user and groupUser=nitterGroup=nitter# configure locationWorkingDirectory=/home/nitter/nitterExecStart=/ home/nitter/nitter/nitterRestart=alwaysRestartSec=15[Instalar]WantedBy=multi-user.target
Luego habilite y ejecute el servicio: systemctl enable --now nitter.service
Actualmente, Nitter imprime algunos errores en la salida estándar y no se implementa ningún registro real. Si está ejecutando Nitter con systemd, puede verificar la salida estándar de esta manera: journalctl -u nitter.service
(agregue --follow
para ver solo las últimas 15 líneas). Si está ejecutando la imagen de Docker, puede hacer esto: docker logs --follow *nitter container id*
No dudes en unirte a nuestro canal Matrix. Puedes enviarme un correo electrónico a [email protected] si deseas contactarme personalmente.