メインコンテンツまでスキップ

ブラウザーからの確認と操作

JR-D Receiver の画面は、受信機を動かしている機械とは別の端末(スマートフォンや別の PC)のブラウザーでも開けます。ブラウザーで開くこの画面を web console と呼びます。web console では、受信内容の確認、音声の再生、設定の変更ができます。

この機能は 0.4.0 系以降で利用できます。0.3.0 以前のデスクトップ版には、この設定はありません。

有効にする​

版有効にする方法
デスクトップ版(macOS と Windows)設定画面の「ブラウザからの操作を有効にする」をオンにします。既定のポートは 35262 です
ヘッドレス版(Linux)最初から有効です

デスクトップ版では、有効にすると、開く URL が設定画面に出ます。指定したポートが使えないときは、設定画面にエラーが出て、無効のままになります。

届く範囲と保護​

web console は、既定では受信機を動かしている機械の中(127.0.0.1)だけで待ち受けます。ヘッドレス版では、待ち受けるホストを指定して LAN 内へ出すこともできます。ほかの端末からは、そのままでは届きません。

JR-D Receiver には、パスワードなどの保護の機能がありません。別の端末から届かせる手段と、そこでの認証は、利用者が用意します。このページでは、Tailscale と SSH のポート転送の 2 つを例に挙げます。

届かせる範囲は、信頼できる端末だけにしてください。web console を開けた人は、設定の変更とライセンスの認証の解除を含む、すべての操作ができるからです。ルーターのポート開放で、インターネットへ直接出すことは避けてください。

Tailscale で開く​

  1. 受信機を動かしている機械と、見る側の端末の両方に Tailscale を入れ、同じ tailnet に入れます。

  2. 受信機を動かしている機械で、次のコマンドを実行します。

    tailscale serve --bg 35262
  3. 見る側の端末のブラウザーで、https://<機械>.<tailnet>.ts.net を開きます。

止めるときは、次のコマンドを実行します。

tailscale serve --https=443 off

tailscale serve が届かせるのは、同じ tailnet の中だけです。tailscale funnel はインターネットへ公開するコマンドなので、web console には使わないでください。

コマンドの詳しい説明は、Tailscale の文書にあります。

SSH のポート転送で開く​

受信機を動かしている機械に SSH で入れるなら、追加のソフトウェアは要りません。見る側の端末で、次のコマンドを実行します。

ssh -L 35262:127.0.0.1:35262 <機械>

接続したまま、見る側の端末のブラウザーで http://127.0.0.1:35262 を開きます。

ほかの名前で開く​

web console を開けるアドレスの名前は、次の 3 種類に限っています。

  • localhost
  • IP アドレス
  • ts.net で終わる名前(Tailscale の名前)

限っているのは、ブラウザーで開いたほかの web ページが、利用者の知らないうちに web console へ要求を送るのを防ぐためです。自分で用意した名前(リバースプロキシに付けた名前など)で開くと、「forbidden」と表示されます。

ヘッドレス版では、起動の引数に --allow-host <名前> を足すと、その名前でも開けるようになります。引数は systemd の設定に足します。まず、現在の起動コマンドを確認します。

systemctl cat jrd-receiver

表示された設定のうち、最後の空でない ExecStart= 行をコピーします。--host、--port、ベータ版の --no-self-update など、既存の引数をすべて残してください。次のコマンドでエディターを開きます。

sudo systemctl edit jrd-receiver

[Service]、空の ExecStart=、コピーした ExecStart= 行の順に書き、コピーした行の末尾に --allow-host receiver.example.com を足します。receiver.example.com は、使う名前に置き換えます。たとえば、ベータ版を既定のアドレスで動かしている場合は、次の形になります。

[Service]
ExecStart=
ExecStart=/opt/jrd-receiver/jrd-receiverd --listen 127.0.0.1:35262 --state-dir /var/lib/jrd-receiver --no-self-update --allow-host receiver.example.com

そのあと、サービスを再起動します。

sudo systemctl restart jrd-receiver

この手動の起動設定がある間、インストーラーは更新前に停止します。再インストールするときは、手動の設定を控えたうえで、エラーに表示されたファイルの ExecStart 上書きを取り除いてください。インストール後に、新しい起動コマンドを確認して --allow-host を追加し直します。

リバースプロキシを挟むときは、プロキシが Host ヘッダーを書き換えずに転送するように設定します(nginx では proxy_set_header Host $host;)。書き換えたままだと、画面は開いても、操作と受信内容の表示がすべて「forbidden」になります。

ヘッドレス版で --host に指定したホスト名は、ここへ重ねて指定しなくても許可されます。デスクトップ版には、名前を足す設定がありません。

音声を聞く​

ブラウザーは、利用者が操作するまで音を出しません。web console を開いたら、音声のボタンを一度押してください。

音量とミュートは、開いている画面ごとの設定です。ほかの画面には伝わりません。

複数の画面を同時に開く​

手元のウィンドウと web console、または複数の web console を、同時に開けます。片方で設定を変えると、もう片方にも反映されます。

設定画面を編集している最中に、ほかの画面で設定が変わったときは、「ほかの画面で設定が変わりました」と出ます。読み直すかどうかを、そこで選べます。

web console でできないこと​

できないこと代わりの方法
フォルダとファイルを選ぶダイアログ受信機を動かしている機械の上のパスを入力します
記録したファイル(JSONL、WAV、IQ)の取り出し受信機を動かしている機械の上の出力先から取ります
デスクトップ版のアプリの更新手元のウィンドウで行います。手順は更新にあります