TailCode — TailscaleでOpenCodeを簡単公開するターミナルウィザード
概要
TailCodeはローカルで動くOpenCodeインスタンスをTailscaleのtailnet経由で公開するためのシンプルなターミナルウィザードです。ユーザーがTailscaleに接続していない場合はサインインを促し、ローカルでopencodeを127.0.0.1にバインドして起動する手順を案内します。その後、tailscale serveでサービスを公開し、tailnetアクセス用のURLとQRコードを表示してスマートフォン等からも簡単にアクセスできるようにします。コマンドの存在チェックやエラーチェック、対話型プロンプトを組み合わせて、手作業を減らすことが目的です。
リポジトリの統計情報
- スター数: 36
- フォーク数: 1
- ウォッチャー数: 36
- コミット数: 5
- ファイル数: 11
- メインの言語: TypeScript
主な特徴
- Tailscaleとopencodeのインストール/接続をチェックして対話的に導くCLIウィザード
- ローカルでopencodeを127.0.0.1で起動することを推奨し、安全に公開するワークフロー
- tailscale serveを用いたtailnet内での公開と、アクセス用URLとQRコードの生成・表示
- 軽量でシンプル、限定された目的(OpenCode公開)に特化した実装
技術的なポイント
TailCodeはTypeScriptで書かれた小さなCLIツールで、実装上のコアは「外部コマンドの存在確認」「対話的プロンプト」「プロセス管理」「公開URLの取得と表示」の4点に集約されます。まず起動時にtailscaleコマンドとopencodeコマンドの存在を確認し、なければ案内を出すことで前提条件の不足を防ぎます。Tailscaleに未ログインの場合はサインインフロー(CLIのQRコード/ブラウザフロー)に誘導し、ユーザーがtailnetに参加できるようにします。
ローカルのopencodeは127.0.0.1で起動するように促され、これにより外部からの直接アクセスを防ぎつつtailscale serveによってtailnet上で公開する安全なモデルを採用しています。ツールはopencodeを子プロセスとして起動するか、既存のローカルサーバーを利用することを想定しており、必要に応じてプロセスの開始・終了を管理します。公開手順ではtailscale serveコマンドを発行し、その結果からtailnet向けの公開URLを抽出して表示、さらに端末上でQRコードを生成してスマホでも素早くアクセスできるようにします。
設計面では依存する外部コマンドの出力に依拠するため、各コマンドのエラーハンドリングとタイムアウト、ユーザーへの明確なフィードバックが重要です。また、127.0.0.1バインド+tailscale経由での公開はセキュリティ上の利点があり、認証・公開範囲はtailnetのポリシーに依存します。クロスプラットフォームでの実行を意識した実装(シェルコマンドの呼び出しやパス解決)や、ユーザーフィードバックのための対話型UI(プロンプト、ステータス表示、QRコード)に重点が置かれています。小規模プロジェクトのため内部は単純明快で、拡張や自動化への取り込みも容易です。
プロジェクトの構成
主要なファイルとディレクトリ:
- .gitignore: file
- .oxfmtrc.json: file
- AGENTS.md: file
- CLAUDE.md: file
- LICENSE: file
…他 6 ファイル
まとめ
Tailscaleを使ったローカル公開の手間を大幅に削減する、実用的で軽量なCLIツールです。
リポジトリ情報:
- 名前: tailcode
- 説明: 説明なし
- スター数: 36
- 言語: TypeScript
- URL: https://github.com/kitlangton/tailcode
- オーナー: kitlangton
- アバター: https://avatars.githubusercontent.com/u/7587245?v=4
READMEの抜粋:
TailCode
TailCode is a small terminal wizard that sets up remote access to OpenCode over your Tailscale tailnet.
It walks you through:
- connecting/logging into Tailscale
- starting
opencode serveon127.0.0.1 - publishing it with
tailscale serve - showing the tailnet URL and a QR code for phone access
How It Works
- TailCode checks that
tailscaleandopencodeare installed - If Tailscale is not connected, it prompts you to sign in (including QR-based flows from Tailscale)
- I…