概要
Localiasは、macOS向けのローカル開発環境用DNSマネージャー。dnsmasqをバックエンドに使い、*.localや*.testなどのワイルドカードドメインを自動的に127.0.0.1(またはカスタムIP)へ解決する。従来の/etc/hostsファイルの手動編集から開発者を解放し、複数のローカルプロジェクトで共通のドメイン規則を適用できる仕組みを提供する。Peter Downsが開発し、homebrewによる簡単なインストールと設定の自動化を実現した。
主な機能
- ワイルドカードドメイン解決:
*.localのようなパターンマッチングで、無数のサブドメインを一括設定 - dnsmasq自動セットアップ: homebrewでのインストールから起動設定まで、1コマンドで完了
- macOS Resolver統合:
/etc/resolver/ディレクトリを自動構成し、システムDNS解決チェーンに組み込み - カスタムTLD対応:
.local以外にも.test、.devなど任意のトップレベルドメインを指定可能 - IPv4/IPv6両対応: ローカルIPv6アドレスへの解決も設定可能
- 設定ファイル生成: dnsmasq設定とresolverファイルを自動生成し、手動編集ミスを防止
- アンインストール機能: 設定ファイルとサービスをクリーンに削除するコマンドを提供
技術スタック
- 言語: Shell Script(Bashベース)
- DNSサーバー: dnsmasq
- パッケージマネージャー: Homebrew
- macOS機能:
/etc/resolver/メカニズム、launchd - 依存関係: dnsmasq(homebrewで自動インストール)
導入方法
Homebrewを使った標準インストール手順:
# リポジトリをタップ
brew tap peterldowns/localias
# localiasをインストール
brew install localias
# .local ドメインを127.0.0.1へ設定
localias install local
# dnsmasqを起動
sudo brew services start dnsmasq
インストール後、ping test.localなどで動作確認。すべての*.localドメインが127.0.0.1へ解決される。
カスタムIPアドレスへの設定例:
# .test ドメインを 192.168.1.100 へ
localias install test 192.168.1.100
アンインストール:
localias uninstall local
sudo brew services stop dnsmasq
brew uninstall dnsmasq localias
競合比較
| 機能 | Localias | /etc/hosts | dinghy |
|---|---|---|---|
| ワイルドカード | ○ | × | ○ |
| 自動セットアップ | ○(1コマンド) | × | ○ |
| 手動編集 | 不要 | 必須 | 不要 |
| Docker統合 | - | - | ○ |
| IPv6対応 | ○ | ○ | △ |
| macOS専用 | ○ | × | ○ |
/etc/hostsは標準機能だがワイルドカード不可で、プロジェクトごとに行を追加する手間が発生。dinghyはDocker環境専用で、Docker未使用のネイティブ開発には過剰。Localiasはdnsmasqの設定自動化に特化し、Docker依存なしでワイルドカード解決を実現。homebrewエコシステムへの統合により、インストールから設定まで3コマンドで完結する設計が差別化点となる。
活用シーン
複数Railsアプリの並行開発: app1.local:3000、app2.local:3001のように、ポート番号だけ変えて複数プロジェクトを同時起動。各アプリのホスト名を個別に/etc/hostsへ追記する作業が不要になり、新規プロジェクト追加時も自動的にドメイン解決される。
マイクロサービスアーキテクチャのローカル再現: api.local、auth.local、frontend.localなど、本番環境のサブドメイン構成をローカルで模倣。各サービスを異なるポートで起動し、CORS設定やCookie共有のテストを実環境に近い状態で実施できる。
HTTPSローカル開発: mkcertと組み合わせ、*.local用のワイルドカード証明書を発行。ServiceWorkerやSecure Contextが必要なWeb API(Geolocation、Camera等)を、localhostではなく意味のあるドメイン名でテスト可能。
こんな人におすすめ
- 複数のWebアプリを同時開発するフルスタックエンジニア: ワイルドカード解決で無限のサブドメインを即座に利用可能
- /etc/hostsの手動編集にうんざりしている開発者: 1コマンドで設定完了し、以降は自動で全ドメインが解決される
- macOSでマイクロサービス構成をローカル検証したいチーム: サービス間通信を本番同様のホスト名で再現できる
- HTTPS必須のWeb API開発者: ワイルドカード証明書と組み合わせ、Secure Contextを簡単に構築
- homebrewで環境管理を統一したいmacOSユーザー: インストールからアンインストールまで、brewコマンドで一貫して操作可能