LoginSignup
140
68

More than 1 year has passed since last update.

あの最強ハッカー「ウォールナット」の七つ道具の一つ「Internet Automatic Search Program」がGithubで公開されている件

Last updated at Posted at 2022-08-16

ウォールナットって?

リコリス・リコイル(以下、リコリコ)というアニメに出てくる金髪ロリ美少女最強ハッカーです。
本名はクルミちゃんといいます。
image.png

Internet Automatic Search Programって?

そんな超絶かわいい個人的最推しキャラのクルミちゃんが第7話で見せた七つ道具の一つがInternet Automatic Search Programです。
インターネッツの海から一瞬で目当てのものを自動検索してくれるプログラムみたいですね。
検索しても出てこない情報を探せるのだとか。ダークウェブっぽくてハッカー感ありますね

余談

ダークウェブって呼び方よりもウラインターネットとかのほうがしっくりくるのは私だけでしょうか(エグゼ世代)

プログラム考察

私はアニメに出てくるソースコードは読んでしまう病に罹っているので即一時停止して舐め回すように見てみました。
眺めてみるとJavascriptっぽいし、WebクローラーっぽいのでNode.jsかな?とか考察しました。
これはアニメ制作お得意のどっかのソースコードを丸っと持ってきたパターンか?

コードを探す

以下ツイート画像を見るとわかるように、最後の方にコメントがありますね。
これを私の七つ道具の一つである「Google.com」にかけます。

するとGithubのあるRepositoryがヒットしました。
それがこちら

この部分が一致

function prependListener(emitter, event, fn) {
  // Sadly this is not cacheable as some libraries bundle their own
  // event emitter implementation with them.
  if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn); // This is a hack to make sure that our error handler is attached before any
  // userland ones.  NEVER DO THIS. This is here only because this code needs
  // to continue to work with older versions of Node.js that do not include
  // the prependListener() method. The goal is to eventually remove this hack.

  if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];
}

どうやらNode.jsのstreamモジュールですね。

さすが美少女天才ハッカー。
Node.jsのモジュールをその場で実装してしまうとは。

リコリコ宣伝

そんな超絶美少女ロリハッカーのクルミちゃんが活躍するアニメ、リコリス・リコイルは、毎週土曜日23:30から放送中です。
Qiitaユーザなら絶対見ましょう。

こういう動画を作るくらいにはハマってます。

140
68
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
140
68