ngrokとは
ngrokとはローカルの開発環境を別のマシンとかでテストしたり、他のAPIと連携させるときのwebhookとしてグローバルに公開したいときに使える便利なツール
ただ、トンネル技術を使ってるのでアクセスはngrokを通るため、機密性の高いデータを渡すのはちょっと、、となるし、無料版だと1ポートしか開けられない。
そこでスタンドアロン版を構築することで同様の事ができるのを探した。その名も「localtunnel」
必須環境
- Ubuntu 18.04
- Nodejs 8 or 10 higher
サーバー側のインストール
localtunnel/server: server for localtunnel.me
git clone でダウンロードして、npm install で依存ライブラリをインストールだけ
cd /usr/local # お好みで git clone git://github.com/defunctzombie/localtunnel-server.git cd localtunnel-server npm install
あとは localtunnel-serverのディレクトリでサーバーを起動するだけ ポート番号は任意
node -r esm ./bin/server --port 20080 --domain lt.turai.work
クライアント側のインストール
使う側のマシンにも同様にNodejsが予めインストールされている必要がある
npmで一発インストール可能
npm install -g localtunnel
起動するときは、そのディレクトリで
lt --host http://lt.turai.work:20080 --port 3000
でやると、以下のようなURLが生成される。これはすでにグローバルでアクセスできるようになる。
http://bad-pug-23.lt.turai.work
--subdomain
オプションをつけると、URLのプレフィックスを固定することができる。例えば
lt --host http://lt.turai.work:20080 --port 3000 --subdomain rails1
だと http://rails1.lt.turai.work
のようなURLが生成される。