🧊

dimdenGD/OldTweetDeckのコードを読む

知る人ぞ知る、いま話題のブラウザ拡張であるアレ。

dimdenGD/OldTweetDeck: Returns old TweetDeck, for free!

これなに

  • 先日ついに無課金では使えなくなってしまったTweetDeckが、なんとまた使えるようになる
  • Chrome(Chromium系)とFirefoxで利用できる拡張機能
  • ただし新TweetDeck(X Pro)ではなく、旧TweetDeckのほう
  • もちろんフリーなアカウントでもOK

という、そんなことが本当に可能なのか?!ってなるやつ。でも可能なのである。少なくとも今は。

ざっくり仕組み

ブラウザの拡張なので、許可さえ与えれば基本的にはなんでもできる。

  • tweetdeck.comへのアクセスをフックして、拡張機能が動く
  • 拡張の中身としては、
    • 本来のページ(課金してね的なやつ)をまるごと消し去る
    • 代わりに、古き良きTweetDeckのあの頃のHTML/CSS/JSを埋め込む
  • 一部Cookieのやり取りやセキュリティ系ヘッダの差し替えも

という感じ。 この作者は旧TweetDeckのコードをたまたま手元にアーカイブしてたらしく、それを当時のまま使えてるとのこと。

拡張から読み出されるこの旧コードも、全部GitHubに上がってるので、不安があるならそのコードを読めばよいという。

そういうわけで、

  • あなたのブラウザから
    • 拡張機能を経由して
  • あなたのアクセストークン(Cookie)を使い
  • Twitter(X)社のAPIを叩いて
  • 画面が表示される

ので、そういう意味での心配はない。

ただ、

  • いつ使えなくなるかはもちろん不明
  • 旧TweetDeck専用のAPIがあれば、すぐダメになるかもしれない
  • そこに対して誰がアクセスしてたかってことは、ログに残っちゃうはず

というところだけが自己責任という感じ。

おまけ

せっかくの機会なので、この旧TweetDeckのコードを読んでみよう!(拡張の作者を疑ってるわけではなく、単に気になったので)

・・・と一瞬思ったけど、webpackでバンドルされてるしミニファイされてるコードしかないので、まあ薄目でちょっとだけ。 本体のコードはこの状態で46000行もあったので、入社するわけでもないしちゃんと読むのは諦めた。

https://github.com/dimdenGD/OldTweetDeck/blob/v2.0.2/files

ライセンスコメントをざっと見た感じの顔ぶれ。

ポリフィルのあたりに時代を感じる。jQuery + Flightではじまって、React化が進めてたって感じか。 ただ見た感じ、Reactよりも古な感じのコードがほとんどだった。移行しようとしてたけど、新TweetDeckのほうにリソースを割くことになり・・みたいな経緯と予想。

どうでもいいけど、個人的なUXとしては、旧TweetDeckのほうが圧倒的にサクサク動いてて好きやった。Reactで書かれててメンテしやすいかもしれないが、悲しくも動作がもっさりしてた新TweetDeckより。