okayurisotto.net

私が好きでやったことが他の人のためにもなったらお得かも!

Tailscaleを使ってみたらDroidCamが使いやすくなった。

はじめに

スマホをパソコンのマイクやカメラとして使えるようにする、「DroidCam」というアプリがあって、とても便利です。

しかしDroidCamではローカルIPアドレスを元にスマホとパソコンで通信するようになっているため、スマホとパソコンが同じWi-Fiに接続している必要があるという欠点がありました。

そこで、その欠点をVPNアプリを使うことで解消してみます。

Tailscaleとは

Tailscaleは、自身の持つ複数のデバイス間で手軽にVPN(仮想プライベートネットワーク)を構築できるアプリです。主にプログラマなどの技術者を対象としたアプリではありますが、一般人でも便利に使えることでしょう。

Tailscaleは、あのフリマアプリのメルカリが内部的に使っていることでも有名です。

そもそもVPNとは

VPNと聞くと怪しげな雰囲気を感じる方もいるかもしれません。実際、Webを調べてみると「VPNでお得にサブスク」とか「VPNで海外のサービスを利用」とかいう内容がよく出てきます。しかしそれはVPNの本質的な話ではありません。

VPNとは複数のコンピュータを仮想的な専用の線で繋いで、その線を通してデータをやり取りできるようにする技術です。一般人に対しては非公開なサービスを提供するサーバーでは、一般人がアクセスして来ないように、このVPN技術を使って正当な利用者(のコンピュータ)とサーバーを接続します。例えば会社などでは、リモートワーク中の社員が社内システムにアクセスしたいという場面で使われています。先程のメルカリによるTailscaleの利用の例でも、メルカリの社内で使われている開発用の環境が一般人からアクセスされないようにするために使われています。

VPNを利用していても、通信自体は一般的に公衆網(インターネット)を利用します。しかし通信内容を暗号化して秘匿することで、仮想的に「直接、専用線が繋がっている状況」を作るのです。

そんなVPN技術を使うとなぜ海外のサービスを利用できるのかというと、VPNでは、ある通信が自身のコンピュータから発信されたものであるということを秘匿できるのです。VPNを使うと自身のコンピュータと遠隔地にある別のコンピュータが仮想的な専用線で結ばれることになります。そこで、遠隔地にあるそのコンピュータに、すべての通信を代行してもらうこともできるのです。その「遠隔地」が海外だった場合、海外からインターネットを利用しているという判定になります。よって、海外のサービスを利用できたり、海外向けの料金でサブスク契約ができたりするのです。

VPN技術を使って海外向けのサービスを享受するには、VPNサービスプロバイダというものが使われます。しかしTailscaleはVPNサービスプロバイダではありません。Tailscaleはあくまで、ユーザーの持つ複数の端末間でVPNを構築するためのアプリです。粗悪なVPNサービスプロバイダはユーザーの通信内容を覗き見ていると言われますが、TailscaleはそもそもVPNサービスプロバイダではないため、そのようなことはありません。

Tailscaleのインストール

Tailscaleには複数の料金プランがありますが、基本的には無料のFreeプランで十分でしょう。

英語ではありますがTailscale quickstartとして簡単な始め方についての公式解説があります。また、YouTubeには解説動画もあります。実際の画面を見たい場合はそちらを参照してください。


まずはTry for freeからアカウントを作成してください。Tailscale自身はパスワード等のアカウント情報を持たず、GoogleアカウントやMicrosoftアカウントやAppleアカウントからのログインしか提供していません。お好みのアカウントからログインしてください。

次に、Tailscaleアプリをこちらからダウンロードして、各コンピュータにインストールしてください。今回はAndroidスマホとWindowsパソコンをVPNで繋げたいため、AndroidスマホとWindowsパソコンにそれぞれインストールしてログインすることになります。

これだけでインストールは完了です。すぐにでもVPNでスマホとパソコンが通信できます。

Tailscaleの使い方

Tailscaleの管理者コンソールに、自身のデバイス(Machine)が一覧で表示されているかと思います。そしてそこに、AddressesとしてIPアドレスが記載されています。これはTailscaleをインストールしたデバイスでのみ使えるIPアドレスで、このIPアドレスを指定することによってVPN通信が可能になります。

DroidCamの場合、パソコン側のアプリ(DroidCam Client)ではスマホのIPアドレスを入力する必要がありますが、そこでこのTailscaleの割り振ったスマホのIPアドレスを使うことで、VPNを使った通信ができるようになります。

パソコン側のDroidCamアプリ(DroidCam Client)の様子

おわりに

TailscaleによるVPNを使うことで、スマホとパソコンが同じWi-Fiに接続されていなくとも、直接通信できるようになりました。DroidCamもうまく動いてくれています。

Tailscaleではこれ以外にも、SSHでの鍵管理が不要になったり、(VPNサービスプロバイダーがしているように)すべての通信を別のデバイスに代行させたりできます。とても便利です。