Hosts Tune
公開準備中

サイトの接続先を切り替えるMacアプリ

公開前のサイトを、
このMacだけで
確かめる。

ドメインはそのまま、接続先だけを切り替える。hostsの書き換えを、安全に、メニューバーから。Macのためのアプリです。

  • 公開準備中
  • macOS 14以降
  • Appleシリコン搭載のMac
https://example.com
接続先 公開中のサーバー通常の接続 192.0.2.24サイトA・検証 127.0.0.1サイトA・ローカル
アドレスexample.com
  • 通常の接続公開中のサーバー
  • サイトA・検証192.0.2.24
  • サイトA・ローカル127.0.0.1
このページ用に作ったおためし版です。アプリの画面や動きとは異なります。実際のアプリでは、切り替えのときにmacOSの管理者認証が求められることがあります。

01こんなときに

アドレスは同じまま、
行き先だけを替えたいときに。

hostsは、ドメインをどのIPアドレスへつなぐかを、このMacの中で決めておくためのファイルです。Hosts Tuneは、その書き換えを名前付きの設定として保存し、切り替えられるようにします。

  1. 01サーバー移転の前に、新しいサーバーで表示を確かめる。

    example.com192.0.2.24

  2. 02リニューアル公開の前に、本番と同じアドレスで確かめる。

    www.example.com192.0.2.24

  3. 03手元の開発環境につないで、同じアドレスのまま作業する。

    example.com127.0.0.1

02使い方

使い方は、
3つだけ。

  1. サイトと接続先のIPを入れて、設定を作る

    確かめたいドメインと、つなぎたいサーバーのIPアドレスを入れるだけ。1つの設定に、いくつものサイトを登録できます。

    手順1の画面「確認したいサイトを登録」。サイト、接続先IP、設定名(任意)の欄。
    デモ表示で撮影した画面です。
  2. 内容を確かめて、適用する

    「この接続先に切り替えます」の画面で、加わる行と変わる行を見てから適用します。適用にはmacOSの管理者認証を使います。

    手順2の画面「この接続先に切り替えます」の抜粋。example.com は 192.0.2.24 へ変更(これまで:127.0.0.1)、staging.example.com は 192.0.2.30 へ新規、www.example.com は上書きを解除。「キャンセル」「保存して適用」ボタン。
    中間を省略:一覧の中ほどの空白と、下の注記を省いた抜粋です(破線の所)。
  3. あとは、メニューバーから切り替える

    確認と適用を済ませた設定は、メニューバーのアイコンから選べます。確かめ終わったら「通常の接続」へ。

    手順3の画面。メニューバーのメニューで「サイトA・検証」を選んだところ。

デモ表示で撮影した画面です。

03安全策

hostsを、
壊さない。

書き換えるのは、専用の区切り行で囲んだ範囲だけ。その前後にある行は、改行まで含めてそのまま残します。

/etc/hosts 通常の接続サイトA・検証を適用中サイトA・ローカルを適用中
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
203.0.113.8 intranet.example
# Hosts Tune BEGIN 3F6A1C2E-8B4D-4E21-9A7C-5D0B2E9F1A64
192.0.2.24 example.com www.example.com
# Hosts Tune END# Hosts Tune BEGIN 8C2D4B10-5E7A-4F93-B1C6-2A9D7E3F0B58
127.0.0.1 example.com www.example.com
# Hosts Tune END通常の接続のときは、Hosts Tuneの行がありません。
ほかの行はそのままです。
既存の行(変更しない) Hosts Tuneが書き換える範囲 長い行は、横に送って読めます。
「サイトと接続先」のカードに出る取り消しの帯。「example.com」の行を削除しました。右に「元に戻す」。
行を消しても、「元に戻す」で取り消せます。デモ表示で撮影した画面です。
  1. 01

    適用の前に、内容を確かめる画面

    新しく加わるサイト、行き先が変わるサイト、上書きを解除するサイトを並べて見せます。

  2. 02

    変更前を自動でバックアップ

    書き換えの前に、そのときのhostsを保存します。最新の50件を残します。

  3. 03

    ほかのアプリの変更に気づいたら、中止

    読み込んだときと適用の直前で、hostsの内容をSHA-256で照らし合わせます。

  4. 04

    行き先がぶつかるときも、中止

    同じドメインに別の行き先がすでに書かれていれば、適用しません。

  5. 05

    「通常の接続」と「直前の状態に戻す」

    「通常の接続」はHosts Tuneによる上書きの解除です。hosts全体を初期化するものではありません。

ほかのアプリが同じときにhostsを書き換えた場合の競合は、完全には防げません。

04メニューバー

戻し忘れに、
気づける。

上書きしているあいだは、メニューバーのアイコンに盾が付きます。検証用の設定のままでも、画面の上を見れば分かります。

  • 通常の接続

    Hosts Tuneによる上書きはありません。

  • 上書き中

    保存した設定のどれかを使っています。盾が付いているあいだは、検証用の接続先のままです。

  • 状態を確認できないとき

    hostsの状態を読み取れないときの印です。

このページの右上のアイコンも、いまの切り替えの状態を表しています。いまは「サイトA・検証」です。

メニューバーのメニュー(上書き中)。「このMacで使用中:サイトA・検証」、example.com / www.example.com から 192.0.2.24 へ。「直前に戻す」ボタン。
上書き中

デモ表示で撮影した画面です。

05入力

コピーして、
貼るだけ。

サイトの欄には、ドメインのほか、URLやhost:portの形もそのまま貼れます。登録するのはホスト名だけです。

URLを貼ると
https://example.com/path?x=1example.com
ポートを付けても
example.com:8080example.com
日本語ドメインは
例え.テストxn--r8jz45g.xn--zckzahPunycodeに自動で変換します。一覧には読みも表示します。
接続先のIPは
192.0.2.24IPv42001:db8::24IPv6どちらにも対応しています。

既存のhostsを取り込む

いまのhostsを貼り付けるか、ファイルを選んで、設定にできます。localhostとbroadcasthostの行は、取り込む対象から除きます。

「既存のhostsを取り込む」の画面。設定名(任意)の欄と、hostsを貼り付ける欄、「ファイルを選ぶ…」「下書きに取り込む」ボタン。

中間を省略した抜粋です(破線の所)。
横に送って全体を見られます。

テキストで編集

hostsと同じ形のまま、等幅のテキストで直接書き換えることもできます。

「テキストで編集」を開いた画面。等幅の欄に 192.0.2.24 example.com www.example.com。

中間を省略した抜粋です(破線の所)。
横に送って全体を見られます。

デモ表示で撮影した画面です。

06適用後の確認

適用したあとも、
確かめる。

適用が済んだら、macOSの名前解決で、設定したドメインがどこへつながるかを確かめます。一度に確かめられるのは、最大32ドメインです。

  • 「設定した接続先で応答しないサイト」
  • 「設定以外の接続先も応答するサイト」

この2つを分けて表示します。後者は、たとえば公開DNSのIPv6の行き先が残っている場合です。「名前解決を再確認」で、hostsを書き換えずに確かめ直すこともできます。

確かめる範囲
  1. hosts書き換えた内容
  2. macOSの名前解決ここまでを確認
  3. ブラウザのキャッシュ確認しません
  4. HTTPS・証明書確認しません
  5. サーバーの稼働確認しません

キーボードでも。

⌘N
設定を追加
⌘O
hostsを取り込む
⌘R
現在の状態を再確認
⌘↩
内容を確認して適用

07動作環境

動作環境と、
ご注意。

  • 対応OS macOS14以降macOS 13以前では使えません。
  • 対応するMac Appleシリコン専用Intel搭載のMacには対応していません。
ダークモードのメインウインドウ(上書き中)。

ライトとダークの両方に対応

ダークモードでも使えます。青と注意の色は、ダーク用の色で表示します。

デモ表示で撮影した画面です。

切り替え
適用と切り替えには、macOSの管理者認証を使います。パスワードをアプリが受け取ったり、保存したりすることはありません。
効く範囲
このMacだけの設定です。公開DNSは変更しません。ほかの人の環境にも影響しません。
同時に使える設定
1つ。1つの設定に、複数のサイトを登録できます。
通信とデータ
アプリから外部へデータを送ることはありません。利用状況も集めません。

ご注意

  • 切り替えのたびに、管理者認証が求められることがあります。
  • 適用後の確認は、macOSの名前解決までです。ブラウザのキャッシュやすでに開いている接続、HTTPS、サーバーの稼働は確認しません。
  • ほかのアプリと同時にhostsを書き換えた場合の競合は、完全には防げません。

08よくある質問

よくある質問

hostsにもともと書いてあった内容は、消えませんか。

消えません。Hosts Tuneが書き換えるのは、専用の区切り行で囲んだ範囲だけです。書き換えの前には、そのときのhostsを自動でバックアップします(最新の50件)。

切り替えるたびに、パスワードが必要ですか。

macOSの管理者認証が求められる場合があります。認証にはmacOS標準の画面を使い、パスワードをアプリが受け取ったり、保存したりすることはありません。

ほかの人のパソコンや、公開中のサイトにも反映されますか。

反映されません。このMacだけの設定で、公開DNSは変更しません。

Intel搭載のMacやWindowsでも使えますか。

使えません。Appleシリコン搭載のMac(macOS 14以降)専用です。

元に戻すには、どうすればいいですか。

メニューバーのアイコンから「通常の接続」を選ぶと、Hosts Tuneによる上書きを解除します。ひとつ前の状態に戻したいときは「直前に戻す」を使います。Hosts Tune以外で書いた行は、どちらの場合もそのまま残ります。

09公開準備中

公開に向けて、
準備中です。

配布の方法と時期は、いま検討しています。

確かめ終わったら、「通常の接続」へ。