Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

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

Kenichiro MATOHARA

November 28, 2020
Tweet

More Decks by Kenichiro MATOHARA

Other Decks in Technology

Transcript

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

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

    Google+(一般向け)が死ぬ またTwitterを使い始めたらBANされる 新しいアカウント取得 < イマココ Twitterは主にキーワード検索をしている ActivityPubに移行したいけど情報検索はTwitterが便利 4 / 26
  3. / 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
  4. / 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
  5. / そもそも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
  6. / 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
  7. / 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
  8. / 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
  9. / 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