webify - コマンドの入出力をWebで行う
CUIとWebの間には大きな壁があります。たとえばWebアプリケーションを使えば、サーバサイドのコマンドを使うこともできるでしょう。しかし、そのために実行環境を作ったり、Webアプリケーションを立てるのはとても面倒です。 そこで使ってみたいのがwebifyです。ちょっとしたコマンドをブラウザから実行できます。
webifyの使い方
たとえば文字数をカウントするコマンド wc を指定します。
webify wc -c
そしてここにブラウザ(ここではcurlコマンド)からアクセスします。データとして文字列を渡すと、その結果が返ってきます。
$ curl -d 'This is a really long sentence' http://localhost:8080
30
同様にgrepで実行してみます。
$ webify grep 'Test'
2020/09/03 14:25:46 listening on :8080, proxying to grep Test
2020/09/03 14:25:50 error running subprocess: <nil>
マッチした場合、その文字が返ってくるAPIサーバになりました。
$ curl -d 'This' http://localhost:8080
$ curl -d 'Test' http://localhost:8080
Test
webifyはデータを指定すると、それが標準出力としてコマンドに送られます。そして、そのコマンドでは結果を標準出力すると、HTTPアクセスの結果になります。シンプルですので、アイデア次第でおもしろい使い方が見つかりそうです。
webifyはGo製のオープンソース・ソフトウェア(MIT License)です。