Macのアプリを、
それぞれが想定する方法で更新します。

多くのアップデータは仕組みを一つに決め、どのアプリもそれで更新します。DuoUpdaterは、各アプリ自身のリリースチャンネル(Sparkleのappcast、App Storeのページ、Homebrewのcask、提供元のリリースフィード)を読み取り、それを使います。

Mac版をダウンロード — 0.4.8

Apple Silicon、macOS 15以降。無料のオープンソースです。 すべてのリリース

DuoUpdaterのメニューバーのポップオーバー。見出しは「58 updates available」(58件のアップデート)で、「Update All」ボタンと検索フィールドがあります。各行には、インストール済みのバージョン、新しいバージョン、アプリの実装技術を示す小さなバッジ、「Update」ボタンが並びます。Ampの行は「1.0 (374)」から「1.0 (390)」です。AndroMeldのバッジに重ねたホバーカードには「Native — a native Mac app, built straight on Apple's frameworks, not a cross-platform runtime. Links AppKit and SwiftUI. Built with the macOS 26.5 SDK.」とあります(クロスプラットフォームのランタイムではなく、Appleのフレームワーク上に直接作られたネイティブのMacアプリで、AppKitとSwiftUIをリンクし、macOS 26.5 SDKでビルドされている、という意味)。下部の行には「3 Homebrew packages not checked」(チェックしていないHomebrewパッケージが3件)と表示されています。

各行にはどのバージョンからどのバージョンへ上がるのかが示され、ボタンには実際に何が起きるのかが示されます。「更新」はインストールを行います。「再起動」は、ディスク上ではすでに更新済みで、実行中のコピーだけが古いことを表します。緑の点は実行中のアプリの印なので、クリックする前に、どれかが終了して再び開かれるのかどうかがわかります。

名前の横のバッジは、そのアプリが何で作られているか(Electron、Qt、Chromium、同梱のJVM、Flutter、Tauri、Catalyst、またはApple Silicon上で動作するiPhoneアプリ)を示し、ポインタを重ねるとランタイムとそのバージョンが表示されます。いずれも、パッケージした側が実際に同梱したものから読み取っており、アプリ名や提供元から判断することはありません。そのため、手がかりのないバンドルは推測でラベルを付けず、ラベルなしのままにします。

ほかと違うところ

張り合わずに任せる

アプリが独自のアップデータを備えている場合は、そのアップデータに作業を任せます。安全に実行できないことがあれば、推測で進めずに、その行にそう表示します。

強制終了はしない

終了は通常の終了要求です。アプリは独自の保存確認を表示でき、終了を拒否することもできます。拒否したアプリには、代わりに「再起動」ボタンが残ります。

ダウンロードの署名者を確認する

アプリが鍵を公開していればEdDSAで検証し、さらにDeveloper ID署名、Team ID、bundle id、アーキテクチャがすべて置き換え対象のアプリと一致することを確認します。加えて、ロールバックできるバックアップも残します。

お使いの言語で表示

English、简体中文、繁體中文、日本語、Deutsch、Español、Français、Italiano、Português (Brasil)、Русский、Türkçeに対応しています。言語の設定項目はなく、macOSで設定されている言語にそのまま従います。

サーバを持たない

テレメトリも解析用のSDKもありません。すべてのリクエストはチェック対象のアプリの提供元に直接送られ、あなたに関する情報は何も含みません。

ワークベンチのウインドウ。スキャンしたすべてのアプリを一覧にしたサイドバーと、選択したアプリのリリースノートがネイティブのテキストで表示されています(バージョンの見出し、日付、変更ごとに1項目の箇条書き)。
ウインドウを開くと、スキャンしたすべてのアプリと、選択したアプリのリリースノートが表示されます。提供元が解析する価値のある形式でノートを公開している場合は、内容を分解し、埋め込みのWebページではなくネイティブのテキストとして表示します。
「Release Log」(リリースログ)のタイムライン。リリースが日ごとにまとめられ、それぞれにアプリ、バージョン、取得元、そして正確な公開時刻かおおよその時間幅が表示されています。
検出したバージョンはすべて記録されるので、使っているソフトウェアが実際にいつリリースされているのかが、時間とともにログとして蓄積されます。リリース時刻を正確とするのは、提供元自身のフィードにタイムスタンプがある場合だけです。それ以外は≈付きの時間幅で示します。正直なところ、わかっているのはそこまでだからです。
DuoUpdaterの「General」設定。横のサイドバーには「Folders」「Updates」「GitHub」「Alcove」「Ignored」「Diagnostics」が並んでいます。項目は、ログイン時に起動、チェックの間隔、Dockアイコンの非表示、各アプリの実装技術を表示するかどうか、通知、自動再起動、ロールバック用のバックアップとその使用容量、同時にチェックするアプリの数、そしてApp Storeのアップデート、自己更新するアプリ、TestFlightベータのインストール経路です。
設定の多くは、どこまで任せるかを決めるものです。アプリの再起動を任せるかどうか、ロールバック用のバックアップを残すかどうか、そして扱いにくい2つのケース、つまりMac App Storeのアプリと独自のアップデータを備えたアプリをどう振り分けるか、といった項目です。