zedeus/nitter
效率与系统工具可自托管的 Twitter 替代前端,无需 JavaScript 和账号即可阅读,面向注重隐私的读者与实例运营者。
项目介绍
Nitter 是用 Nim 编写的免费开源 Twitter/X 替代前端,灵感来自 Invidious。所有请求经由后端转发,访客不直接连接 Twitter,因此无需 JavaScript,也不会暴露 IP 或浏览器指纹给平台;页面无广告,体积更小(README 举例称个人主页约 60KB,twitter.com 约 784KB),时间线访问通常也更快。它使用 Twitter 的非官方 API,不需要开发者账号。
README 给出的动机很直接:X 已要求登录才能浏览大量内容,隐私敏感的用户即使挂着 VPN 和广告拦截,仍可能被指纹识别。Nitter 提供的是免账号、按时间顺序的公开账号阅读界面,适合想匿名浏览的读者,以及愿意自己运行实例的运维者。
法律状态
2026 年 8 月 24 日,X Corp. 向 Nitter 实例和仓库发出停止侵权函,要求永久下线。2026 年 10 月 10 日的更新显示维护者正在寻求资金和法律援助,详情见 nitter.net。HN 上有关于停止侵权函和按法律建议恢复服务的讨论。实例可用性和上游 API 访问都应视为不稳定因素。
用 Docker 快速启动
准备:Docker,以及单独运行的 Redis(或 Valkey)。Redis 用于缓存,默认配置监听 localhost 即可;由于 Redis 不再开源,README 推荐 Valkey。
- 下载示例配置(或从仓库复制),保存为
nitter.conf:
cp nitter.example.conf nitter.conf
- 在
nitter.conf中设置主机名、端口、HMAC 密钥、https(必须正确,否则 cookie 失效)和 Redis 连接信息。 - 先启动 Redis,再在当前目录运行容器,配置会从该目录挂载进去:
docker run -v $(pwd)/nitter.conf:/src/nitter.conf -d --network host zedeus/nitter:latest
预构建镜像支持多架构,在 amd64 和 arm64 上原生运行。若想用 Docker 同时跑 Nitter 和 Redis,把 nitter.conf 中的 redisHost 改成 nitter-redis,然后执行 docker-compose up -d。
从源码构建与其他部署方式
构建需要 Nim 工具链、libpcre、libsass 和 Redis/Valkey;Debian/Ubuntu 上安装 libsass-dev 即可。README 给出的顺序是 nimble -l build -d:danger --mm:refc,再执行 nimble -l scss 和 nimble -l md,然后 cp nitter.example.conf nitter.conf,用 ./nitter 启动。建议放在 Nginx 或 Apache 反向代理之后运行,并提供了 systemd 服务文件;日志尚不完善,可用 journalctl -u nitter.service 或 docker logs 查看。
使用约束
Nitter 依赖 Twitter 的非官方 API,接口行为或账号可用性可能随时变化。RSS 按实例提供,常因滥用被关闭。项目采用 AGPLv3,不允许专有实例。cookie 依赖正确的 https 配置。Docker 挂载文件不存在时会静默创建目录并导致 not a directory 报错,需先创建配置文件。使用第三方实例时,内容与可用性由该实例运营者决定。
HotRepo 点评
HotRepo 暂无该仓库的榜单排名记录,但讨论数据很突出:2026 年 8 月的停止侵权函话题获得 1,214 分和 1,352 条评论,9 月的恢复服务话题获得 930 分和 410 条评论。评论中有读者表示,正是通过这类前端才重新接触到 X 上的内容,说明它填补的是具体的阅读入口需求。2021 年的首发讨论(274 分)和 2023 年的恢复讨论(414 分)表明项目是间歇性回到聚光灯下,而非持续增长。它的技术价值在于小而可自托管、无需 JavaScript 的阅读器;主要风险不在代码质量,而在法律压力和上游 API 变化对运营者的影响。
本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。