hosts管理ツールを新たに作ったのが、今行ってる会社がstaging環境とかをhosts切り替えで行っていたから。

いちいち書き換えるのは超めんどぃ。 Hostsとかhostsファイル管理のも使ってみたけど、チェックボックス付け替えたりってのも1回2回だったらいいけど頻繁に切り替えたりするってなるとヒューマンエラーとかが起こりやすいわけで...
ということです。

holsterの特徴。

CLIで管理:

コマンドメインでやってる人には嬉しいと思う。

予めHosts作って切り替え: ありそうで結構ない。production,staging,developmentをhostsで切り替えたりしてるところは重宝すると思う。

かゆいところに手が届くappend: 基本的には予め切り替え用のhostsを作っておくのが前提なんだけど、 一時的にちょっと足したい場合もある。 なので、それを実現するappendっていうコマンドを用意してます。

インストール

go get github.com/YusukeKomatsu/holster  

goで作ってるので、"go get"で入れることが出来ます。
go使ってなかったら、build済みのものも用意してあるので、そちらを落としてください。

初期設定

holster init  

これだけで終わりです。 ホーム配下に .holsterというディレクトリができてると思います。 そこにholsterを使うために必要な設定とかが入ります。

hostsファイルを準備

.holster/bulletsフォルダに〜.hostという形式でhostsファイルを作成します。 init時にdefault.hostというファイルが作成されるので、
1つしか使わなかったら、それを使いまわしてもいいです。

コマンド

show

hostsファイルを表示する。
OSによって保存場所が違う場合がありますが、そういうところも吸収してるので、hostsファイルの場所を探す手間が省けます。

sudo holster show  
# 127.0.0.1       localhost
list

変更できるhostsファイル一覧を表示します。

sudo holster list

# default
.holster/bullets に test.host というファイルを追加するとこうなる
sudo holster list  
# default
# test
update
sudo holster update (hosts group)  

例)hostsファイルを .holster/bullet/default.hostで更新する場合

sudo holster update default  
更新前
sudo holster show  
# 127.0.0.1       localhost
更新後
sudo holster show  
# ##
# # 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
append

hostsファイルに一時的にhostを追加する。 127.0.0.1 foobar.comを追加する場合はこんな感じ

sudo holster append 127.0.0.1 "foobar.com"  
# hosts file:
# 127.0.0.1       localhost
# 127.0.0.1 foobar.com