「Webサーバー公開したいけどドメイン取得めんどい」
「アプリを簡単に公開してテストしてみたい」
そんなとき、簡単にローカル環境を外部に公開できるサービス、moleについてご紹介します。
#moleとは
moleとは、ローカル環境にあるサーバーを外部へ簡単に公開できるツールです。
コマンド一つで指定したポートのサービスにドメイン名を付与して公開することができます。
#インストール
###今回の環境
- MacOSX 10.15 Catalina
- bash
###環境構築
下記のコマンド一つでできます
curl -L dl-mole.freaker.io/install.sh |bash
#いざ鯖公開
まず公開するサービスがなければ元も子もないので、簡単なWebサーバーをローカルで動かします。
今回はポート3000番で動かしておきました。
動いているのを確認できたら下記のコマンドでmoleを起動しましょう。
mole -f localhost:3000
初回起動時はjsonファイルを自動作成するかどうかと聞かれますのでyと答えておきます。
これ以降はmoleと打つだけで、同じ設定でサービスを公開することができます。
起動に無事、成功すると可愛い犬(blue)が表示されました。
mole by RHEMS Japan
.-"-.
/|6 6|\
{/(_0_)\}
_/ ^ \_
(/ /^\ \)-'
""' '""
== Free plan running ==
revision master-d979add
host mole-route.io
localEndpoint localhost:3000
http url http://{自動生成されたアドレス}.mole-route.io
https url https://{自動生成されたアドレス}.mole-route.io
tcp mole-route.io ポート番号
Press ctl+c or esc to exit
START LOG FOR {自動生成されたアドレス}.mole-route.io
あとはこの画面に表示されているURLにアクセスすると、自分のローカルサービスが見れるはずです。
#無料プランと有料プラン
無料プランでも十分な体験を得られますが、有料プランになると以下のことが可能になります。
- ホスト指定
- サブドメイン指定
- ベーシック認証
- アクセス可能IP指定
- カスタムドメインの使用
特にホスト指定では通信を管理するサーバーを指定することが可能になります。
#類似サービスとの比較
これに似たサービスとしてはserveoやngrokといったサービスがあります。
無料プランの場合と有料プランの場合で比べてみました。
serveoは,ssh-clientさえあれば使うことができますし、無料でもサブドメインを取得する事ができます。
しかし、単純なポート転送なので複雑なことはできません。
ngrokとの差は無料プランではあまりありません。
つまり無料プランではどれを使ってもさほどの問題はないでしょう。
有料プランになると、ngrokではできないホストサーバーの選択がmoleでは可能になります。
これにより、よりクローズドな環境で外部に公開することができますし、社内のサーバーをホストとすることが可能です。
つまりmoleには、他のサービスにはない高度な柔軟性を保持しています。
生まれて初めてQiitaの記事を書きました。かなり読みづらいと思いますが、最後まで読んでいただければ幸いです。