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

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

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.

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

Avatar for Kenichiro MATOHARA

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