行き着く先は「寝ながら開発」
先に、どこまで行けるかを書いておきます。
ベッドに寝転がったまま、スマホから自宅のパソコンにつないで、作業を続けられます。 机に戻らなくていい。パソコンを開かなくていい。エージェントは指示さえ出せば手を動かしてくれるので、画面を見て、日本語で頼んで、結果を確認する——これがスマホの画面だけで回ります。
「寝ながら開発」は冗談のようですが、実際に成立します。そのための土台がTailscaleです。
このサイトが扱う道具の中でも、効果に対する手間の少なさは屈指だと思っています。
Tailscaleとは何か
ひとことで言えば、自分の持っているデバイスだけをつないだ、プライベートな回線を作る道具です。
パソコン、スマホ、タブレット——それぞれにアプリをインストールして同じアカウントでログインすると、その全部が「同じ家の中にいる」ような状態になります。実際には別々の場所にあり、間にインターネットを挟んでいるのに、お互いを直接呼べます。
公式の説明では、Tailscaleは各デバイスに100.x.y.zという固有のアドレスを自動で割り当てる、とされています。このアドレスは自分のデバイス群の中でだけ通じるもので、世の中には見えません。
何が要らなくなるか
自宅のパソコンに外からつなぐ、という話は本来かなり面倒です。Tailscaleは、その面倒を丸ごと消します。
| 普通ならやること | Tailscaleだと |
|---|---|
| ルーターでポートを開ける(ポートフォワーディング) | 要らない |
| 自宅のアドレスが変わるのを追いかける(DDNSなど) | 要らない。名前で呼べる |
| SSHの入口を世界に向けて開ける | 要らない。自分のデバイス以外からは見えない |
| 出先のWi-Fiやモバイル回線ごとの設定 | 要らない。どこからでも同じ |
3行目が、地味にいちばん大きいところです。世界に向けて開けた入口には、機械的なログイン試行が飛んできます。 鍵を使っていれば簡単には破られませんが、そもそも開けないで済むならそのほうがいい。 Tailscaleは「開けずにつなぐ」を実現します。
インストールは、実質3ステップ
拍子抜けするくらい簡単です。公式の手順もこの流れです。
- アカウントを作る — 既に持っているGoogleやMicrosoftなどのアカウントでサインインできます
- つなぎたいデバイスすべてにアプリをインストールする — パソコンにも、スマホにも
- 全部を、同じアカウントでサインインする — 公式にも「同じ認証情報で認証する」とあります
これで終わりです。 ルーターの設定画面は一度も開きません。
両方にインストールする必要があることだけ注意してください。手元のスマホにだけインストールしても、つなぎ先のパソコンにインストールされていなければ届きません。
名前で呼べるようになる
Tailscaleは、デバイスごとに固定の名前を付けてくれます(MagicDNSという仕組みで、末尾が.ts.netになります)。
アドレスを覚える必要はありません。自分で付けた名前で呼べます。
mosh mymac
自宅からでも、出先からでも、同じこの1行で通ります。 場所によって繋ぎ方を変えなくていい、というのが使ってみると一番ありがたいところです。
何に使えるか
このサイトで扱っている範囲だと、主に3つです。
- 自宅のパソコンに接続して作業する — moshやSSHで。ここが本命です
- 作りかけのサイトを実機で確認する — 公開する前に、スマホの画面で見られます(作りかけのサイトを、別のパソコンやスマホから見る)
- デバイス間でファイルをやり取りする
料金
個人で使うぶんには、まず引っかかりません。
公式の料金ページに、個人向けの「Personal」プランが「$0 Free forever」として載っています。ユーザーは6人まで、デバイスの数は無制限とされています。自分の持ち物をつなぐ用途なら、これで足ります。
注意しておくこと
- サインインに使うアカウントが、そのまま鍵になります。 そのアカウントの2段階認証は必ず有効にしてください。ここを破られると、つないだデバイス全部に影響します
- 会社から貸与されたパソコンにインストールする場合は、社内の規則を確認してください。 ネットワークに関わる道具なので、勝手にインストールしてよいとは限りません
- 万能ではありません。 つなぐ相手にもTailscaleがインストールされている必要があるので、レンタルサーバーのような「相手に何もインストールできない」環境では使えません
組み合わせて完成する
Tailscaleは「届くようにする」道具です。届いた先で快適に作業するには、あと2つあります。
Tailscaleで届いて、moshで切れず、tmuxで死なない。 この3つが揃うと、外から自宅のパソコンを使うことが「特別な作業」ではなくなります。
インストールする順番は、Tailscaleが先です。逆にすると、要らなかったはずのポート開放と格闘することになります。