LoginSignup
22
24

More than 3 years have passed since last update.

開発環境用のトンネリングツールとそのしくみ(localhost.run編)

Last updated at Posted at 2019-12-24

この記事は、IoTLTアドベントカレンダー2019(neo) 23日目の記事です。1

はじめに

ラズパイマガジンの姉妹紙、日経Linux(リナックス) 2019年11月号でも特集されていたらしく、IoT業界でもSSHコマンドで手軽に外部へサービスを公開できる serveo についてご存じの方は少なくないのではと思います。

ngrok 同様、センサーのっけたシングルボードコンピューターやプロトタイプを開発用途でサクッと公開できる手段としてとても魅力的なサービスに思えます 2

しかしながら悲しいことに、心ないユーザーのフィッシングサイトへの悪用への影響でサービスが復旧されない日々が続いています 3

そんな serveo のメーリングリストでは「いつ復活するんだ」「来年か、二度と無いんじゃないの」「はやくして。無料でして。やくめでしょ」「俺はマイクラサーバーを公開したいのにどうすればいいんだ」といった悲しみ(?)の声 4 が渦巻いているんですが、その中で

servero を何に使いたいの?
WebベースのアプリやWebサイトなら http://localhost.run/ でいけるよ

といった投稿がありまして。知らないサービスなのでちょっと調べたり比較してみました。

localhost.run の使い方としくみ

localhost.run は serveo と同様に、SSHポートフォワーディングでHTTPポートをトンネリングできる無料のWebサービスです。

sshポートフォワーディングによるトンネリング

serveo 同様に、手元の端末から

ssh -R 80:localhost:8080 ssh.localhost.run

と、指定のSSHサーバ( ssh.localhost.run )へポートフォワーディング設定をして接続すると、

Connect to http://xxxx-yyyy.localhost.run or https://xxxx-yyyy.localhost.run

と、ドメイン(URL)を発行してくれます。

この例であれば、https://xxxx-yyyy.localhost.run に外部からアクセスすれば、手元の端末の8080番ポートにHTTPアクセスが転送されてきます。

ちなみに、 xxxx が手元の端末のユーザー名yyyy がランダムな文字列になるようです。ドメイン(URL)は、接続を行うたびに変わります。

他のサービスとの違い

ngrok, serveo, localhost.run はそれぞれ(原則)無料で使用できるトンネリングツールですが、ちょっと違いがあるので並べてみます。

ngrok serveo localhost.run
仕組み Long-Lived TCP Connection SSH Port-Forwarding SSH Port-Forwarding
転送可能 HTTP(S), TCP HTTP(S), TCP HTTP(S)のみ
複数ポートの
転送指定
可能 可能 不可能
トンネリング用
サーバのありか
AWS(リージョン指定可) ? 5 GCP
ドメイン(URL) 接続のたびに変化 ユーザー名・IPごとに固定 接続のたびに変化
価格 一部無料 無料 無料
無料での
主な制限
トンネリング継続時間6
1分間あたりのコネクション数、
ドメインの固定
など
原則なし 原則なし
安定性(主観) 良い 💀 7

こうして比べてみると、 serveo の復活を待ち望むユーザーが多いのも頷けますね。

でも安定的に使いたいなら、ngrok(課金)な気がします...

おわりに

serveo のメーリングリストを除いていたら、代替になりそうなサービスがあったので解説してみました。

ぜひお手元でプロトタイピングする際の参考になればと思います。


  1. HSTハワイ標準時(GMT-10:00, JST-19:00) 

  2. ngrok とそのしくみは、ゆるWeb勉強会@札幌の 開発環境用のトンネリングツールとそのしくみ(ngrok編) で発表しました 

  3. serveo のしくみと現状は、 開発環境用のトンネリングツールとそのしくみ(serveo編) で述べました 

  4. 意訳ですがそんなノリで、メーリングリストに流れてくるタイトルがだいたい「し、死んでる...」「いつ復活するの」なのがちょっと面白い(恐ろしい)、Serveo Help and Discussion にジョインナウ! 

  5. AWSだったような気がするんですが(いつか復活することがあれば)調べておきます。 

  6. ユーザー登録すれば、継続時間の制限は無くなる。 

  7. localhost.run のtwitterアカウントによれば、やっぱりフィッシングサイトへの悪用が原因で停止していた期間があるようです。こういうサービスの宿命ですね... 

22
24
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
22
24