Chat-tails: Throwback terminal chat, built on Tailscale

2025/12/17 6:16

Chat-tails: Throwback terminal chat, built on Tailscale

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

ブライアン・スコットは、マインクラフトをプレイしながら子どもが安全に会話できるよう設計されたIRC風ターミナルチャット「chat‑tails」を作成しました。

このアプリは Tailscaletsnet ライブラリを利用しており、音声・画像・プラグインは一切使用せず、純粋なASCIIテキストのみで対話を行うことで簡潔さと安全性を保っています。

chat‑tails は二つのモードに対応しています:

  • 通常モード:
    ./chat-server <port> <room-name> <max-users>
    を Raspberry Pi などのマシンで実行します。
  • Tailscale モード: サーバーを
    --hostname
    と認証キーで起動し、tailnet 上の任意のデバイスが
    telnet hostname.something.ts.net <port>
    で参加できます。

ターミナル UI は bubbletea で構築されており、

/who
,
/help
,
/me
(イタリック体で表示されるアクション)、
/quit
といったコマンドが利用可能です。最近の更新では履歴オプションも追加されています。

約二日間で10歳の Go 開発者によって作られた軽量ツールは、低スペックハードウェア上で動作し、「一時的」なイベントチャットや Slack/Discord の最小限代替として機能します。また VPN、SSH、およびターミナルの基礎について学ぶきっかけともなります。プロジェクトは Tailscale コミュニティハブに掲載されており、貢献は community@tailscale.com までメールで歓迎されています。

本文

マイクラをプレイしながら子どもが友達と安全にチャットできる場所を探すため、ブライアン・スコットは過去へ戻らざるを得ませんでした。チャットは昔のIRC風インターフェースで、端末からアクセスする形になりました。接続や設定は未来的です。なぜなら、彼が Tailscale と tsnet を使って chat‑tails を構築したからです。

chat‑tails は現代のチャットアプリにあるあらゆる機能とは逆を行く設計になっています。招待を受けた人だけが入れるようにし、すべてのメッセージは一時的に保存され検索できず、音声やプラグイン、アバター、画像はありません―ASCII アートさえも除けば何もないのです。それこそがブライアンが求めていたものでした。

「これは友達同士の tailnet を横断して、ゲームや好きなことについて話せるプライベート空間を作ることにあります」とスコットは語ります。「昔は LAN 上でコンピュータを集めてゲームをする感覚があったでしょう。今では世界中どこにいても同じ気持ちになれるような、ただのプライベートエリアを提供したいんです。」

仕組み

chat‑tails を動かす方法は Regular モードTailscale モード の二種類があります。

Regular モード

./chat-server
を実行し、ポート番号・ルーム名・最大ユーザー数を指定します。これでローカルネットワーク上にチャットが作られます。他人を招待したい場合はルーターの設定でポート転送を有効にする必要がありますが、子どもたちが使う家用ルーターで telnet 風のチャットポートを開くのはあまりおすすめできません。

Tailscale モード

Regular と同じ手順ですが、さらに

--hostname
(Tailscale ユーザーと共有した際に
hostname.something.ts.net
でアクセス可能になる)と、Tailscale に接続するための認証キーを渡します。tailnet 上の任意のデバイスから
nc
や telnet コマンドでアクセスできます。

telnet hostname.something.ts.net 2323

接続すると端末上でチャットが行われます。テキストを入力して Enter を押すと、全員に送信されます。利用できるコマンドは次の四つです。

  • /who
    – ユーザー一覧
  • /help
    – この四つのコマンドを表示
  • /me
    – 文字列をイタリック体で「アクション」風に変換(例:reaches for an ice‑cold Diet Coke
  • /quit
    – 接続終了

アプリは極力シンプルで、機能追加も随時検討中です(最近では履歴オプションが追加されました)。現在のところ、本来の目的をきちんと果たしています。

古典的なチャットスペースの構築

スコットはフルタイムの開発者ではありませんが、Go で約十年の経験があります。tsnet ライブラリに注目しており、Go と Tailscale を組み合わせたプロジェクトを模索していました。チャットへのインスピレーションが湧いたとき、彼は「二日ほど」でライブラリの学習と実験を行いました。

「tsnet(ライブラリ)は実際に一番簡単でした」とブライアンは語ります。
ネットワークと認証が整ったら、残りは端末1で入力したテキストを別端末のユーザーが読む形で表示するという、思っていたよりも難しいタスクに集中すればよかっただけです。
「Discord のようなものなら WebSocket を使うでしょう。しかし端末ベースのチャットアプリなら TCP と UDP だけで十分なのです。」

チャットを単なるテキストライン以上に見せるためには bubbletea(オープンソースのターミナル UI ライブラリ)が役立ちました。

「最小限に抑えつつ、見た目は気持ち良くしたいと思いました」とブライアンは語ります。

Go に精通している人なら拡張や変更も可能です。彼はターミナルチャットで画像を描画するライブラリを調べ、Taildrop を使って全員が Tailscale 上にいるチャットを想像しました。chat‑tails は Raspberry Pi などの SBC でも簡単に動作し、イベント時のポータブルな一時的チャットやレトロ志向のグループの Slack/Discord を置き換える用途にも適しています。

「Tailscale 上で起動して拡張すれば、コミュニティは VPN 技術、SSH、端末操作などを学べます」とブライアンは言います。
「レトロ‑フューチャリスティックで楽しい感覚が得られます。」

まとめ

ブライアンの chat‑tails は私たちのコミュニティプロジェクトハブに掲載されています。Tailscale を使って何か面白いものを作ったら、メールで community@tailscale.com に送信してください。

chat‑tails や他のコミュニティプロジェクトを楽しんでいるなら、Discord の #community‑projects チャンネルもご覧ください。また、Reddit、Bluesky、Mastodon、LinkedIn でも優れたプロジェクトが共有されています。

同じ日のほかのニュース

一覧に戻る →

2025/12/17 6:14

Prediction: AI will make formal verification go mainstream

## Japanese Translation: > 記事は、人工知能がソフトウェアが仕様を満たしていることを数学的に証明する「形式検証」を、ニッチな研究活動から日常のエンジニアリング実務へと導くと主張しています。Coq、Isabelle、Lean、F*、Agda などの証明支援ツールはすでに OS カーネル、コンパイラ、暗号スタックなど大規模システムを形式的に検証することを可能にしています。現在では言語モデル型コーディングアシスタントが実装コードとそれに付随する証明スクリプトの両方をドラフトでき、極小の検証済みチェッカーは無効な証明を拒否し、AI エージェントが幻覚(hallucinate)した場合には再試行を強制します。2009 年に公開された seL4 マイクロカーネル(8,700 行の C コードで 20 人年と 20 万行の Isabelle コード)が示すように、従来は労力集約的な検証が行われてきましたが、世界中で数百人程度の専門家しかそのような証明を作成できず、コストはバグ修正費用を上回ることも多いです。著者は AI がこれらのコストを低減するにつれて、より多くのソフトウェアが形式検証され、人間によるレビューではなく AI 生成コードに依存するようになると予測しています。残された最大の障壁は正確な仕様書を書くことです——仕様書作成は証明より容易ですが、それでも専門知識を要します。AI は自然言語での要求を形式的に翻訳する手助けができるかもしれませんが、ニュアンスの損失リスクがあります。広範な採用はバグと脆弱性を削減し、エンジニアリングワークフローを再構築し、仕様書作成に関する新たなスキルを要求しますが、文化的受容こそが主流化への主要障壁となります。

2025/12/17 1:54

alpr.watch

## Japanese Translation: 米国全土の自治体は急速に監視技術を導入しており、既に8万台以上のカメラが設置されています。 新しいプラットフォーム **alpr.watch** は、市議会の議題リストから「flock」「license plate reader」「ALPR」などのキーワードをスキャンし、それぞれの議論をマップ上にピン留めします。住民はこれらのシステムについて議論が行われている場所を確認でき、必要に応じて行動を起こすことができます。ユーザーはメールアドレスで登録すると、自分のエリア内の会議通知を受け取ることが可能です。 12月中旬以前に収集された全データは未検証です。今後提出される情報は正確性を確認するためにモデレートされます。 **ALPR** システムは、24時間365日すべての通行車両からナンバープレートデータを取得し、読み取り、保存します。最大規模のメーカーの一つである **Flock Safety** は、そのユニットを直接近隣住民や警察署に販売しています。カメラは機関・管轄区域間でデータを共有し、数百万の米国人を追跡する監視ウェブを構築します。これらのシステムは、意図された範囲を超えて拡張されることが多く、例えば移民取り締まりに使用されたり、恒久的なインフラストラクチャーとなったりします。 Electronic Frontier Foundation(EFF)、ACLU、Fight for the Future、STOP、Institute for Justice、および地域コミュニティグループなどのプライバシー擁護団体は、すでにこれらの動向を監視しています。 *この改訂された要約はリストからすべての主要ポイントを反映し、未確認推測を含まず、メインメッセージを明確かつ簡潔に保っています。*

2025/12/17 4:20

No Graphics API