PCから 他のPCへ ファイルを転送するコマンドラインツール「magic-wormhole」の紹介です。

ファイルを他のコンピューターに送信といえば、どのような方法が考えられるでしょうか?

- 圧縮してメールに添付
- USBメモリからの転送
- クラウドサービスを通じて
- 社内であれば共有サーバーにアップロード
...

 考えれば上記の他にも 沢山の方法がありそうですが、
もっと手軽にファイルを送信出来るCLIツールが「magic-wormhole」です。
 

magic-wormholeで出来ること

PCから他のPC ( 1: 1 ) へ ファイルやテキストの送信が出来る

* wormhole の使用イメージ図
( コンピューター同士を繋ぎ、 1:1 でファイルの送信ができる )


magic-wormholeの入手

 magic-wormholeはPythonで作られたCLIツールなので、
コマンドライン上から' pip 'コマンドを使ってインストールします。

# pip コマンドを使ってインストール
pip install magic-wormhole 
# pip3 install magic-wormhole


 幾つか依存しているパッケージもあるので、
各Linuxディストリビューションに合ったパッケージのインストールが必要です。

# 依存パッケージ ( ubuntu )
apt-get install python-pip build-essential python-dev libffi-dev libssl-dev
# 依存パッケージ ( Fedora )
dnf install python-pip python-devel libffi-devel openssl-devel gcc-c++ libtool redhat-rpm-config


Macを使っている人なら、' brew ' コマンドを使ってインストールすることも出来ます。

# Mac OS のhomebrewコマンドでインストールする場合
brew install magic-wormhole


正しくインストールされると ' wormhole ' コマンドが使えるようになります。
 

magic-wormholeの使い方

 magic-wormholeは " ファイルを送る側のホスト "、
" ファイルを受け取るクライアント "
この2つの関係で動作 ( ファイルの受け渡し )します ... が使い方はとても簡単です。

 ファイルを送るホスト側が ' wormhole send 転送するファイル名 ' コマンドを実行すると、
ダウンロード用のToken( code )がその場で発行され、待受状態が始まります。

' send ' コマンドを使った時のホスト側のイメージ

* ' testFile.md ' というファイルを転送してみました 
( ' 755546-document-dwelling ' が Token ( code ) )


ホストがファイルを送る 待受状態になれば、次は受取側です。

 ' whormhole receive ' コマンドを実行すると Token ( code ) 入力が求めら、
ホスト側が発行したToken ( code )を入力するとファイルの転送が開始されます。
( * ファイルのダウンロードが完了すると、ホスト側の待受状態が自動的に終了、発行されたcodeも破棄されます )

* ' wormhole recieve ' コマンドを実行して、ホストが転送したファイルを受け取りました 

# wormholeに用意されているコマンド
wormhole send FILE # 送信 : ファイル、ディレクトリの送信も可能
wormhole receive # ファイル or ディレクトリの受取
wormhole ssh # SSHおパブリックkeyを使う場合

# --textオプションをつければ テキストだけを送信することも可能です
wormhole send --text メッセージ # 受信側からは文字列を受信(*この場合は'メッセージ')


* 実際に magic-wormhole を使った動画 ( * 左が送信側、右が受け取り側 )

( * 上の動画では Mac OSの同一コンピューター上、 LAN内でファイルの送信していますが、
 リモートサーバー上( Mac -> Ubuntu ) 、
 その他、 スマホ回線のテザリング環境 [ Mac -> Mac(テザリング) ] でも問題なく使用できました )

 

Summary

以上が magic-wormhole の紹介でした。

 " ○○ファイルを -> ○○に " と言った 1 to 1 の 明確な送信先が決まっている場合に
確実に 届けることが出来るので
共有したくない ファイルやテキストを送信したい時に使うと 効果が発揮されそうです。

また、専用サーバー、専用クライアントが必要ないのも便利なところですね。

GitHub : warner/magic-wormhole

 

この記事のカテゴリ

プログラミング

この記事のタグ

サーバー関連 , Python

Socialシェアボタン

スポンサーリンク