iPhoneからSSHコマンド実行・Webhook連携もできる公式アプリ「ショートカット」を活用する
iPhone で SSH コマンドを実行したり、Webhook 連携を組み立てることが可能となりました。
Apple 公式アプリの「ショートカット」を使って実現できます。
「ショートカット」アプリの概要と、簡単な活用事例をまとめました。
iPhone から SSH や curl が実行できる
「ショートカット」アプリでは、多くのアクションが用意されています。
その中には「SSH」や「URL 取得」などが含まれており、かなり遊べるアプリになりそうです。
URL 取得は GET
に限らず POST
や PUT
も可能で、簡単なリクエストであれば iPhone からサクッと実行できます。簡易 curl のように使えます。
SSH では複数のコマンドを一度に実行できるほか、他アクションとの連携も可能です。
iOS 12 で Apple 公式アプリ「ショートカット」を使用
これらの操作には、iOS 12 以降でサポートされている Apple 提供の無料アプリ「ショートカット」を使用します。アクションは多数ありますが、特に面白そうなものをピックアップしてみました。
- 指定した URL にリクエストを送信する(POST も可)
- SSH 経由でコマンドを実行する
- iPhone のデバイス状態を変更する
プログラミングのように、ユーザ入力を受け付けたり、変数操作やループ処理も実行できます。(小さい画面でポチポチ組むのは辛いかも)
これらを組み合わせることで、幅広いアクションが可能となります。
iPhone から SSH コマンドを実行する
App Store から「ショートカット」アプリをインストールしておきます。
アプリを起動後、ショートカットを作成
をタップ。
アクションの検索欄が出てくるので ssh
を検索して選択。
接続情報とコマンドを入力し、上部中央にある実行ボタンで開始。
結果が出力されました。アクションを後ろに繋げると、この文字列がパイプのように渡されます。
(複数アクションを組み合わせたサンプルは後述します)
右上の変なボタンから、保存する際の名称やアイコンが設定可能です。
ホーム画面やウィジェットからワンタップ実行
作成した処理は、ホーム画面やウィジェットに追加できます。
アイコン色やロゴも自由に設定可能です。
特にウィジェットは便利で、アプリを立ち上げずにサクッと実行できます。家電操作系のコマンドと特に相性が良いでしょう。
iPhone がリモコンになりました。
ウィジェット画面にショートカットを大量配置できるようになったのでガンガン作ってみたらこんなことに。 pic.twitter.com/nol1t4BszH
— yuu26/えむおん (@m_on_yu) October 6, 2019
iPhone で REST API を叩いて JSON をパースする
せっかくなので、一つ例を作ってみました。
以下の URL にリクエストを投げ、スプラトゥーン2の現在のステージ情報を JSON で取得、JSON をパースしてステージ情報だけを抜き出してみます。
https://spla2.yuu26.com/regular/now
今回の要件を実現するためには、5種類のコンポーネントを用います。
- URL コンポーネントで、REST API の情報を指定
- 取得コンポーネントで、URL のレスポンスを取得(メソッドは GET)
今回取得したいデータは、JSON 内の .result.maps[]
となります。
- パース用コンポーネントで、
.result
を抽出 - パース用コンポーネントで、
.maps
を抽出
テキストのみ抽出できました。取得結果が2件あるため、横フリックで確認できます。
仕上げとして、通知メッセージに出力します。
- 結合コンポーネントで、2項目を改行で繋げる
- 通知コンポーネントで、結果を通知させる
これで完成です。(作業中にステージが変わってしまいましたが)
ウィジェットから呼び出すと、ワンタップでステージ情報を確認できます。
なお、ここで使用した REST API の詳細については、イカの記事に書いてあります。
ちなみに User-Agent
は以下の値でした。URLエンコードで「ショートカット」ですね。
%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88/700 CFNetwork/974.2.1 Darwin/18.0.0
ギャラリーで公開されているショートカットを使う
自分で作成するだけでなく、公開されているショートカットも利用できます。
「指定した URL を iCloud にダウンロード」というサンプルも。
作成したショートカットを共有する
ギャラリーへの投稿機能はありませんが、作成したショートカットは別のユーザに共有できます。
ただのリンクなので SNS でシェアすることも容易です。
参考として、ナワバリバトルのリンクを張っておきます。
https://www.icloud.com/shortcuts/0e4cc2619d3740509faed8d0826a3a40
まとめ
iPhone で利用できる公式アプリ「ショートカット」を紹介しました。
利用できるアクションが豊富なため、外部のシステムや API と連携させて遊べる面白いアプリです。
iOS 12 を利用している方は、ぜひお試しください。
ディスカッション
コメント一覧
まだ、コメントがありません
フォローする
カテゴリー
最近の投稿
ブログについて