法的助言を受け、Nitterプロジェクトは継続へ
Following legal advice, the Nitter project will continue (github.com)
要約
プライバシーとパフォーマンスに焦点を当てたオープンソースのTwitterフロントエンドであるNitterプロジェクトは、X Corp.(旧Twitter)からサービス停止を求める法的通知を受けましたが、法的助言に基づきプロジェクトを継続することを発表しました。詳細は後日公開される予定です。
全文翻訳
Nitter
注記
2026年8月24日、X Corp.からNitterインスタンスおよびプロジェクトのリポジトリの恒久的な停止を求める差止請求書が送付されました。
更新 2026年10月10日: 資金調達と法的支援を求めています。詳細はnitter.netをご覧ください。
プライバシーとパフォーマンスに焦点を当てた、無料のオープンソースな代替Twitterフロントエンドです。
Invidiousプロジェクトに触発されています。
[画像: Test Matrix] [画像: Test Matrix] [画像: License]
特徴
- JavaScriptは不要
- 広告ゼロ
- 全ての通信はバックエンドを経由し、クライアントはTwitterと直接通信しない
- TwitterによるIPアドレスやJavaScriptフィンガープリントでの追跡を防止
- Twitterの非公式APIを使用(開発者アカウント不要)
- 軽量(@nim_langの場合、60KB vs twitter.comの784KB)
- RSSフィード(インスタンス固有、しばしば悪用のため無効化される)
- テーマ
- モバイルサポート(レスポンシブデザイン)
- AGPLv3ライセンス、プロプライエタリなインスタンスは許可されない
ロードマップ
埋め込み(https://github.com/zedeus/nitter/wiki/Embeds-guideを参照)- タイムラインサポート付きアカウントシステム
寄付
[画像: GitHub Sponsors] [画像: Patreon] [画像: Liberapay] [画像: Ko-fi]
BTC: bc1qpqpzjkcpgluhzf7x9yqe7jfe8gpfm5v08mdr55
ETH: 0x24a0DB59A923B588c7A5EBd0dBDFDD1bCe9c4460
XMR: 42hKayRoEAw4D6G6t8mQHPJHQcXqofjFuVfavqKeNMNUZfeJLJAcNU19i1bGdDvcdN6romiSscWGWJCczFLe9RFhM3d1zpL
SOL: FF5bheiD5AqPEdc3eyjymJ8AoMRF1hS78Ht6FiSZZF1t
$Nitter: 4fSxCKc91ELQYVdv3tmHW8R15KoALPwEngyoQe1Xpump
ZEC: u1vndfqtzyy6qkzhkapxelel7ams38wmfeccu3fdpy2wkuc4erxyjm8ncjhnyg747x6t0kf0faqhh2hxyplgaum08d2wnj4n7cyu9s6zhxkqw2aef4hgd4s6vh5hpqvfken98rg80kgtgn64ff70djy7s8f839z00hwhuzlcggvefhdlyszkvwy3c7yw623vw3rvar6q6evd3xcvveypt
リソース
Wikiには、コミュニティによって維持されているインスタンスのリストとブラウザ拡張機能が含まれています。
なぜ?
JavaScriptを有効にせずにTwitterを使用することは不可能であり、2024年現在、サインアップが必要です。プライバシーを気にする人々にとって、JavaScriptアナリティクスやIPベースの追跡を防ぐことは重要ですが、VPNとuBlock/uMatrixを使用しても、それは不可能です。VPNを使用し、ヘビーデューティーな広告ブロッカーを使用しても、ブラウザのフィンガープリントで正確に追跡される可能性があり、これはJavaScriptなしで可能です。これら全ては、Twitterがユーザーが広告主にデータを送信するかどうかを制御する能力を削除した後、特に重要になりました。
Nitterのインスタンス(例えばVPSにホストされたもの)を使用することで、プライバシーを維持しながらJavaScriptなしでTwitterを閲覧できます。プライバシーを尊重するだけでなく、Nitterは平均してTwitterの約15倍軽量であり、ほとんどの場合、ページをより高速に表示します(例: タイムラインの読み込みが2〜4倍高速)。
将来的には、Twitterユーザーをフォローできるシンプルなアカウントシステムが追加され、Twitterアカウントなしでクリーンな時系列タイムラインを持つことができるようになります。
スクリーンショット
インストール
依存関係
- libpcre
- libsass
- redis/valkey
NitterをコンパイルするにはNimのインストールが必要です。詳細はnim-lang.orgを参照してください。システム全体または作成したユーザーディレクトリ以下にインストールすることが可能です。
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-server)を実行します。Nitterは./nitterを実行するか、以下のsystemdサービスを使用して実行します。セキュリティとパフォーマンスの理由から、NginxやApacheのようなリバースプロキシの背後でNitterを実行する必要があります。
Docker
Dockerイメージのページ: https://hub.docker.com/r/zedeus/nitter
注記: 公開されているイメージはマルチアーキテクチャです — zedeus/nitter:latestはamd64とarm64の両方でネイティブに実行されます。
NitterをDockerで実行するには、コンテナを実行する前にRedisを別途インストールして実行する必要があります。RedisをDockerで実行する方法については、以下を参照してください。
まず、設定ファイルを作成します。Dockerコマンドはこれをコンテナ内にマウントするため、事前にホスト上に存在している必要があります。リポジトリをクローンした場合:
cp nitter.example.conf nitter.conf
ローカルクローンなしでプリビルドイメージを使用している場合は、nitter.example.confをダウンロードし、代わりにnitter.confとして保存してください。
NitterをDockerでビルドして実行するには:
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
NitterとRedisの両方を異なるコンテナとして実行するためにdocker-composeを使用する場合: 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 (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でNitterを実行している場合、標準出力は次のように確認できます: journalctl -u nitter.service(最後の15行のみを表示するには--followを追加)。Dockerイメージを実行している場合は、次のようにできます: docker logs --follow *nitter container id*
連絡先
お気軽にMatrixチャンネルにご参加ください。個人的に連絡を取りたい場合は、zedeus@pm.meまでメールでお問い合わせください。