根据法律建议,Nitter 项目将继续运营
摘要
Nitter 项目宣布,在收到 X Corp 要求下架其开源 Twitter/X 替代前端的停止函后,将根据法律建议继续运营。
查看缓存全文
缓存时间: 2026/09/06 20:43
zedeus/nitter 源码:https://github.com/zedeus/nitter
Nitter
2026 年 8 月 24 日,X Corp. 发出了停止令函,要求永久关闭所有 Nitter 实例并下架项目仓库。
更新: 经法律咨询后,Nitter 项目将继续运营。更多详情将很快公布。一个专注于隐私与性能的免费开源 Twitter 替代前端。
灵感来源于 Invidious(https://github.com/iv-org/invidious)项目。
测试矩阵(https://github.com/zedeus/nitter/actions/workflows/run-tests.yml)测试矩阵(https://github.com/zedeus/nitter/actions/workflows/build-docker.yml)许可证
功能特性
- 无需 JavaScript
- 零广告
- 所有请求均通过后端转发,客户端不会直接与 Twitter 通信
- 阻止 Twitter 追踪你的 IP 或 JavaScript 指纹
- 使用 Twitter 的非官方 API(无需开发者账号)
- 轻量(以 @nim_lang(https://nitter.net/nim_lang)为例,60KB,而 twitter.com 为 784KB)
- RSS 订阅(因实例而异,常因滥用而禁用)
- 主题
- 移动端支持(响应式设计)
- 采用 AGPLv3 许可证,禁止搭建专有实例
路线图
嵌入功能(参见 https://github.com/zedeus/nitter/wiki/Embeds-guide)- 支持时间线的账号系统
- 推文/个人资料存档
捐赠
GitHub Sponsors(https://github.com/sponsors/zedeus) Patreon(https://patreon.com/nitter) Liberapay(https://liberapay.com/zedeus) Ko-fi(https://ko-fi.com/zedeus)
BTC: bc1qpqpzjkcpgluhzf7x9yqe7jfe8gpfm5v08mdr55 ETH: 0x24a0DB59A923B588c7A5EBd0dBDFDD1bCe9c4460 XMR: 42hKayRoEAw4D6G6t8mQHPJHQcXqofjFuVfavqKeNMNUZfeJLJAcNU19i1bGdDvcdN6romiSscWGWJCczFLe9RFhM3d1zpL SOL: FF5bheiD5AqPEdc3eyjymJ8AoMRF1hS78Ht6FiSZZF1t $Nitter: 4fSxCKc91ELQYVdv3tmHW8R15KoALPwEngyoQe1Xpump ZEC: u1vndfqtzyy6qkzhkapxelel7ams38wmfeccu3fdpy2wkuc4erxyjm8ncjhnyg747x6t0kf0faqhh2hxyplgaum08d2wnj4n7cyu9s6zhxkqw2aef4hgd4s6vh5hpqvfken98rg80kgtgn64ff70djy7s8f839z00hwhuzlcggvefhdlyszkvwy3c7yw623vw3rvar6q6evd3xcvveypt
资源
Wiki 中维护了由社区贡献的实例列表(https://github.com/zedeus/nitter/wiki/Instances)和浏览器扩展(https://github.com/zedeus/nitter/wiki/Extensions)。
为什么选择 Nitter?
不启用 JavaScript 就无法使用 Twitter,而且从 2024 年起还需要注册账号。对于注重隐私的用户来说,阻止 JavaScript 分析和基于 IP 的追踪非常重要,但除了使用 VPN 和 uBlock/uMatrix 之外,几乎别无他法。即使使用了 VPN 和强力广告拦截器,你的浏览器指纹仍然可能被精准追踪(https://restoreprivacy.com/browser-fingerprinting/),而且无需 JavaScript(https://noscriptfingerprint.com/)。
在 Twitter 取消用户控制其数据是否发送给广告商的选项(https://www.eff.org/deeplinks/2020/04/twitter-removes-privacy-option-and-shows-why-we-need-strong-privacy-laws)之后,这一点变得尤为重要。
通过使用 Nitter 实例(例如托管在 VPS 上),你可以在不启用 JavaScript 的情况下浏览 Twitter,同时保护自己的隐私。除了尊重你的隐私外,Nitter 平均比 Twitter 轻约 15 倍,而且在大多数情况下页面加载更快(例如时间线加载速度快 2–4 倍)。未来还将添加一个简单的账号系统,让你能够关注 Twitter 用户,从而无需 Twitter 账号也能拥有干净的时间线。
截图
nitter
安装
依赖
- libpcre
- libsass
- redis/valkey
要编译 Nitter,你需要安装 Nim,详情请见 nim-lang.org(https://nim-lang.org/install.html)。你可以进行全局安装,或者在下方创建的用户目录中安装。
要编译 scss 文件,你需要安装 libsass。在 Ubuntu 和 Debian 上,可以使用 libsass-dev。
Redis 用于缓存,未来还将用于账号信息。自 2024 年起,Redis 不再开源,因此建议使用其分支 Valkey。在大多数发行版中,它通常以 redis 或 redis-server(Ubuntu/Debian)的形式提供,或者以 valkey/valkey-server 的形式提供。使用默认配置运行即可,Nitter 的默认配置已设置为使用默认端口和 localhost。
以下是如何创建 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 或使用下方的 systemd 服务来运行 Nitter。
出于安全和性能考虑,你应该在反向代理后运行 Nitter,例如 Nginx(https://github.com/zedeus/nitter/wiki/Nginx)或 Apache(https://github.com/zedeus/nitter/wiki/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(https://raw.githubusercontent.com/zedeus/nitter/master/nitter.example.conf)并另存为 nitter.conf。
要在 Docker 中构建并运行 Nitter:
docker build -t nitter:latest .
docker run -v $(pwd)/nitter.conf:/src/nitter.conf -d --network host nitter:latest
同样提供了预构建的 Docker 镜像:
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: Are you trying to mount a directory onto a file 而报错。删除该目录,然后按照上面的说明创建文件。
systemd
要通过 systemd 运行 Nitter,可以使用以下服务文件:
[Unit]
Description=Nitter(Twitter 替代前端)
After=syslog.target
After=network.target
[Service]
Type=simple
# 设置用户和组
User=nitter
Group=nitter
# 配置路径
WorkingDirectory=/home/nitter/nitter
ExecStart=/home/nitter/nitter/nitter
Restart=always
RestartSec=15
[Install]
WantedBy=multi-user.target
然后启用并运行该服务:
systemctl enable --now nitter.service
日志
Nitter 目前会将部分错误输出到 stdout,尚未实现真正的日志功能。如果你通过 systemd 运行 Nitter,可以按如下方式查看 stdout:
journalctl -u nitter.service(添加 --follow 可查看最新的 15 行)。
如果你运行的是 Docker 镜像,可以执行:
docker logs --follow *nitter 容器 id*
联系方式
欢迎加入我们的 Matrix 频道(https://matrix.to/#/#nitter:matrix.org)。如果你想私下联系我,可以发邮件至 [email protected]。如需法律咨询或提交 DMCA 请求,请联系 [email protected]
相似文章
Nitter 项目收到停止并终止令
Nitter 项目,一个注重隐私的开源Twitter替代方案,收到了停止并终止令,这可能影响其开发和可用性。
XCancel 和 Nitter 收到来自 XCorp 的停止和终止函
XCancel 和 Nitter 已收到来自 X Corp. 的停止和终止函,导致其服务暂停,同时它们正在寻求法律建议。
zedeus/nitter
Nitter 是一个专注于隐私和性能的免费开源替代 Twitter 前端,能防止追踪并保持轻量化。
新 Twitter 上线,称马斯克的 X 放弃了该名称
一个名为 twitter.now 的新社交媒体平台已上线,由 Operation Bluebird, Inc. 运营,该公司声称已从 X Corp 获得该名称,并配备一个基于 Gemini 构建的 AI 事实核查工具 Vera,用于实时分析推文。
互联网博客文章查询
本文以X对Nitter采取法律行动为例,探讨了互联网上封闭API和围墙花园的问题,并倡导采用atproto和activitypub等开放协议,以促进去中心化社交网络的发展。