Hacker News 中文摘要

RSS订阅

遵循法律建议 Nitter 项目将继续运营 -- Following legal advice, the Nitter project will continue

2026年8月24日,X公司(X Corp.)向Nitter项目发出停止并终止函,要求永久移除所有实例和代码仓库;经法律咨询后,项目将继续运营并公布更多细节。Nitter是一个自由开源的推特(Twitter)替代前端,注重隐私与性能,所有请求由后端处理,客户端不直接联系推特,无需JavaScript,零广告。

正文

2026年8月24日,X Corp. 发送了勒令停止函,要求永久关停所有 Nitter 实例以及该项目的代码仓库。

更新: 根据法律建议,Nitter 项目将继续运营,更多细节将很快公布。

Nitter 是一个免费开源的 Twitter 前端替代品,专注于隐私和性能,其灵感来源于 Invidious 项目。

License

功能特性

  • 无需 JavaScript
  • 零广告
  • 所有请求都通过后端转发,客户端不会直接接触 Twitter
  • 阻止 Twitter 追踪你的 IP 或 JavaScript 指纹
  • 使用 Twitter 的非官方 API(无需开发者账号)
  • 轻量级(以 @nim_lang 为例,页面仅 60KB,而 twitter.com 为 784KB)
  • 提供 RSS 订阅源(实例专属,常因滥用而关闭)
  • 支持主题切换
  • 移动端适配(响应式设计)
  • 采用 AGPLv3 协议,不允许存在专有实例

开发路线图

  • ~~嵌入内容支持~~(参见 嵌入指南)
  • 带时间线的账号系统
  • 推文与用户资料归档

捐赠支持

你可以通过以下渠道支持该项目:

GitHub SponsorsPatreonLiberapayKo-fi

BTC: bc1qpqpzjkcpgluhzf7x9yqe7jfe8gpm5v08mdr55

ETH: 0x24a0DB59A923B588c7A5EBd0dBDFDD1bCe9c4460

XMR: 42hKayRoEAw4D6G6t8mQHPJHQcXqofjFuVfavqKeNMNUZfeJLJAcNU19i1bGdDvcdN6romiSscWGWJCczFLe9RFhM3d1zpL

SOL: FF5bheiD5AqPEdc3eyjymJ8AoMRF1hS78Ht6FiSZZF1t

$Nitter: 4fSxCKc91ELQYVdv3tmHW8R15KoALPwEngyoQe1Xpump

ZEC: u1vndfqtzyy6qkzhkapxelel7ams38wmfeccu3fdpy2wkuc4erxyjm8ncjhnyg747x6t0kf0faqhh2hxyplgaum08d2wnj4n7cyu9s6zhxkqw2aef4hgd4s6vh5hpqvfken98rg80kgtgn64ff70djy7s8f839z00hwhuzlcggvefhdlyszkvwy3c7yw623vw3rvar6q6evd3xcvveypt

相关资源

项目 Wiki 中包含了社区维护的实例列表以及浏览器扩展。

为什么需要 Nitter?

如今不使用 JavaScript 根本无法访问 Twitter,而且到了 2024 年还必须注册账号。对于注重隐私的用户来说,阻止 JavaScript 分析和基于 IP 的追踪至关重要,但除了使用 VPN 和 uBlock/uMatrix 之外,没有其他办法。即便开了 VPN 并启用了强力广告拦截器,你的浏览器指纹依然能被精准追踪,且无需 JavaScript。在 Twitter 移除了用户控制数据是否发送给广告商的功能后,这一问题变得更加严重。

使用 Nitter 实例(例如托管在 VPS 上),你可以在不启用 JavaScript 的情况下浏览 Twitter,同时保护隐私。除了尊重隐私,Nitter 的平均体积比 Twitter 轻约 15 倍,而且大多数情况下加载速度更快(例如时间线加载速度快 2-4 倍)。

未来还将加入简单的账号系统,让你能够关注 Twitter 用户,无需 Twitter 账号即可拥有干净的时间线。

截图

nitter 截图

安装指南

依赖项

  • libpcre
  • libsass
  • redis/valkey

编译 Nitter 需要安装 Nim,具体参考 nim-lang.org。你可以选择全局安装,或者安装在下方创建的专属用户目录中。

编译 scss 文件需要安装 libsass,在 Ubuntu 和 Debian 上可以使用 libsass-dev 包。

Redis 用于缓存,未来也将用于存储账号信息。由于 Redis 自 2024 年起不再开源,建议改用其分支 Valkey。大多数发行版中都可以作为 redis、redis-server(Ubuntu/Debian)或 valkey/valkey-server 安装。使用默认配置运行即可,Nitter 的默认配置针对默认端口和本地主机设定。

以下是创建 nitter 用户、克隆仓库并构建项目(包括 scss 和 md 文件)的步骤:

useradd -m nitter

su nitter

$ git clone https://github.com/zedeus/nitter $ cd nitter $ nimble -l build -d:danger --mm:refc $ nimble -l scss $ nimble -l md $ cp nitter.example.conf nitter.conf

在 nitter.conf 中设置主机名、端口、HMAC 密钥、HTTPS(对 Cookie 必须正确)以及 Redis 信息。运行 Redis 可以执行 redis-server --daemonize yes,或者 systemctl enable --now redis(视发行版为 redis 或 redis-server)。运行 Nitter 只需执行 ./nitter,或使用下方的 systemd 服务。出于安全和性能考虑,建议将 Nitter 部署在 Nginx 或 Apache 等反向代理之后。

Docker

Docker 镜像页面:https://hub.docker.com/r/zedeus/nitter

注意: 发布的镜像是多架构的 —— zedeus/nitter:latest 原生支持 amd64 和 arm64。

使用 Docker 运行 Nitter 前,需要先单独安装并运行 Redis。如果想用 Docker 运行 Redis,请参考下文。

首先创建配置文件。Docker 命令会将其挂载到容器中,因此该文件必须预先存在于宿主机上。如果你克隆了仓库:

cp nitter.example.conf nitter.conf

如果你没有克隆仓库而直接使用预构建镜像,请下载 nitter.example.conf 并另存为 nitter.conf。

构建并运行 Nitter:

docker build -t nitter:latest . docker run -v $(pwd)/nitter.conf:/src/nitter.conf -d --network host nitter:latest

也可以使用预构建镜像:

docker run -v $(pwd)/nitter.conf:/src/nitter.conf -d --network host zedeus/nitter:latest

使用 docker-compose 同时运行 Nitter 和 Redis 容器:将 nitter.conf 中的 redisHost 从 localhost 改为 nitter-redis,然后运行:

docker-compose up -d

注意 Docker 命令会从当前目录挂载 nitter.conf(docker-compose 还会挂载 sessions.jsonl)。如果挂载的文件不存在,Docker 会静默创建一个目录,导致容器失败并报错 not a directory。请删除该目录并按上述步骤创建文件。

systemd

要通过 systemd 运行 Nitter,可以使用以下服务文件:

[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

然后启用并运行服务:systemctl enable --now nitter.service

日志

Nitter 目前仅将部分错误打印到标准输出,没有实现真正的日志系统。如果使用 systemd 运行,可以这样查看标准输出:journalctl -u nitter.service(加 --follow 参数可实时查看最后 15 行)。如果运行的是 Docker 镜像,可以使用:docker logs --follow *nitter container id*

联系方式

欢迎加入我们的 Matrix 频道。如需私下联系,可以发邮件至 zedeus@pm.me。

法律咨询和 DMCA 相关请求,请联系 legal@poast.org。

评论

这条讨论围绕“Nitter 因法律建议而继续”展开:多数人先松一口气,随即借机嘲讽 X 只允许自己爬遍全网、却禁止别人碰它的“双标”;少数人则提醒,代码存活不等于没有风险,真正可能吃官司的是那些把实例架起来供人绕过限制的人。

认为 Nitter 是打破 X 信息垄断的必要存在

  • 讽刺 X 自己疯狂抓取公开网络,却对访问它的人严防死守: > X可以扒遍全网,可没人能扒X,真是合理。(@sparkling)
  • 大量关键信息只发布在 X 上,所以 Nitter 这类替代前端仍有现实意义,受到不少用户认可。
  • 有人感叹 Twitter 已成为私人封闭的垄断入口,大家只能苦苦哀求使用,竟没人去认真发展 RSS 这种开放替代;也有评论担心 X 会施压 GitHub 下架仓库,暴露出整个开源生态对巨头平台的深度依赖。

真正危险的是托管实例而不是代码仓库

  • 评论者指出,“项目继续”这句话没有说清保护范围:仓库本身站在合理立场,但托管实例以协助获取未授权访问为目的,很难抗辩。
  • 有人进一步援引法律风险,提醒这种行为可能触犯 CFAA(计算机欺诈与滥用法),相关托管人应自行咨询律师。 > 仓库放着可能没事,真正踩线的是那些架设实例、帮助别人绕开限制的人,他们需要自己找法律意见。(@petcat)

个人与大公司对抗不是讲理,而是拼资源

  • 有过类似经历的人说,接到停终函后,律师给的第一句忠告就是:对方有一支专职律师团队,任务就是让你耗光钱。
  • 也有人认为这只取决于当事人愿不愿意为“这座山头”投入巨量时间与金钱;不少读者预测下一步就是看到 GoFundMe 众筹页面。

有价值的补充

  • Nitter 本身借鉴了替代 YouTube 前端的 Invidious,而那个项目同样冷清;有人期待 AI 编程工具能帮助开源项目更聪明地进入“围墙花园”,并不断应对反制措施。
  • 有评论调侃,如果最后所有和 Twitter 品牌沾边的东西都还在,唯独第三方工具没了,那会相当讽刺。
  • 有人观察到 X 与 Bluesky 的对立正变成某种“红蓝分裂”,夹在中间的是只想正常获取信息的普通用户。