オープンソース
法的助言を受け、Nitterプロジェクトは継続へ
Following legal advice, the Nitter project will continue (github.com)
要約
プライバシーとパフォーマンスに焦点を当てたオープンソースのTwitterフロントエンドであるNitterプロジェクトは、X Corp.(旧Twitter)からサービス停止を求める法的通知を受けましたが、法的助言に基づきプロジェクトを継続することを発表しました。詳細は後日公開される予定です。
全文翻訳
Nitter Note
2026年8月24日、X Corp.はNitterインスタンスおよびプロジェクトのリポジトリの恒久的な停止を求める差止請求書を送付しました。
UPDATE: 法的助言を受け、Nitterプロジェクトは継続します。詳細は近日中に発表されます。
プライバシーとパフォーマンスに焦点を当てた、無料のオープンソースの代替Twitterフロントエンドです。Invidiousプロジェクトに触発されています。
特徴
JavaScriptは不要
広告なし
すべてのリクエストはバックエンドを経由し、クライアントはTwitterと直接通信しません
TwitterによるIPアドレスやJavaScriptフィンガープリントの追跡を防ぎます
Twitterの非公式APIを使用します(開発者アカウントは不要)
軽量(@nim_langの場合、60KB vs twitter.comの784KB)
RSSフィード(インスタンス固有、悪用のため無効化されることが多い)
テーマ
モバイルサポート(レスポンシブデザイン)
AGPLv3ライセンス、プロプライエタリなインスタンスは許可されません
ロードマップ
埋め込み(https://github.com/zedeus/nitter/wiki/Embeds-guide を参照)
タイムラインサポート付きアカウントシステム
ツイート/プロフィールのアーカイブ
寄付
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
ホスト名、ポート、HMACキー、https(Cookieに正しく設定する必要がある)、およびRedis情報をnitter.confに設定してください。
Redisを実行するには、redis-server --daemonize yesを実行するか、systemctl enable --now redis(またはディストリビューションに応じてredis-server)を実行します。
./nitterを実行するか、以下のsystemdサービスを使用してNitterを実行します。
セキュリティとパフォーマンス上の理由から、NginxやApacheなどのリバースプロキシの後ろでNitterを実行することをお勧めします。
Docker
Dockerイメージのページ: https://hub.docker.com/r/zedeus/nitter
注意: 公開されているイメージはマルチアーキテクチャです — zedeus/nitter:latest はamd64とarm64の両方でネイティブに実行されます。
DockerでNitterを実行するには、コンテナを実行する前にRedisを別途インストールして実行する必要があります。RedisをDockerで実行する方法については、以下を参照してください。
まず、設定ファイルを作成します。Dockerコマンドはそれをコンテナ内にマウントするため、事前にホスト上に存在する必要があります。
リポジトリをクローンした場合:
cp nitter.example.conf nitter.conf
ローカルクローンなしでプリビルドイメージを使用している場合、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
NitterとRedisの両方を別々のコンテナとして実行するためにdocker-composeを使用する:
nitter.confでredisHostをlocalhostからnitter-redisに変更し、以下を実行します:
docker-compose up -d
Dockerコマンドは、実行するディレクトリからnitter.conf(およびdocker-composeの場合はsessions.jsonl)をマウントすることに注意してください。マウントされたファイルが存在しない場合、Dockerはサイレントにその場所にディレクトリを作成し、コンテナはディレクトリではありませんというエラーで失敗します:
ディレクトリをファイルにマウントしようとしています。
そのディレクトリを削除し、上記のようにファイルを作成してください。
systemd
Nitterをsystemd経由で実行するには、このサービスファイルを使用できます:
[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までメールでご連絡ください。法的問い合わせおよびDMCAリクエストについては、legal@poast.orgまでご連絡ください。