GoSuda

ポータルトンネル:分散型パブリックリレーを介してローカルホストのサービスを公開する

By gosunuts views ...

ポータルとトンネル

AIを使えば、どこでもプログラムを作成できます。しかし、どれほど優れたプログラムであっても、通常は自分のコンピュータ上、つまり localhost でのみ動作します。vibecon

これを外部に公開するには、通常、ルーターの設定、ファイアウォールのルール、パブリック IP の設定、トンネルの構成といった複雑な手順を踏む必要があります。

もし、これらすべてを一行のコマンドで解決できるとしたらどうでしょうか。

Portal のトンネルを使えば、ローカルのプログラムを一つのコマンドだけで公開サービスにできます。

localhost を公開する

  1. まず、プログラムをローカルで実行します。

  2. 次に、この一行だけで完了します:

    1curl -fsSL portal.gosuda.org/tunnel | PORT=3000 NAME={app name} sh
    
  3. アプリが外部からアクセス可能になったことを確認します:

    • {app name}.portal.gosuda.org

マルチテナンシー

Portal は単一のサービスではなく、オープンなネットワークとして設計されています。誰でもポータルリレーを運営でき、一つのアプリを冗長性や地理的分散のために複数のポータルへ同時に接続することができます。

1# 複数のポータルリレーへ一度に公開
2curl -fsSL http://portal.gosuda.org/tunnel | \
3PORT=3000 \
4NAME={app_name} \
5RELAY_URL=portal.thumbgo.kr,portal.iwanhae.kr,s-h.day,portal.lmmt.eu.org \
6sh

稼働中のパブリックポータルの一覧は、Portal List アプリ(これ自体も Portal ネットワーク上でホストされています)で管理されています:https://portal-list.portal.gosuda.org/

これは、特定のプロバイダーやインフラストラクチャに依存しない、真に許可不要の公開環境を表しています。

他のサービスとの比較

ngrok や cloudflared は、ローカルのサービスを公開インターネットに公開するために広く利用されているツールです。しかし、Portal は設計思想と利用モデルの両面において根本的に異なります。

ngrok と cloudflared は、集中型の SaaS ベースのトンネリングサービスです。利用の前にアカウントの作成、トークンの発行、バイナリのインストール、設定が必要であり、利用者は必然的にサービスポリシーや料金モデルの制約を受けます。

これに対し、Portal Tunnel は次の特徴を持ちます:

  • インストールなしで一行で実行できる
  • アカウントやトークンなしで即座に公開できる
  • 誰でもリレーを運営できる
  • 一つのアプリを複数のポータルへ同時に接続できる
  • 特定のベンダーに依存しない純粋なネットワークアーキテクチャである

これらの特徴により、Portal Tunnel は従来のトンネリングサービスとはまったく異なるカテゴリーに位置づけられます。