はじめに

Hoster は、ドメインとIPアドレスを関連づける、
Web開発用のユーティリティで、
ドメインとIPアドレスのマッピングを管理する
hosts ファイルをGUIで管理するMacOSX用のソフトウェアです。

Web開発では、開発環境ごとに HTTP/1.1 で使用できるようになった Apache の VirtualHost の機能を使用しておこなうと便利です。
同じドメインで複数の開発サーバを用意すると本番環境と同じURLで、操作できますので開発用の URL を用意しなくてもよくなります。
DNSで名前解決するとリリース環境のIPをひいてしまいますので、開発用のマシンのIPを指定するために、設定を変更しないといけません。DNSを書き換えるわけにはいきませんので、
コンピュータの名前解決にDNSを利用する前に、自分の情報を参照する仕組みを利用してその設定ファイルを変更します。
UNIX 系のOSでは /etc/hosts ファイルがその役割を担当しています。
MacOSX も UNIX 系の OSですので、/etc/hosts ファイルで、ドメイン名の解決を行っています。
ちなみに、MacOSX 10.2 ぐらいまでは /etc/hosts ファイルは使わずに、ローカルの名前解決に NetInfo データベースを利用していましたので少々仕組みが複雑でしたが、MacOSX 10.4 Tiger あたりから 他の UNIX 系 OSと同様の仕組みを採用するようになりました。

このソフトは、いわゆるホスツエディターの部類ですが、セットさえ作成しておけば、あとはマウスのみで設定の変更が行えます。

ホスツファイルに

1.1.1.1 {半角スペース} a.host.com

と、IPアドレスとドメインを半角スペースで区切って
記入すれば同じことなのですが
編集するには、

$ sudo vi  /etc/hosts

と、ターミナルを起動して、しかも管理者権限が必要で、
編集するたびにパスワードを求められます。
(sudo コマンドは、管理者権限で操作するコマンドです。パスワードの入力が必要です。vi は、ターミナル上のスクリーンエディタです。)

また、数が増えたり同じドメインでいろんなマシンを使い分けてたり
するとかなり管理が煩雑になり、たいへん面倒ですし、誤って全角の空白とかを入れてしまうと設定が無効になってしまい、かつ、エラーが出力される訳ではないですのでなかなか間違いを修正することもできず大変ですので、
Hoster で環境ごとのセットを作成し、マウスでボタンをクリックして
有効にするだけで手軽に設定変更が行えるようになります。

対応OS は、MacOS 10.4.4 Tiger 以降 MacOSX 10.5 Leopard 推奨です。
MacOSX 10.3 Panther 以前をお使いの方はゴメンナサイ。
また、MacOSX に対する管理者権限が必要です。

Hoster is utility for the Web development to relate the domain to Internet Protocol address, and software to manage the hosts file that manages the mapping of the domain and Internet Protocol address with GUI. It is possible to change only with the mouse in the setting as long as the set is made though this software is a class of so-called Hosts editor.

Please comment here.


ライセンス license

本プログラムはフリー・ソフトウェアです。
本プログラムの頒布にあたっては、市場性及び特定目的適合性についての暗黙の保証を含めて、いかなる保証も行ないません。
転載あるいは、このページへのリンクは自由です。
このソフトウェアを使用した結果、損害が発生しても作者、このソフトウェアが使用するライブラリの作者、
および、転載者はいかなる責任も負いません。
同意した方のみこのソフトウェアを使用できるものとします。

This program is a free software. When this program is distributed, any guarantee is not done including a tacit guarantee of a merchantability and a specific, target adaptability. The reprint or the link to this page is free. Even if damage occurs since this software is used, neither the author, the author in the library that this software uses nor those who reprint assume any responsibility. It is assumed the one that only agreeing can use this software.

トップへ

インストール installation

インストールはインストーラーをダブルクリックする
だけで全てが終了します。

double click package installer.
It is all.

インストーラ
(末尾の番号はバージョンにより、異なります)

インストーラーで行われることは、
ライブラリ WinderStorage.framework を /Library/Frameworks にコピー。
/etc/hosts ファイルのバックアップを作成後、パーミッションの変更
下記の様に hosts.hosterback というファイルが元々のファイルのバックアップで、
hosts のパーミッショングループを wheel から admin に変更して、
グループに対して 書き込み権限を設定しています。

Hoster Installer backup your original hosts file with name /etc/hosts.hosterback.

$ ls -l /etc/ |grep hosts

-rw-rw-r--   1 root  admin     628  6 28 16:05 hosts
-rw-r--r--   1 root  wheel     667  3 30 09:03 hosts.hosterback

Hoster のアプリケーション本体は、
/アプリケーション (/Application)にインストールされます。

トップへ

使い方 usage

インストール作業が終了したら
起動しましょう
起動するとこじんまりしたウィンドウが一枚表示されるます。

起動画面

新規セットの追加 add new set

表示された ウィンドウの Hosts Settings のテーブルで
右クリックすると現れる新規セットの追加を選択すると、
追加ウィンドウが開きます。

新規セット右クリック

セットの追加ウィンドウ

セット追加ウィンドウ

セット名と追加したいホストを記入して、追加ボタンを押します。
複数のホストを追加できます。
複数のホスト名が同じIPなら、一つのIPに対して複数のホスト名を半角スペースで区切って入力することもできます。
追加した後は、一覧に表示されます。
編集が終了したら、「終了」ボタンか、キーボードのエスケープキーを押して
編集を終了します。

追加後のウィンドウの状態
ホスト名は、同じIPならスペースに続けて複数登録できます。
host name allow multiple input separeted by white space.
初めてセットが追加されると下記画面のようになり、
セット名を右クリックするとメニューが現れますので、適宜選択します。

追加後編集右クリック

既存セットの編集 editing set info

セットの追加後に表示されるセット名で右クリックすると、コンテクストメニューが現れますので
セットの編集を選びます。すると再度、編集ウィンドウが現れます。
この機能はMacOSの 編集メニュー>>選択したセットの編集 でも同じことが行えます。

既存のセット編集画面ではセット名の編集はできませんが、ホストが追加できます。
セット名の編集は、セットの一覧で直接行います。

既存セットの編集

セットの有効化・無効化 activate and inactivate set

セットを追加したところで、
実際に対応 セットを反映しましょう。
セットの一番左側の赤色の球体をマウスでクリックすると
緑色に変わります。
反映ボタン
これで、 /etc/hosts への書き込みが行われ、
対応したドメインは対応するIPアドレスへマップされたことになります。
もう一度クリックすると、最初の赤色に戻り、マップが解除されます。
Hoster の管理する情報は、/etc/hosts の最下行に

## start hoster 314 ##
 <<The Hoster manages the line between these. >>
## end hoster 314 ##

を書き込み、start と end の間に反映セットを書き込みますので、
安全です。
逆に、Hoster で管理したくない設定は、## start の上に手入力しておくと、
常に有効になります。

MacOSX default hosts settings.
This setting doesn't change.
127.0.0.1	localhost
255.255.255.255	broadcasthost
::1             localhost

等、もともとの設定はMacOS のネットワーク機能として
必須ですので編集しない仕様になっています。

設定で「ホスツ変更時にステータスバーに表示」にチェックを
入れておくとアクティブになった設定がある場合は
ステータスバーにアイコンが表示されます。

By setting in preference "indicate in status bar if hosts modified.", an icon is displayed in the status bar if activated set exists.

indicator in status bar

ホスト情報の編集 editing host info

下側のテーブルに選択したセットのホスト一覧が表示されますので
そちらからセット編集ウィンドウ同様に、
情報を削除することができます。

ホストIPのコピー

トップへ

 

機能

Dockからセットを有効にする activate set from Dock.

Dock上のアイコンを右クリックすると
メニューが現れ、ここからセットの反映のオン・オフが可能ですので、
Hoster のウィンドウを閉じたままでも操作できます。
閉じられたメインウィンドウは、Hoster がアクティブになると自動で表示されます。
また、有効になったセットの数がアイコンバッジとして表示されます。

dockmenu

セット情報のエクスポート export set info

セット一覧からFinder へドラッグするとテキストファイルとしてエクスポートできます。

エクスポート

エクスポートされたファイル
v1.2からFinderからのテキストファイルのドロップによる
登録に対応しました。
セット名をファイル名として、拡張子を .txt にして
中身に ip ドメイン名を記入してあれば登録できます。
これで既に登録しているセットをお隣のMacへ渡すことができます。
コピペすればWinな方にも意味なくはないでしょう(^^;A ナイカ

The Hoster exports files by plain text that have .txt extension.
file name is set name, and save host info.
and import from Finder by drag drop from same format file and
no exists set name in Hoster.
plain text save file format is

[ ip ]TAB[ domain name ]

エクスポートされたファイル

ホストの並び替え reorder host info grouped by set

セット一覧を並び替えられます。
セットの反映は上の行から順に /etc/hosts に書き込まれますので
hosts ファイルの特性で、重複した設定があると
一番したのもののみが有効になりますので
同じセットを並び替えだけで有効化できます。
(動作していませんでいた、、v1.2 で修正しました)
例)

1.1.1.1 a.host.com
2.2.2.2 a.host.com 

と、/etc/hosts に書き込まれた場合、
ドメインの重複があれば、
下の 2.2.2.2 が IPアドレスとしてマップされます。

ファイル編集自動検知

外部で、 /etc/hosts が編集されると自動検知して
もう一度有効化されたセットの再反映が行われます。

Automatic detection of file editing by another process.
It detects it automatically when edited and saved.
The set made effective again is reflected again.

終了時/起動時セット反映

Hoster を終了すると、有効になっていた hosts 情報がクリアされ、
起動時に再度有効なセットを hosts へ復元します。
誤って違うホストをみていた、なんて間違いを起こさない様にしています。

When the Hoster is exited, the set reflection is cleared.
and launched, it reflects it again.

ホスツビューア hosts viewer

画面の最下部にある Hoster のアイコンをクリックすると
ホスツビューアウィンドウが開き、現在の設定を
手軽に確認できます。
編集はできません。

viewer is read only.

ホスツビューア

ヘルプ help

ヘルプメニューから、このページにアクセスできます。

ヘルプ

対応アプリケーション Correspondence application

Growl <http://growl.info/> への対応
セット反映、解除時にGrowlに対応した
メッセージが表示されます。
Growl のインストールをおすすめします。
Skype 等のソフトウェアも対応しています。

Growlへの対応

アップデータ自動検知

Sparkle< http://sparkle.andymatuschak.org/> への対応
Web を介してアップデートの通知が得られますので
適宜アップデートを促します。
今時のMacOSフリーソフトには必須の機能といえるでしょう。

ただし、対応しているのはアプリケーション本体のみのアップデート
に限りますので、Framework もアップデートされる場合は更新ファイル
が提供されません。新バージョンのインストーラで上書きインストール
することになります。

トップへ

注意事項

10.4 Tiger では、たまにホスツファイルは正常に反映されているのに、ネットワーク的にマッピングがかわらない時がありますが、そのときはブラウザを再起動するか、

 $ sudo killall -HUP lookupd
で、ルックアップデーモンを再起動する必要がある場合があります。
MacOSX 10.5 Leopard では、あまり経験がありませんので、大丈夫だと思います。(lookupd が 10.5 Leopard では無くなったようです)
重要な作業をしている場合は、ping で念のため確認するとよいでしょう。
$ ping a.host.com

Hoster で設定したセットは、
Hoster を起動したユーザ専用のデータとして保持されますので、
マルチユーザ環境で違うユーザで起動、使用すると
Hoster の保持するデータと、/etc/hosts のデータの
不整合が起きますので、注意が必要です。
未確認ですが、複数のユーザで起動して2つのプロセスで編集しあうと、
自動検知機能が働いて、無限ループに陥ると思われます。

Hoster のアプリケーション本体はどこにコピー・移動しても
問題なく起動します。

ホスツファイルはフィッシング詐欺にも使用される場合が有りますので、管理するくせをつけておくとよいかもしれません。
なかなかこのファイルを見る機会は少ないですからね。

バージョンアップ時にHosterが起動できないことがありました。
そういう場合はHosterのユーザ初期設定が壊れていることが多いようですので
ターミナルを起動して下記コマンドを入力してリターンを押し、
Hoster を再起動してみてください。
(アプリケーション > ユーティリティ > ターミナル)

$ defaults delete com.redwinder.macosx.hoster
com.redwinder.macosx.hoster が、Hoster のMacOS上のIDです。

保存データはここです!
save data is here!

save location

トップへ

Bugs

in MacOSX Tiger crash when quit application.
and can not launch.
please try this command in Terminal.
$ defaults delete com.redwinder.macosx.hoster
apologizes for the inconvenience.
corrected in 1.203
corrected in 1.204

トラブルシューティング
Hoster を起動してもウィンドウが開かない場合は、
Terminal.app で初期設定を削除すると治る場合があります
$ defaults delete com.redwinder.macosx.hoster

類似ソフト gasmask を使用しますと、
/etc/hosts が
/etc/gasmask/hosts
へ、移動されて /etc/hosts がこのファイルへの
シンボリックリンクになりますので
併用すると問題が出ます。
シンボリックリンク /etc/hosts を削除後、
/etc/gasmask/hosts を /etc/hosts へ
再移動して、Hoster を再インストールすることで
問題が修復出来ます。


タイムマシンで復元した Mac の場合、
hosts ファイルにメタ情報(Spotlight(c)等で使用)が追加されて、
hosts を編集しても、参照ドメインが変わらない場合があります。
Terminal で 下記コマンドで調べると、
$ ls -l@ /etc/hosts
-rw-rw-r--@ 1 root admin 848 6 16 10:26 hosts com.apple.TextEncoding 15 -rw-rw-r--@ と、@ が付いているときがありますので、
これを通常ファイルに戻します。
$ xattr -d com.apple.TextEncoding hosts~orig
これで通常ファイルに戻ります。
(権限がなければ $sudo xattr *)

謝 辞

このソフトウェアの作成にあたって、様々な情報をしていただいた皆様に感謝します。
アイコンには、www.icondrawer.com さんの物を使用しています。
HMDT
<http://hmdt.jp>さんを参考にと、いうかいろんな情報を教えていただきました。
この場を借りて、感謝します。
このヘルプを書く上で、スクリーンショットを得るためにSkitchを使用しました。便利ですね。
Adobe Dreamweaver CS3, Adobe FireWorks CS3 を使用しました。
開発環境に Apple XCode 3.0 を使用しました。

develop equipments
iMac with Leopard (intel Core 2 Duo)
iMac with Snow Leopard (intel Core 2 Duo)
PowerMacG4 with Tiger 10.4.11(ppc G4)
iBook with Tiger with 10.4.4(ppc G3)
MacBook with Leopard, Tiger(intel Core duo)


トップへ

著作権表示

copyright

Hoster
WinderStorage.framework
Copyright(c)2009 nakamako
All rights reserved.
http://www.redwinder.com/macapp/hoster/
nkmk at redwinder.com

Icon :
nakamako
www.icondrawer.com made by Eugen Buzuk.
Frameworks:
CGBadge
Copyright (c) 2007 Chad Weider.
UKKQueue
(c) 2003-06 by M. Uli Kusterer.
MABSuuportFolder
Copyright (c) 2006 Michael Bianco,<software@mabwebdesign.com>
Growl.framework
Copyright (c) The Growl Project, 2004-2007
Sparkle.framework 1.1
Copyright (c) 2006 Andy Matuschak
KFSplitView
Copyright (c) 2003-2004 Ken Ferry. Some rights reserved.
Services:
get global IP address from AppSpot.com (Google App Engine).
(1.208 later)

What is my IP address?


Apple, the Apple logo, Mac, Mac OS, Macintosh and MacOSX, MacOSX Panther, MacOSX Tiger, MacOSX Leopard are trademarks of Apple. Other company and product names may be trademarks of their respective owners.

トップへ

バージョン履歴 version history


in dock

1.2(1.210) 2010.05.09
Fix crash on 1.209
Add search window.

1.2(1.209) 2009.10.28
change global IP check site to Google App Engine.
change inactive image.

1.2(1.208) 2008.09.14
display linked IP(V4) address of your mac.
changed layout for
display message at bottom of main window.

1.2(1.207) 2008.08.30
add short cut key for scroll selection of set by keys
ctl + n (Down) or ctl + p (Up) like emacs key binding.
enable activate or inactivate selected set
with command key and return key.( command + ↵)

1.2(1.206) 2008.08.17
add active indicator in status bar
can enable at preference window.
enable inactivate Growl on preference window.
save split view location automatically.
modify compatibility Tiger, Leopard.
set correct order of set when dropped files from Finder.
fixed highlights of button on Tiger.
change installer condition for installer on Tiger.
changed about panel.

1.2(1.205) 2008.08.09
fixed with Tiger on right mouse click
selection row is wrong.

1.2(1.204) 2008.08.08
fixed editing set transaction.
disabled delete host on editing sheet.
disabled edit saved host IP.
fixed UserDefaults info for Tiger
that can not launch.

1.2(1.203)
correct user defaults info.

1.2(1.202)
correct crash on Tiger.
temporary off UKKQueue.

1.2(1.201)
cut, copy, paste.

1.2(1.200) Release: 2008.08.04
modified layout of main window.
enable drop from Finder.
modified hilight.
enable cancel for edit set info.
use WinderStorage version 1.11.
correct host order when save file.

1.1(1.101)
changed Icon.
enable help link to this page.
enable delete host info at host table on edit window .
modify context menu strings.
clear hosts setting of file at application was shutdown,
and set hosts setting of file at application is launched.

1.1(1.100)
use WinderStorage version 1.1
enable reorder set by drag.

1.010 add Dock Menu.
1.009 add icon badge.
1.008 observe hosts file by another application rename or edit or deleted.
1.007 correct incorrect indicator swith by table sort .
1.006 enable copy host ip.
1.005 add self updator by Sparkle.

1.004 Internationalizationed

1.003 export with drag
export set by drag to Finder.

1.002 with Growl
notify with Growl

1.001 initial release

トップへ