Lokal.so

Lokal.so

Lokal.so · コーディング

Lokal.soはlocalhostを共有できるHTTPSアドレスに変えるツール。ローカルホスト トンネル、通信インスペクター、S3互換サーバー、JSONツールを1つに収める。

Lokal.so の画面プレビュー

Lokal.so について

About

Lokal.soとは

Lokal.soは、自分のマシンで動くサーバーを外から触れるようにするローカル開発ツールである。ポートを指定し、エンドポイントに名前を付け、返ってきた本物のHTTPSアドレスをクライアントや同僚や同じWi-Fi上のスマートフォンで開く。デスクトップ版はMac、Windows、Linuxに対応し、ブラウザのダッシュボードとCLIも用意されている。ターミナルから出たくない人はCLIだけで済む。

トンネル自体は、この分野のどの製品でもできる。差が付くのは周辺の部分だ。リクエストとレスポンスを同じ画面で確認し、書き換え、再送できる。JSONには整形とJMESPath検索があり、リクエスト本文を使っている言語の型付きモデルに変換できる。ngrok 代替にデバッグ道具箱を載せた形と考えるといい。

導入前に押さえるべき点が2つある。トンネルは自前のサーバーを通すか、Cloudflareの一時トンネルを通すかのどちらかで、構成によっては第三者が介在する。そして公式サイトは製品を提供していない。lokal.soは無関係なギャンブルサイトのページを返し、ダウンロードと料金のパスはいずれも404になる。GitHubの組織とクライアントライブラリは残っているためソフトウェア自体には手が届くが、店先は消えた。

はじめかた

  1. macOS、Windows、Linuxのデスクトップ版を入れる。GUIが不要ならCLIから始める。
  2. トンネルを作り、localhost:3000のようなローカルアドレスに向け、HTTP、TCP、UDPのいずれかを選ぶ。
  3. エンドポイントに名前を付ける。my-app.localのようなLAN名は自分のネットワーク内で解決し、公開名はlokal-so.siteのサブドメインで出る。
  4. 通信パネルを開き、リクエストとレスポンスを読む。再送したり、本文をJSONツールに渡したりできる。
  5. リンクを共有する。誰にでも見せたくないビルドなら、ベーシック認証を前段に置く。

AIツール情報

Lokal.soの料金、対応プラットフォーム、性能を簡単に確認できます。

無料プランはい
有料プランN/A
プラットフォームWindows, macOS, Linux, Web, CLI
開発元Lokal.so
カテゴリコーディング
リリース日Apr 2024
最終更新Aug 2024
サイト訪問数N/A
サイト世界ランキングN/A
API提供状況はい

こんな人におすすめ

このツールが最も力を発揮するユーザー、タスク、シーン。

ユーザー

  • バックエンドとフルスタックの開発者:ノートPCのデータベースも同じネットワーク内のキューコンシューマーも1分で届く。ステージング環境へデプロイする必要はない。
  • Vite、Webpack、Next.js、Laravelを使うフロントエンド開発者:公式プラグインが開発サーバーと同時にトンネルを起動するので、最初のページが描画される前に共有リンクができている。
  • QAとサポート担当:開発者のマシンから出たことのないビルドを直接開ける。修正から再テストまでの待ち時間が短くなる。
  • S3に依存するコードを試すチーム:内蔵サーバーがローカルのフォルダーに対してアップロードに応答する。クラウドのバケットは要らない。

タスク

  • 決済代行やメッセージング基盤からのwebhookを試す:公開URLを受け取り、イベントを起こし、届いた本文をそのまま読む。
  • 失敗するAPI呼び出しのデバッグ:リクエストを書き換えて送り直し、2つのレスポンスを並べて比べる。
  • 作りかけのビルドを顧客やデザイナーに見せる:画面録画の代わりにリンクを1本送る。
  • マシン間のファイル移動:ファイルサーバーがフォルダーをトンネル経由で公開する。認証は任意で付けられる。

シーン

  • 実機のスマートフォンで確認する:.local アドレスで同じネットワーク上の端末にビルドが読み込まれる。証明書の警告を押しのける手間はない。
  • カフェやホテルでの作業:トンネルも道具もノートPCの中にある。会場の回線が遅くてもレビューは止まらない。
  • バグを同僚に渡す:エンドポイント名と記録したリクエストをチケットに載せる。相手は自分の環境で再生すればいい。

主な機能

localhostに公開HTTPSを

トンネルは、自分のマシンのサーバーに誰でも開ける本物のHTTPSアドレスを与える。Lokal.soはHTTP、TCP、UDPを扱う。テスト対象がウェブページではなくデータベースのポートやソケットである場合に効く。証明書はトンネル側が用意するので、ブラウザには警告ではなく鍵アイコンが出る。

名前付きエンドポイントとLANアドレス

エンドポイントは一度名付ければ使い回せる。APIが4000番、フロントエンドが5173番という内訳を覚えておく必要はない。my-app.localのような短い.local アドレスはHTTPSでローカルネットワーク内に解決する。タブレットもスマートフォンも、デスクトップと同じ名前でビルドに届く。

再送できる通信インスペクター

トンネルを通るリクエストはすべて一覧に並び、ヘッダー、本文、所要時間が付く。リクエストを変えて送り直す、記録したレスポンスを再生してクライアントの反応を見る、呼び出しをそのままバグ報告にコピーする。別に立てていたプロキシの役目はここで終わる。

S3互換サーバー内蔵

アプリはディスク上のフォルダーを土台にS3互換サーバーを起動する。バケットへ送るコードがそのまま接続する。Dockerも要らず、2つ目のデーモンも要らず、クラウドの請求も発生しない。アップロード処理を作っていて、本番ストレージにテスト用オブジェクトを置きたくないときに助かる。

JSONツールとコード生成

JSONの本文は整形でき、JMESPathで検索でき、使っている言語の型付きモデルに変換できる。最後の機能はレスポンスを手作業でスキーマファイルに写す工程を省く。多くの人が飛ばして後で後悔する手順だ。

通信を読むAIアシスタント

アシスタントはリクエストログの隣に座っている。レスポンスの意味を尋ねる、エンドポイントのクライアントコードを書かせる、見慣れないヘッダーを平易な言葉で説明させる。ベンダーの表記では背後はGPT-4o。

クライアントライブラリと開発サーバープラグイン

デスクトップ版はローカルREST APIを公開し、プロジェクトはJavaScript、Python、Go、PHP、Ruby、Rust、.NET、C++、Elixir向けのクライアントを配布する。Vite プラグイン、Next.jsなど各種バンドラー向けのWebpackプラグイン、Laravelのartisanコマンドがトンネルを立ち上げる。

メリットとデメリット

メリット

  • トンネル、通信インスペクター、JSONツール、ファイルサーバー、S3サーバーが1つのアプリに入る。導入する本数が減り、ウィンドウの切り替えも減る。
  • HTTP、TCP、UDPに対応するので、ウェブページだけでなくデータベースやソケットも扱える。
  • HTTPS付きのLAN名があるため、スマートフォンでの確認は設定1行で済む。
  • 10言語のクライアントライブラリと文書化されたローカルREST APIがあり、自動化の余地が残る。
  • デスクトップ版は無料。カード登録も登録の壁もない。

デメリット

  • 公式サイトが製品を配信しなくなった。lokal.soは無関係なページを返し、ダウンロードと料金のパスは404になる。インストーラーとドキュメントにたどり着きにくい。
  • クライアントライブラリの公開コミットは2024年8月で止まっている。保守状況を疑うのは当然だ。
  • Cloudflare経由のトンネルは、構成の一部を第三者に預けることになる。
  • 機能が多いぶん学習コストがかかる。初回は5分ではなく1時間に近い。

よくある質問

ローカルのサーバーをインターネットに出し、通信を読む道具を一緒に渡してくれる。webhookのテスト、未完成ビルドの顧客への提示、プロキシを立てずにAPIレスポンスを調べる用途が多い。