ユーザ用ツール

サイト用ツール


サイドバー

最新の10件
一覧
webapp:nitter

Nitter

セルフホスト中

nitter用アカウントの用意

$ sudo groupadd nitter
$ sudo useradd -m -g nitter nitter
$ sudo -iu nitter

Nimの用意

$ wget https://nim-lang.org/download/nim-1.6.6-linux_x64.tar.xz https://nim-lang.org/download/nim-1.6.6-linux_x64.tar.xz.sha256
$ sha256sum -c nim-1.6.6-linux_x64.tar.xz.sha256
nim-1.6.6-linux_x64.tar.xz: OK
$ xzcat nim-1.6.6-linux_x64.tar.xz | tar xf -
$ PATH=~/nim-1.6.6/bin:$PATH
$ nim -v
Nim Compiler Version 1.6.6 [Linux: amd64]
Compiled at 2022-05-05
Copyright (c) 2006-2021 by Andreas Rumpf

git hash: 0565a70eab02122ce278b98181c7d1170870865c
active boot switches: -d:release

Nitter build

$ git clone https://github.com/zedeus/nitter
$ cd nitter
$ nimble build -d:release
$ nimble scss
$ vi public/md/about.md
$ nimble md
$ cp nitter.example.conf nitter.conf
$ ps -ef | grep -i redis
redis      848     1  0 Jun26 ?        00:00:50 /usr/bin/redis-server 127.0.0.1:6379
nitter   14237 16126  0 03:02 pts/2    00:00:00 grep -i redis
$ ./nitter &
$ w3m http://localhost:8080/
$ kill %1

systemd service

  • /etc/systemd/system/nitter.service
[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
$ sudo systemctl enable --now nitter.service
$ systemctl status nitter
● nitter.service - Nitter (An alternative Twitter front-end)
   Loaded: loaded (/etc/systemd/system/nitter.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2021-02-17 01:13:07 JST; 34s ago
 Main PID: 19702 (nitter)
    Tasks: 1 (limit: 4696)
   Memory: 3.6M
   CGroup: /system.slice/nitter.service
           └─19702 /home/nitter/nitter/nitter
$ w3m http://localhost:8080/

apache httpd setting

$ sudo certbot certonly -d nitter.matoken.org
  • /etc/apache2/sites-available/nitter.matoken.org.conf
<VirtualHost *:80>
        ServerName nitter.matoken.org
        Redirect permanent / https://nitter.matoken.org/
</VirtualHost>
<IfModule mod_ssl.c>
<VirtualHost *:443>
        ServerName nitter.matoken.org
        ServerAdmin webmaster@matoken.org

        <Proxy *>
                Order deny,allow
                Allow from all
        </Proxy>

        ProxyPreserveHost On
        ProxyPass / http://127.0.0.1:8080/ nocanon
        ProxyPassReverse / http://127.0.0.1:8080/
        AllowEncodedSlashes On

        ErrorLog ${APACHE_LOG_DIR}/error.nitter.matoken.org.log
        CustomLog ${APACHE_LOG_DIR}/access.nitter.matoken.org.log combined

        SSLCertificateFile /etc/letsencrypt/live/nitter.matoken.org/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/nitter.matoken.org/privkey.pem

</VirtualHost>
</IfModule>
$ sudo a2ensite nitter.matoken.org.conf
$ sudo apache2ctl configtest
$ sudo systemctl reload apache2

nitter upgrade

$ sudo su - nitter
$ cd ~/nitter
$ git pull
$ export PATH=~/nim-1.6.6/bin:${PATH}
$ nim -v
$ nimble build -d:release
$ nimble scss
$ nimble md
$ diff -u ./nitter.example.conf ./nitter.conf
$ exit
$ sudo service nitter restart

利用例

無限読み込み

※要JavaScript

Nitter ページの右上の⚙から設定画面に遷移して,「Infinite scrolling (experimental, requires JavaScript)」をOnにする.

複数ユーザのタイムラインを取得したい(カンマ区切り)

カンマ区切りでアカウントを複数指定できる.

https://nitter.matoken.org/JAXA_jp,jaxa_aero,ISAS_JAXA,TKSC_JAXA,tnsc_JAXA,JAXA_Kakuda

RSS も

https://nitter.matoken.org/JAXA_jp,jaxa_aero,ISAS_JAXA,TKSC_JAXA,tnsc_JAXA,JAXA_Kakuda/rss

URL の長さに制限があるのであまり沢山のユーザは指定できない.

複数ユーザのタイムラインを取得したい(twitter list)

購読したいユーザをTwitter アカウントの公開リストに登録してそのリストをNitter に指定して読み込む

https://nitter.matoken.org/i/lists/1640656683142889472

RSS も

https://nitter.matoken.org/i/lists/1640656683142889472/rss

問題

一部のユーザのコンテンツが取得できない

※解決済.未だ起こる場合はNitterを最新にする.

https://nitter.matoken.org/matoken1 にアクセスするとコンテンツが空. https://nitter.matoken.org/matoken1/search だと見えるのでそれで一応しのげる.

RedisやNitterを再起動したり,Nitterを最新にしたりしても変わらない.

ISSUEにそれらしいものが.

Twitterがドイツのインスタンスに対してアクセス制限をかけている?ドイツのVPSでホストしているのでこれのよう.

試しに日本のVPSでhttp_proxyを立ててNitterをそちら経由にすると見えるようになった,しかし当たり前だが反応が悪くなった. proxyを外す.

何故か https://nitter.matoken.org/matoken1 でコンテンツが取得できるようになった…….

url

コメント

コメントを入力. Wiki文法が有効です:
   ___    __ __ ______   ___    ____
  / _ \  / // //_  __/  / _ )  /  _/
 / , _/ / _  /  / /    / _  | _/ /  
/_/|_| /_//_/  /_/    /____/ /___/
 
webapp/nitter.txt · 最終更新: 2023/04/18 01:23 by matoken