Save 37% off PRO during our Black Friday Sale! »

Twitterをちっちゃいリソースで

 Twitterをちっちゃいリソースで

E567a535ddc7964130dd086f147a7682?s=128

Kenichiro MATOHARA

November 28, 2020
Tweet

Transcript

  1. / Twitterをちっちゃ Twitterをちっちゃ いリソースで いリソースで Kenichiro Matohara 1 / 26

  2. / 南隅から参加(鹿児島の右下) 好きなLinuxディストリビューションはDebian 鹿児島Linux User Group発起人 Kenichiro Matohara(matoken) Kenichiro Matohara(matoken)

    https://matoken.org https://matoken.org 2 / 26
  3. / 鹿児島Linux勉強会 2020.11@オー 鹿児島Linux勉強会 2020.11@オー プンソースカンファレンス福岡 プンソースカンファレンス福岡 (オンライン開催) 「Twitterを (オンライン開催)

    「Twitterを ちっちゃいリソースで-軽量 ちっちゃいリソースで-軽量 TwitterフロントエンドNitterの紹 TwitterフロントエンドNitterの紹 介-」 介-」 3 / 26
  4. / micro blogの利用 micro blogの利用 2007年04月頃Twitterに参加 StatusNetをホストしてみたり GNU Socialをホストしてみたり Twitter凍結を経験してからGoogle+とOStatusをメインに

    Google+(一般向け)が死ぬ またTwitterを使い始めたらBANされる 新しいアカウント取得 < イマココ Twitterは主にキーワード検索をしている ActivityPubに移行したいけど情報検索はTwitterが便利 4 / 26
  5. / Twitterの閲覧 Twitterの閲覧 太古 Adobe Air製 Tweetdeck → Adobe Airが死んだ

    少し前 Mikutter 現在はTwitter API Keyの設定が必要 アカウントがTwitterからBAN → 新しいアカウントでAPI Key申 請 → 却下 最近 こんな感じでChromiumでTwitter専用プロファイルを用意して Tweetdeckを利用 chromium --user-data-dir=$HOME/.config/chromium/Protile_Tweetdeck \ --app=https://tweetdeck.twitter.com/ 5 / 26
  6. / Tweetdeck Tweetdeck 検索やリストで複数タブで時系列にTweetが並び広告も表示され無 くて便利 いつもはそんなに気にならないけどビデオチャット利用時などに よく固まる ビデオチャットと併用は少し辛い メモリ結構食っている 1GB以上!

    タブ10個くらい開いているし? $ pstree 33936 tweetdeck_chrom───chromium─┬─chromium───chromium───14*[{chromium}] ├─chromium───chromium─┬─chromium───9*[{chromium}] │ └─chromium───13*[{chromium}] ├─chromium───6*[{chromium}] ├─chromium───4*[{chromium}] └─22*[{chromium}] $ ps -eo rss,pid,args | grep -i chromium | grep -v grep | awk '{sum += $1} END {print sum}' 1130684 6 / 26
  7. / そもそもChromium自体が重い そもそもChromium自体が重い 初期プロファイルでTwitterを開いただけでも結構メモリを食ってい る 850MB程 $ chromium --user-data-dir=`mktemp -d`

    https://twitter.com/matoken1 & [1] 2777238 $ pstree 2777238 chromium─┬─chromium───chromium───13*[{chromium}] ├─chromium───chromium─┬─chromium───14*[{chromium}] │ └─chromium───9*[{chromium}] ├─chromium───6*[{chromium}] └─27*[{chromium}] $ ps -eo rss,pid,args | grep -i ZkYNg5IODV | grep -v grep | awk '{sum += $1} END {print sum}' 852624 7 / 26
  8. / 軽いウェブブラウザを使う 軽いウェブブラウザを使う Dilloやw3mなどのJavaScript非対応ウェブブラウザでもモバイル版が 利用できる 見た目はちょっとレガシー 2020年12月15日に無くなるらしい? https://mobile.twitter.com/ 従来のバージョンのtwitter.comが表示されていま す。このサイトは15

    12月 2020に閉鎖されます。 サポートされているブラウザまたは端末に切り 替えてください。サポートされているブラウザ のリストについては、ヘルプセンターをご覧く ださい。 8 / 26
  9. / Dillo + mobile Twitter Dillo + mobile Twitter 9

    / 26
  10. / mlterm + w3m + w3m-img mlterm + w3m +

    w3m-img 10 / 26
  11. / Twitter代替フロントエンドの Twitter代替フロントエンドの 「Nitter」を試してみる 「Nitter」を試してみる nim製AGPL-3.0 LicenseのFOSSなTwitter代替フロントエンド Nitterを経由してTwitterを利用 JavaScript不要,軽量,Twitterの追跡をできないように,非公式 API,RSS対応

    モバイル版Twitterよりもリッチな画面で画像やOGPが表示される ※ログインや投稿は出来ない でとりあえず試せる Nitter https://nitter.net/ 11 / 26
  12. / Debian sid(不安定版) amd64での導 Debian sid(不安定版) amd64での導 入例 入例 $

    sudo apt install nim libsass-dev $ git clone github.com/zedeus/nitter && cd nitter $ nimble build -d:release $ nimble scss $ mkdir ./tmp $ ./nitter 12 / 26
  13. / Raspberry Pi OSでの導入例 Raspberry Pi OSでの導入例 ディストリビューションパッケージのnimが古くてbuildできない (nim (>=

    1.2.0)に対して0.19.4) から入手できる nim 1.4 のバイナリを試してみた (snapもある) Raspberry Pi OSでの例 nim公式ページ $ wget https://github.com/nim-lang/nightlies/releases/download/latest-version-1-4/linux_armv7l $ tar tvf linux_armv7l.tar.xz | lv $ sudo tar xf linux_armv7l.tar.xz -C ~/opt/ $ sudo apt install libsass-dev $ git clone github.com/zedeus/nitter && cd nitter $ PATH=~/opt/nim-1.4.1/bin:$PATH nimble build -d:release $ PATH=~/opt/nim-1.4.1/bin:$PATH nimble scss $ mkdir ./tmp $ ./nitter 13 / 26
  14. / Nitter設定と利用 Nitter設定と利用 nitter.conf で設定 ./nitter で起動 既定値では全アドレス8080で受け付ける http://localhost:8080/ 14

    / 26
  15. / その他 その他 Dockerもある ウェブサーバや自動起動設定などはREADME.mdを参照 15 / 26

  16. / ユーザページ(JavaScript off) ユーザページ(JavaScript off) 16 / 26

  17. / 検索(JavaScript off) 検索(JavaScript off) 17 / 26

  18. / mlterm + w3m + w3m-img mlterm + w3m +

    w3m-img 18 / 26
  19. / RSS出力 RSS出力 zepier無料枠で使ったり? ※Twitter,Instagram,Facenook等のRSS化だけなら というも のもある $ curl -s

    'http://localhost:8080/search/rss?f=tweets&q=%23osc20fk+OR+%22OSC%E7%A6%8F%E5%B2%A1% /dev/stdin: XML 1.0 document, UTF-8 Unicode text, with very long lines $ curl -s 'http://localhost:8080/search/rss?f=tweets&q=%23osc20fk+OR+%22OSC%E7%A6%8F%E5%B2%A1% <?xml version="1.0" encoding="UTF-8"?> <rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" vers <channel> <atom:link href="https://nitter.net/search" rel="self" type="application/rss+xml" /> <title>Search results for "#osc20fk OR &quot;OSC福岡&quot; OR &quot;オープンソースカンファレンス <link>https://nitter.net/search</link> <description>Twitter feed for search "#osc20fk OR &quot;OSC福岡&quot; OR &quot;オープンソース <language>en-us</language> <ttl>40</ttl> <item> tweeper 19 / 26
  20. / Nitterメモリ利用量 Nitterメモリ利用量 Nitterだけで16.5MB程( + ウェブブラウザ分も必要) 数時間起動してもあまり増えなかった Nitterメモリ利用量 $ ps

    -eo rss,pid,args | grep -i nitter | grep -v grep 16440 1753314 ./nitter $ pstree 1753314 nitter 20 / 26
  21. / 初期状態のプロファイルでitterを 初期状態のプロファイルでitterを 開いたときのメモリ利用量 開いたときのメモリ利用量 ウェブブラウザ メモリ利用量 Firefox 1657392 w3m

    25868 Dillo 62712 Chromium 801836 21 / 26
  22. / Twitterを自動的にitterへ転送 Twitterを自動的にitterへ転送 幾つかの専用拡張機能がある EFFの でもTwitterURLを自動的にNitterに転送可能 (Firefox, Chrome, Opera) https://twitter.com/

    と https://mobile.twitter.com/ を (や自分の立てたものや )に転送 日常使いのウェブブラウザで便利 Extensions · zedeus/nitter Wiki HTTPS Everywhere https://nitter.net/ 他のインスタンス 22 / 26
  23. / 類似の代替フロントエンド 類似の代替フロントエンド Youtube → ※NitterのInspire元 Instagram → Invidious Bibliogram

    23 / 26
  24. / Invidious Invidious 24 / 26

  25. / Bibliogram Bibliogram 25 / 26

  26. / まとめ まとめ 閲覧だけならNitterは軽いし見た目もリッチで便利 Twitter社の追跡も回避できる 投稿は不可能なので別の手段で 軽量だしVPS等に設置しておくと便利そう ロードマップには埋め込み機能やアカウントのタイムライン機能 もあるので期待 26

    / 26