ファイルを共有する仕組みは意外と簡単ではなかったりします。Apple製品同士であればAirDropが使えますが、異なるマシン間において、目の前の相手にデータを送りたいと思うことはよくあります。そして大抵メールになったりします。 今回はインターネットを介してファイルを送信、受信できる‎pad.jsを紹介します。

‎pad.jsの使い方

‎pad.jsが魅力的なのはコンソールで送れることでしょう。認証もいらず、さくっと送れます。

$ curl -F "file=@IMG_3721.jpg" http://127.0.0.1:9090/IMG_3721.jpg

逆に取り出す場合にはwgetでも良いでしょう。URLを指定するだけです。

$ wget http://127.0.0.1:9090/IMG_3721.jpg
--2018-10-15 13:35:40--  http://127.0.0.1:9090/IMG_3721.jpg
127.0.0.1:9090 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 1370110 (1.3M) [image/jpeg]
`IMG_3721.jpg' に保存中

IMG_3721.jpg        100%[===================>]   1.31M  --.-KB/s 時間 0.006s   

2018-10-15 13:35:40 (215 MB/s) - `IMG_3721.jpg' へ保存完了 [1370110/1370110]

サーバ側のログです。

$ ./pad-cli 
pad.js is listening on 9090 port of all network interface(s)
(lo0: http://127.0.0.1:9090, en0: http://192.168.0.28:9090)
"IMG_3721.jpg" SAVED!
"IMG_3721.jpg" SERVED!

‎pad.jsが有名になってくれれば、後は送った時のファイル名だけ相手に伝えればファイルを送受信できるようになります。社内で使ったりするのも便利そうです。常に使うことのないファイル共有サーバであれば、これくらいでも十分ではないでしょうか。

‎pad.jsはnode/JavaScript製のオープンソース・ソフトウェア(MIT License)です。

‎pad.js.org ebraminio/pad.js: Total fancy node.js webserver for transfering files from/to browser console and terminal