Webブラウザ で ターミナル を扱える Butterfly を使う

Butterfly

これです。

何ができるか

Webブラウザ で ターミナル の操作ができます。公式ページ をぜひご覧ください。

こんな感じになります(公式サイトの画像より)。

f:id:gregminster:20180308195153p:plain

インストール

インストールは pip で入れるだけです。簡単です。

$ pip install butterfly

起動

起動は butterfly コマンドで一発です。簡単です。ポートは起動する度に変わるので表示されたポートに接続して下さい。

$ butterfly
[W 180308 19:34:05 butterfly.server:378] Butterfly is ready, open your browser to: http://localhost:40979/

サーバとして起動する

buttefly コマンドでの起動は簡易的なものなので、ちゃんとサーバとして起動させたい場合は butterfly.server.py を用います。リポジトリから git clone して持ってきましょう。

$ git clone https://github.com/paradoxxxzero/butterfly.git
$ cd butterfly
$ ./butterfly.server.py

これで 57575 のポートで起動されたことと思います。

サーバとして起動する(オプション設定)

セキュリティの関係上、butterfly.server.py をただ起動するだけですといろいろ制約があります。「HTTPSでないとだめ」「localhost からでないとアクセスできない」などです。

これらを実行時のオプションで解決します。

  • localhost 以外からでもアクセスできるようにする
    • --host=0.0.0.0 のように指定しましょう
  • ポート番号を任意のものに変更する
    • --port=12345 のように指定しましょう
  • HTTPで接続できるようにする
    • --unsecure オプションを指定しましょう
  • 任意のユーザでログインできるようにする
    • --login オプションを指定しましょう
  • PAM認証を用いる
    • --pam_profile=sshd のように指定しましょう

ここらへんを起動時オプションに指定すれば、様々な要件は満たせるでしょう*1

他にもいくつかオプションがあるので、./butterfly.server.py --help で確認してみましょう。

バックグランドで起動する

バックグラウンドで起動するためには nohup& すればいいでしょう。

$ nohup ./butterfly.server.py >> /tmp/buttefly_log.log &

問題点

日本語を直接入力することはできません。別のところでコピーした日本語を貼り付ければ、擬似的に日本語を入力することはできます*2ので、緊急時には有効かもしれないです。

*1:ただし、指定によってはガバガバになってしまうおそれがあるので、ローカルネットワーク限定にしたりする必要があります

*2:大昔のアプリで似たようなことをした覚えが……

Powered by はてなブログ