これまで手を動かす必要があった 2 つのことが、自分でこなせるようになりました。Connector は自分で更新し、バックアップはファイルと一緒にデータベースも運べるようになりました。このリリースでは、Linux の 1 行インストールと、デスクトップアプリ全体の一連の修正も加わります。
Connector が自分で更新する
これまでは、新しい Connector のバージョンが出るたびに、各サーバーでインストールコマンドをもう一度実行する必要がありました。Connector 0.2.0 からは、それが自動で行われます。各 Connector は自分のバージョンを報告し、ウェブキャビネットはそれぞれに**「更新あり」または「最新です」を表示します。あわせて「自動で更新」スイッチ(既定でオン)と「今すぐ更新」**ボタンもあります。
Connector は、何をインストールするかに慎重です。署名付きのバージョン一覧、ダウンロードのサイズとチェックサム、そしてバイナリ自身の署名を確認し、切り替える前に試験的に実行します。通常の更新は、開いているセッションが終わるのを最大 1 時間待ってから行います。そして、新しいバージョンが 10 分以内に接続できなければ、Connector は自分で、正常に動いていたバージョンに戻します。そのバージョンはその後 7 日間スキップされるので、不具合のあるビルドがループすることはありません。
このリリースより前にインストールした Connector は、新しい仕組みを取り込むために一度だけ手動で更新する必要があります。ウェブキャビネットに 1 行のコマンドが表示されます。実行するまでは、これまでとまったく同じように動き続けます。
ファイルだけでなく、データベースもバックアップ
バックアップジョブで、PostgreSQL と MySQL/MariaDB を、ファイルと同じ暗号化アーカイブにダンプできるようになりました。サーバー上でも Docker コンテナ内でも、1 つのデータベースでもすべてでも対応し、復元方法を記した README をアーカイブに同梱します。
データベースのパスワードが Termalin に保存されることはありません。バックアップは、サーバー自身のローカルな信頼を使ってログインします。ローカルのデータベースユーザーとして、サーバー上の認証情報ファイル(.pgpass または my.cnf)経由で、あるいはコンテナ自身の設定を使います。データベースのバックアップは Linux と macOS のサーバーで動きます(Windows では、当面バックアップはファイルのみです)。また、ダンプの実行中は、サーバーにダンプ自身とほぼ同じサイズの空き容量が必要です。
バックアップのそれ以外の点は変わりません。アーカイブはあなただけが持つ鍵で暗号化され、Termalin のストレージ、自分の S3 バケット、または Connector 経由で自分の別のサーバーに送られます。全体像はサーバーバックアップのページをご覧ください。
AI アプリにバックアップジョブの下書きを作らせる
接続したアシスタントにサーバーのバックアップの設定を頼むと、新しい MCP ツール backup_job_create を使って、代わりに段取りを整えられるようになりました。これでホスト型のツールは全部で 22 個になります。アシスタントがジョブの下書きを作ります。対象にするファイルとデータベース、実行の頻度、残す数、そして保存先です。
下書きが勝手に実行されることはありません。ウェブキャビネットでワンクリックで確定します。暗号鍵が作られるのはこのときで、ほかのバックアップと同じく、あなたのブラウザー内で作られます。実行が始まるのは、確定してからだけです。下書きは 7 日後に期限切れになり、プランのジョブ数の上限にも数えられます。また、このツールには Connector でのフルアクセスが必要です。詳しい一覧は MCP ツールリファレンス(英語)にあります。
バックグラウンドジョブが Windows サーバーでも動くように
バックグラウンドジョブのツール(job_start、job_status、job_stop、job_list)が、Windows の Connector でも PowerShell で動くようになりました。Linux や macOS と同じく、ジョブを開始したセッションが閉じてもジョブは動き続けるので、時間のかかるビルドや移行も自動で最後まで完了します。
パスワードのないアカウントを削除する
Google、GitHub、Apple でのサインイン、あるいは AI アプリの接続ページから作成したアカウントにはパスワードがなく、そのために自分で削除できませんでした。これからは、メールで届く確認リンクで、ウェブキャビネットからでもデスクトップアプリからでも、どのアカウントも削除できます。
Linux 向けの 1 行インストール
Linux でも、ほかのプラットフォームと同じ手軽な方法が使えるようになりました。
curl -fsSL https://termal.in/install.sh | bash
root なしでホームフォルダーにインストールし、メニューと KRunner のエントリ、そして termalin コマンドを追加します。更新するにはもう一度実行し、削除するには --uninstall を渡します。すべての選択肢はダウンロードページをご覧ください。
デスクトップアプリ全体の修正
- Termius などのアプリからエクスポートした OpenSSH 鍵がインポートできます。 これまで「length invalid」というエラーで戻ってきた鍵(鍵のパディングの仕方が少し異なります)も、OpenSSH が受け入れるのと同じように読み込めるようになりました。
- Windows:Scoop でのインストールがまた使えます。 Scoop でインストールしたものは 0.1.47 以降、起動できなくなっていました。すでにインストール済みの場合は
scoop update termalin --forceで更新できます。 - Linux:アプリ内の更新が「Text file busy」で失敗しなくなりました。 また、ダウンロード済みの更新は、取得し直すのではなく再試行のために保持されます。
- Linux:キーリングがロックされていたり起動が遅かったりしても、サインインは保たれます。 KWallet や GNOME Keyring が使えない場合でも、アプリがローカルのデータを失うことはなくなりました。セッションは、どのプラットフォームでも、30 日で期限切れになるのではなく自動で更新されるようになりました。
- Linux:ssh-agent 経由の SSH が、デスクトップのエージェントを見つけます。 アプリをメニューから起動した場合でも見つかり、見つからないときはエラーが理由を説明します。
- 全画面のターミナルアプリが、シェルをそのまま残します。 btop のようなアプリは、終了するとシェルの色と画面を元に戻します。
- シェルを
exitするとターミナルのタブが閉じます(設定)。接続が切れた場合はタブが残り、**「再接続」**ボタンが表示されます。
細かな変更
バックアップのフォームが見やすくなりました。項目がきれいに揃い、スマートフォンの幅でも使え、9 言語すべてに翻訳されています。ホストのフォームは、192.168.1.10 や localhost のようなプライベートアドレスには termal.in から届かないことを示し、AI にそのサーバーを扱わせるには、サーバーに Connector をインストールするよう案内します。トライアルの表示は、期間終了後にアカウントが Free に移ること(ずっと無料で、料金はかかりません)を明記するようになりました。ライフタイムライセンスは Pro · ライフタイム と表示されるようになりました。内部サイトの招待メールにはレート制限がかかり、フォームがスパム送信に使われないようになっています。
いつものように、デスクトップアプリは次に開いたときに更新を案内します。変更の全一覧は変更履歴(英語)にあります。
——Termalin チーム