ブログの名前なんて適当で良いのでは

説明を求めるな、記事を読め

Rust用VirusTotalライブラリを強化したら、VirusTotalに掲載してもらえた話

はじめに

encry1024.hatenablog.com

以前、VirusTotalのRust用ライブラリが見当たらないということで、需要があるかは知らないが軽くモックを作成したという話をブログに投稿した。
今年の4月から新社会人として忙しい日々を送っているわけだが、新入社員研修中だからといって、コードを書く感触を忘れてはならないので、このライブラリをもっとまともに拡張しようと決意した。また、一つの目標としてある程度ちゃんと作って、VirusTotal APIの利用例のところに載せてもらうことを目標にがんばった。(これに関してはまたあとで詳しく記述する)

前回との差分

github.com

対応APIを増やした

以前はモックとして作成しただけなのでURLの検査ぐらいだったが、ファイル、ドメインIPアドレス、コメントなど様々なAPIに対応させた。対応している機能は、GitHubのREADME.mdに書いてある。

ドキュメンテーションを書いた

これに関してはまだ不十分かもしれないが、ドキュメンテーションを作成した。また、小さなexampleも添えたので使い方には困らないと思う。(まぁどれもまったく同じような使い方しかしないので、一回使えば関数名変えればすぐ使えるのでそこまで需要はないかもしれないが)

crates.ioに公開した

前回のはGitHubにあげていただけなので、Cargo.tomlとかに書いて読み込めるようにcrates.ioにアップロードした。この手順は以下のサイトを参考にした。簡潔、明瞭で非常に分かりやすかった。

takatorix.hatenablog.com

これからの課題

まだテストコードを書いていないのと、行き当たりばったりな実装をしているため、レスポンスのjsonのデシリアライズが適当な感じがある。というのも、構造体名とかを適当につけてしまっている。使う人がいるかわからないけど、迷惑がかからないうちに規則の整った名前に一括して変更したいと思う。

VirusTotal API 利用例一覧のところに名前が乗った

実は、この記事を書いているのもこれが嬉しかったから、せっかくだしまとめようと思った次第である。 VirusTotalのページの中で、APIを使って作られた利用例一覧のページが存在する。 support.virustotal.com

f:id:encry1024:20180416213121p:plain そして、ここに自分のライブラリ、そして名前が掲載されたのだ。
見ればわかるが、実はRustのライブラリが今まで一個もなかったのだ。やったね先駆者になれた(極小領域で)

おわりに

実装して、英語で交渉するだけで達成できる感じではあるが、有名なサービスの末端にでも自分の名前が乗ると嬉しいという感情を初めて体験した。OSS等にもまったく貢献していないので、貢献したら自分のコードがマージされた時の嬉しさっていうのはこういう感じなんだろうなぁと思った。
終盤、非常にエモい内容になったが、Rustしか使えないけどVirusTotal使いたいっていう人の役に立てたら幸いです(そんな人おるんか?)