Banana Studio
News · BS Manager

CamRelay 1.0.7:ユーザー名とパスワードでスマホのカメラを保護

CamRelay 1.0.7 にセキュリティ設定が加わりました。1 つのユーザー名とパスワードで、 RTSP ストリーム、ONVIF、ウェブインターフェースをまとめて保護できます。初期設定では オフなので、オンにするまで何も変わりません。ウェブインターフェースではログインの ポップアップが何度も出ることなく 1 回でサインインでき、2 つの小さな修正で設定も よりスムーズになりました。

CamRelay 1.0.7:ユーザー名とパスワードでスマホのカメラを保護
Categories CamRelay
On this page

CamRelay 1.0.7 を Google Play で公開しました。今回のリリースのテーマは、多くの方からご要望をいただいていたカメラのログインです。1 つのユーザー名とパスワードで、CamRelay がネットワーク上に提供しているものをすべて保護できるようになりました。対象は RTSP ストリーム、NVR 向けの ONVIF、そしてウェブインターフェースです。

新しい設定は初期設定ではオフです。オンにすると決めるまで、NVR、Frigate、Home Assistant、VLC、ブラウザのブックマークはこれまでとまったく同じように動作します。

ログインが大切な理由

これまでは、同じネットワーク上のどのデバイスからでも、CamRelay のストリーム、ONVIF サービス、ウェブインターフェースを開くことができました。自宅の自分の Wi-Fi なら、多くの場合それで問題ありません。しかし、カメラは自分で完全には管理できないネットワークに置かれることも少なくありません。シェアハウス、オフィス、休暇中の貸し別荘、あるいはゲストやスマートホーム機器も使う Wi-Fi などです。スマートフォンのアドレスを見つけた人なら誰でも、カメラの映像を見たり、設定を変更したり、録画をダウンロードしたりできてしまいました。

CamRelay 1.0.7 では、ユーザー名とパスワードを知っている人とアプリだけがアクセスできます。

3 つのステップでオンにする

CamRelay の設定にある新しいセキュリティセクション:認証を必須にする、ユーザー名、パスワード

  1. アプリで設定を開き、新しいセキュリティセクションまでスクロールします。
  2. ユーザー名(最初は admin になっています)とパスワードを入力し、認証情報を保存をタップします。
  3. 認証を必須にするをオンにします。

これで完了です。ユーザー名とパスワードを保存するまでスイッチは無効のままなので、空のパスワードで自分を締め出してしまうことはありません。目のアイコンをタップすればいつでもパスワードを確認でき、好きなときに変更できます。新しい接続にはすぐに新しいログイン情報が使われるため、ストリームを再起動する必要はありません。

1 つのログインですべてを保護

1 つのログインで RTSP ストリーム、ONVIF、ウェブインターフェース、スナップショット、ライブビューを保護

認証を必須にするがオンのときは、次のすべてに同じユーザー名とパスワードが必要になります。

  • RTSP ストリーム(双方向通話のチャンネルも含みます)。最初のリクエストだけでなく、すべての RTSP リクエストを確認するため、アプリがログインを飛ばして再生を始めることはできません。
  • ONVIF:NVR や ONVIF アプリは、ストリームのアドレスの読み取り、明るさやズームの変更、カメラ名の変更、イベントの受信を行う前に、サインインが必要です。
  • ウェブインターフェースとその中のすべて:設定、ライブビュー、スナップショット、MJPEG ストリーム、録画が入ったファイルマネージャー。

デバイスがカメラを見つけて接続できるように、いくつかの機能はあえてオープンのままにしています。

  • デバイス検出:NVR や Windows は、これまでどおりネットワーク上で CamRelay を見つけられます。
  • クライアントがサインインする前に必要な、ごく一部の ONVIF リクエスト。たとえば、デバイスの時刻やサービスの一覧です。

アプリを接続する

VLC、FFmpeg などの RTSP プレーヤー

ストリームのアドレスにユーザー名とパスワードを追加します。

rtsp://admin:[email protected]:1935/

192.168.1.50:1935 は、CamRelay のメイン画面に表示されているアドレスに置き換えてください。ユーザー名とパスワードを付けずにアドレスを開いた場合は、VLC がそれらの入力を求めることもあります。

ログイン情報は RTSP アドレスに入れます:ユーザー名、パスワード、その後にスマートフォンのアドレスとポート

ヒント: パスワードに @、:、/、# などの文字が含まれる場合は、アドレス内ではエンコードして書いてください(@ は %40、: は %3A、/ は %2F、# は %23 になります)。または、英字と数字だけのパスワードを選んでください。

Frigate

go2rtc の RTSP の行にログイン情報を追加します。Frigate は環境変数からパスワードを埋め込めるので、設定ファイルにパスワードを平文で書いておく必要はありません。

go2rtc:
  streams:
    camrelay:
      - rtsp://admin:{FRIGATE_RTSP_PASSWORD}@192.168.1.50:1935/

続いて、Docker Compose ファイルの environment セクションで FRIGATE_RTSP_PASSWORD を設定します。ライブビュー、録画、双方向通話は、この同じ行で引き続き動作します。セットアップ全体の手順は Frigate ガイド で詳しく説明しています。

Home Assistant

  • ONVIF 統合を使う場合は、カメラを追加するときに同じユーザー名とパスワードを入力します。
  • Generic Camera 統合を使う場合は、上記のとおりストリームのアドレスにログイン情報を入れます。

NVR と ONVIF アプリ

カメラを追加するときに、NVR やアプリのカメラ設定でユーザー名とパスワードを入力します。CamRelay は、ONVIF クライアントがサインインする 2 つの方式の両方に対応しています。リクエストの中に含める WS-UsernameToken と、HTTP Digest です。

安全な設計:Digest 認証

RTSP ストリームとウェブインターフェースは Digest 認証を使用しており、ONVIF クライアントも Digest 認証を使えます。Digest では、パスワードそのものはネットワークに送られず、パスワードを知っていることを示す 1 回限りの証明だけが送られます。また、傍受されたリクエストを再利用することもできません。パスワードをほぼ平文のまま送る Basic 認証は受け付けません。

ウェブインターフェース:サインインは 1 回だけ、ポップアップの連発なし

ウェブインターフェースを開くと、ブラウザがユーザー名とパスワードを 1 回だけたずね、ブラウザを開いている間はそれを記憶します。

ウェブページは、バックグラウンドで常にカメラと通信しています。2 秒ごとにストリームの状態を確認し、ライブビュー、スナップショット、設定を読み込んでいます。ページを開いている間にログイン情報が変わると(たとえばスマートフォンで認証をオンにしたり、パスワードを変更したりした場合)、こうしたバックグラウンドのリクエストのたびに、ブラウザがログイン画面を何度も表示してしまうことがありました。

CamRelay 1.0.7 では、これをきちんと処理します。

  • ログインが通らなくなった時点で、ページはバックグラウンドのリクエストをすべて停止します。
  • サインインが必要ですというわかりやすいメッセージと、サインインボタンを表示します。
  • 1 回タップするとページが再読み込みされ、ブラウザがサインインを求めるのは 1 回だけです。

ログイン情報が変わると、ウェブインターフェースは更新を停止してサインインボタンを表示

また、ページが同時に複数のリクエストを送ったときのログインの信頼性も高めました。リクエストはどんな順番でスマートフォンに届くかわかりませんが、CamRelay は一部を拒否することなく、すべて受け付けるようになりました。

パスワードはスマートフォンの中だけに

  • ユーザー名とパスワードは CamRelay 専用の保存領域に置かれ、スマートフォンにだけ保存されます。
  • クラウドバックアップの対象外で、デバイス間のデータ移行にも含まれません。
  • 表示や変更ができるのはアプリ内だけです。ウェブインターフェースの設定ページからは読み取れないため、一度そのページを開いた人がパスワードを知ることはできません。

正直にお伝えしておきたいことがあります。ログインで制御できるのは誰が接続できるかであり、CamRelay の映像とウェブインターフェースは暗号化されていません。ローカルネットワーク上では、これは IP カメラとして一般的なことです。自宅の外から見たい場合は、ルーターのポートを開放するのではなく、VPN を使って自宅のネットワークに接続してください。

初期設定はオフ、オンにするかはあなた次第

CamRelay を、一度設定したきり触っていない NVR と組み合わせて 24 時間動かしている方が多いことは承知しています。そのため、アップデート後も認証を必須にするはオフのままです。オンにするまで何も変わらず、NVR、Frigate、Home Assistant、ブックマークはそのまま動作し続けます。

準備ができたらオンにして、カメラを見ているそれぞれのアプリにログイン情報を追加してください。

1.0.7 でのその他の修正

「端末起動時に自動開始」が何度も許可を求めていた

スマートフォンの再起動後に配信を始めるには、CamRelay に Android のオーバーレイ権限(「他のアプリの上に重ねて表示」)が必要です。端末起動時に自動開始をタップすると、CamRelay は本来どおり権限の画面を開いていました。しかし、許可して戻ってきてもアプリがそれに気づかず、次にタップしたときにまた権限の画面が開いていました。

現在の CamRelay は、設定画面に戻るたびに権限を確認します。許可していれば、端末起動時に自動開始が自動でオンになるので、もう一度タップする必要はありません。許可せずに戻った場合はスイッチがオフのままで、その下のヒントに理由が表示されます。

オーバーレイ権限が許可されるとすぐに、端末起動時に自動開始がオンになる

新規インストール後、設定に前面カメラが表示されていた

新しくインストールした CamRelay は、背面カメラで配信します。ところが、自分でカメラを選ぶまでは、アプリのカメラ設定とウェブインターフェースのカメラ一覧に、スマートフォンのリストの最初にあるカメラが表示されていました。多くのスマートフォンでは、これは前面カメラです。現在は、どちらにも実際に使われているカメラが表示されます。

新規インストール後、設定には実際に使われている背面カメラが表示される

アップデートを入手する

CamRelay 1.0.7 は現在 Google Play で順次配信中です。まだ表示されない場合も、数日以内に届く予定です。アップデート後も、設定 → セキュリティを開いて認証を必須にするをオンにするまで、何も変わりません。

Google Play で CamRelay を入手

ご意見やアイデアはありますか?アプリのこのアプリについて画面でフィードバックをタップしてお送りください。いただいたメッセージにはすべて目を通しています。

Videos

Related app

CamRelay - RTSPライブIPカメラ

Androidスマートフォンを高性能なRTSPネットワークカメラに変身させましょう。

Related posts

CamRelay 1.0.6:NVR 向けの ONVIF 対応を強化、ウェブのライブビューもより快適に
News

CamRelay 1.0.6:NVR 向けの ONVIF 対応を強化、ウェブのライブビューもより快適に

CamRelay 1.0.6 では、NVR や ONVIF アプリからスマートフォンのカメラでできることが 大きく広がりました。録画やライトのイベントを受け取り、明るさやズームを調整し、 カメラ名を変更できます。新しいカメラ名は Windows や NVR にすぐに反映されます。 ウェブのライブビューはバックグラウンドのタブでも再生を続けられるようになり、 いくつかの修正でウェブインターフェースが日常的にさらに使いやすくなりました。

CamRelay - RTSPライブIPカメラ
CamRelay 1.0.5:Android 17 に対応、ベトナム語でも利用可能に
News

CamRelay 1.0.5:Android 17 に対応、ベトナム語でも利用可能に

Android 17 では、アプリが Wi-Fi 上のデバイスと通信する前に新しい権限が必要になりました。 CamRelay 1.0.5 はこの権限をリクエストし、その理由を説明し、後からでも簡単に許可できる ようにしました。これで NVR、VLC、ブラウザから引き続きカメラに接続できます。 さらに、アプリがベトナム語に対応し、すべての言語で翻訳される範囲が広がり、 フランス語とイタリア語でもウェブのファイルマネージャーが再び使えるようになりました。

CamRelay - RTSPライブIPカメラ