QUIC、ホールパンチング、リレーへのフォールバックで、IPアドレスを問わず公開鍵経由でアプリを接続するRustライブラリ。
tailscale/tailcat
Tailscaleの暗号化データプレーン経由で2台のマシン間にTCP/UDPトンネルを張る、netcat風CLIとGoライブラリ。
代替できる製品:ngrok
Magic Wormhole
- スター
- 8,405
- フォーク
- 377
- 未解決の Issue
- 29
- 最終コミット
- 11 日前
これは何?
Tailcatは、Tailscaleのオープンソースネットワークコンポーネントを使って構築した、WireGuardで暗号化された2台間のトンネルを通じて通信できます。一方のマシンでサーバーを起動すると短いtailcatアドレスが表示され、もう一方のマシンはそのアドレスを使って接続します。接続メタデータは別経路で交換されるため、Tailscaleのコントロールプレーンやアカウント、root権限は不要で、システムのルーティングやDNSを変更する必要もありません。
通信はまずDERPリレーを経由して確立され、その後magicsockがNATトラバーサルを試み、可能であれば直接UDP通信に切り替えます。直接通信できない場合はリレーを使い続けます。stdin/stdoutのパイプに加え、ポートフォワーディング、SSHサーバーの実行、SFTPやscpによるファイルの送受信、接続ごとのコマンド実行、スループットとレイテンシの測定にも対応しています。同じ機能を利用できるGoライブラリもあり、実験的なWebAssemblyブラウザデモも公開されています。
事前共有鍵を含むアドレスは秘密情報として扱う必要があります。そのため、DNSで公開する前に、許可リストやSSH鍵認証を使ってサーバーへのアクセスを制限してください。
主な機能
- 01暗号化トンネルを通じて、2台のマシン間でstdin/stdoutをパイプします。
- 02ローカルのTCPポートをリモートサービスに転送し、トンネル経由でローカルポートを公開します。
- 03authorized_keysまたはGitHubの鍵認証に対応したSSHサーバーを提供します。
- 04scp/SFTPでファイルを送受信でき、読み取り専用または読み書き可能な公開モードを選べます。
- 05トンネル経由のTCP/UDPスループットとレイテンシを測定します。
- 06root権限やTailscaleアカウントが不要で、システムのネットワーク設定も変更せずに動作します。
ユースケース
- インバウンドポートを開けずに、ローカルのサービスやファイルを同僚と手早く共有する。
- ネットワーク全体を公開せずに、リモートLAN上のデータベースやadbポートに接続する。
- ホスト側でインバウンドポートを開かずに、DNS名で接続できるSSHサーバーを実行する。
- ライブラリを使って、Goアプリケーションにピアツーピアの暗号化接続を組み込む。
トピック
よくある質問
- tailcat とは?
- Tailscaleの暗号化データプレーン経由で2台のマシン間にTCP/UDPトンネルを張る、netcat風CLIとGoライブラリ。 Tailcatは、Tailscaleのオープンソースネットワークコンポーネントを使って構築した、WireGuardで暗号化された2台間のトンネルを通じて通信できます。一方のマシンでサーバーを起動すると短いtailcatアドレスが表示され、もう一方のマシンはそのアドレスを使って接続します。接続メタデータは別経路で交換されるため、Tailscaleのコントロールプレーンやアカウント、root権限は不要で、システムのルーティングやDNSを変更する必要もありません。
- tailcat は無料で使えますか?ライセンスは?
- tailcat は BSD-3-Clause ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- tailcat は今もメンテナンスされていますか?
- 活発にメンテナンス中。tailcat の最終コミットは 2026年10月7日 です。
- tailcat は何に使えますか?
- インバウンドポートを開けずに、ローカルのサービスやファイルを同僚と手早く共有する。 ネットワーク全体を公開せずに、リモートLAN上のデータベースやadbポートに接続する。 ホスト側でインバウンドポートを開かずに、DNS名で接続できるSSHサーバーを実行する。 ライブラリを使って、Goアプリケーションにピアツーピアの暗号化接続を組み込む。
- tailcat はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/tailscale/tailcat
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
ローカルのTCPポートをリモートサーバー経由で公開し、localhost上のサービスにインターネットからアクセスできるRust製のシンプルなCLI。
インターネットや外部サーバーを使わず、ローカルネットワーク上の近くのデバイスとファイルやメッセージを共有できる無料のオープンソースアプリ。
OpenTelemetryネイティブのオープンソース可観測性プラットフォーム。ログ、メトリクス、トレース、アラート、ダッシュボードを一元化します。
AndroidスマートフォンをSMSゲートウェイにして、シンプルなHTTP API経由でメッセージを送受信できます。
CLI・Web・TUI・デスクトップアプリから、中国や海外の多数の音楽配信サービスを検索・ダウンロードできるGo製ツール。