500
CiscoIOSコンソール画面風 マストドンクライアント「Tooterminal」

Tooterminalについて

Tooterminalは、jQuery拡張プラグインjQueryTerminalEmulatorPluginを利用して作られたCiscoIOSライクな操作ができるマストドンクライアントです。完全に俺得ジョーククライアントです。

CiscoIOSとは

商用NW機器大手のCisco社製ルーター/スイッチ等で幅広く使われているファームウェアです

ネットワークエンジニアであれば、CCNAの資格取得でCiscoIOSに触れる機会が多いと思います。

強力なタブ補完機能とコマンド省略機能、ドキュメントが無くてもある程度コマンドを探して実行することができる利便性を備えたシステムだと思っています。

当クライアントは、CiscoIOSの操作性を最大限にリスペクトした、shiroma@mstdn.jpが趣味で作成しているcisco_emulator.jsをマストドンクライアントとして実装したものとなっています。

コマンドモードについて

CiscoIOSを模した特権モードとコンフィギュレーションモードがあり、さらに追加で独自実装したインスタンスモードが存在します。

特権モード

Tooterminalを起動した状態のモード。プロンプトが「Tooterminal#」と表示されます。

Tooterminal# ←特権モード

特権モードでは、コンフィグの確認・保存、登録済みインスタンスの確認、各種モードへの遷移等が行えます。

コンフィギュレーションモード

当クライアントに関する様々な設定を行います。プロンプトが「Tooterminal(config)#」と表示されます。

「configuration terminal」と入力することで、モード遷移することができます。

Tooterminal# configuration terminal
Tooterminal(config)# ←コンフィギュレーションモード

※設定した内容はrunning-config(ページキャッシュ)に保存されるため、画面再読み込み等をすると設定はリセットされます。設定をstartup-config(localStorage)に保存するためには、特権モードにて「write memory」コマンドを実行してください。

Tooterminal# write memory

インスタンスモード

各インスタンスに関する操作を行うことが出来、本来のマストドンクライアントとしての機能はほぼここに実装してあります。

独自実装したモードです。特権モードにて「instance インスタンス名」と入力することで入ることができます。

Tooterminal# instance jp
shiroma@mstdn.jp# ←インスタンスモード(未ログインの場合はユーザ名が表示されない)

簡易チュートリアル

一般的なクライアント同様、タイムラインの監視とトゥートができるところまでの流れを解説します。

詳しい仕様等についてはgithubのREADME.mdを参照してください。

1.インスタンス登録&インスタンスモードに遷移

特権モードにて以下のコマンドを実行します。

Tooterminal# instance インスタンス名(任意)

インスタンス名は今後インスタンスモードに遷移する際に利用するので、短めの文字列にすることを推奨します。(jp, nico, pawooなど)

「Input instance domain:」と表示されるので、接続先インスタンスのドメイン名を入力してください。

Input instance domain: example.com

インスタンスにクライアント登録が成功するとそのままインスタンスモードに遷移し、プロンプトの表示が「@ドメイン名#」に切り替わります。

@example.com#

2.ユーザーログイン

インスタンスモードにいる状態で「login」と入力してください。

@example.com# login

別ウインドウが開き、インスタンスのログインページに遷移します。

ユーザーログインをするとアプリケーション登録の承認画面が表示されるため、「承認」を押下します。

ログインに成功すると元の画面に戻り、「Hello! (ユーザ名) @(ユーザID)」と表示され、プロンプトが「ユーザID@ドメイン名#」に切り替わります。

Hello! マスト太郎(センスない山田太郎) @masto_taro
masto_taro@example.com#

3.タイムラインのストリーミング開始とトゥート画面表示

ストリーミングの再生

userid@domain.domain# terminal monitor

ローカルタイムラインと通知が表示されます。ホームタイムラインなどのストリームについては、README.mdを参照してください。

トゥート画面の表示

userid@domain.domain# toot

「toot message...」と表示してある入力欄にトゥート内容を書き込んでください。メッセージを隠したい場合は、「contents worning...」の欄に閲覧注意文を入力してください。

キーボードショートカットについて

以下のキーボードショートカットが利用できます。

トゥートに合わせてCtrl + クリック ... お気に入り

トゥートに合わせてAlt + クリック ... ブースト

トゥートに合わせてShift + クリック ... リプライ

トゥートに合わせてダブルクリック ... 「id (userid)」をコマンドラインに挿入

Ctrl + D ... 現在のモードを終了

Esc ... トゥートウインドウ、ヘルプウインドウを閉じる

Ctrl + Enter ... トゥート投稿

Q & A

使い方が分かりません!

とりあえずREADME.mdを見てみるのがいいかと…それでわからなかったら#Tooterminalとか付けてトゥートしたらもしかしたら拾うかもしれないです。

難しくて使えません!

当クライアントは俺得を目指して作られたジョーククライアントです。ぶっちゃけ自分もタイムラインの監視にたどり着くのがかなり面倒ってことあります。

いずれ使いやすくなるような機能を実装したいような気もしているので、それまで頑張ってコマンドをポチポチ打っていただけたらと思います。

普通のクライアントで出来ないことがある!

足りない機能が多数あるのは申し訳ない思います。個人開発なのですぐに対応はできるかわかりませんが、地道に実装はしていきますので、気長に待っていただけたらと思います。

それでも気になるようでしたら、#Tooterminalで適当に流してもらえるとたぶん早めに対応します。

重い

三流趣味プログラマがノリと勢いだけで書いてるので、軽くなりようがありません。あきらめましょう。