世界を動かす技術を、日本語で。

FOKS: フェデレーテッドオープンキーサービス

2025年7月10日原文(foks.pub)

概要

FOKSの各OS別インストール手順まとめ。 Windows・macOS・Linux(Debian/Ubuntu/Fedora)向けの方法を整理。 静的バイナリやソースコードからのビルド手順も記載。 macOSでは開発者署名済みバイナリ利用による利便性向上。 サーバー構築手順も含む。

FOKS 各OS別インストール方法

  • Windows

    • Chocolateyパッケージマネージャー利用
      • コマンド:choco install foks
  • macOS

    • Homebrewによる自動インストール
      • コマンド:brew install foks
      • Cask配布方式の署名済みバイナリ利用
        • NE43 INC (L2W77ZPF94) による署名
        • 署名済みバイナリによりmacOSキーチェーンの パスワード入力省略
        • 未署名の場合、アップグレード時ごとに複数回管理者パスワード入力が必要
  • Debian/Ubuntu

    • 初回インストール
      • コマンド:curl -fsSL https://pkgs.foks.pub/install.sh | sh
    • aptソース設定済み後のインストール
      • コマンド:apt-get install foks
  • Fedora Linux

    • 初回インストール
      • コマンド:curl -fsSL https://pkgs.foks.pub/install.sh | sh
    • dnfによるインストール
      • コマンド:dnf install foks
  • 静的Linuxバイナリ

    • 自動アップデート非対応
      • コマンド:curl -fsSL https://pkgs.foks.pub/install-static.sh | sh

FOKS ソースコードからのビルド手順

  • Goインストール必須(バージョン1.23以上)
    • SQLiteビルドには CGO が必要
  • クライアントビルド手順
    • コマンド:go install github.com/foks-proj/go-foks/client/foks@latest
    • シンボリックリンク作成
      • コマンド:(cd $(dirname $(which foks)) && ln -s foks git-remote-foks)
    • サービス起動
      • コマンド:foks ctl start

FOKS サーバー構築手順

  • クラウドVMまたはベアメタルサーバー利用
    • docker-compose必須
    • インストールスクリプト利用
      • コマンド:/usr/bin/env bash <(curl -fsSL https://pkgs.foks.pub/server-install.sh)
    • ソースコードからのビルドも可能
      • コマンド:go install github.com/foks-proj/go-foks/server/foks-tool@latest
      • インタラクティブセットアップ
        • コマンド:foks-tool standup --interactive
      • サービス起動
        • コマンド:docker-compose up -d

Hackerたちの意見

マックスです、FOKSの作者です。基本的な暗号操作を行うのに、どれだけのグルーが必要かっていうのが面白いですね、2025年でも。例えば、YubiKeyで秘密を暗号化するっていうすごくシンプルなアイデアを考えてみてください。もしそれが本当に大事な秘密なら、失いたくないですよね。だから、万が一のためにバックアップ用のYubiKeyがもう一つ必要になります。でも、どうやって暗号化するの?必要なときにプライマリーをどうやって入れ替えるの?私の理解では、FOKSのようなシステム以外にはあまり良い解決策がないと思います。FOKSじゃなくても、こういうシステムは絶対に必要で、完全にオープンであるべきだと思います。そうすれば、好きなアプリケーションをその上に構築できるし、使用料もかからないですから。

TL;DR: FOKSはKeybaseのようなものですが、完全にオープンソースでフェデレーテッドです。ユーザーの視点から見て、現在Keybaseとどんな機能が共通していますか?例えば、私はKeybaseを主に公開アイデンティティ(HN、Redditなど)を使った安全なメッセージングやデータ/ファイルの共有のために覚えています。

マックス!あなたがこれをやってくれて本当に嬉しいです!私はKeybaseの大ファンで、ここ数年は分散型のオープンソース版を祈って(時には資金調達のアイデアを考えたり)過ごしてきました。FOKSの詳細を掘り下げるのが楽しみですが、あなたとKeybaseチームがやってきたこと、特にZoomの買収後もKeybaseを続けてくれたことに感謝したいです。

Max、これ面白そうだね!ブログをフォローしたいんだけど、Atomフィードを追加してもらえるかな?

FOKSはクールなプロジェクトだね。これからどんなプロジェクトが派生すると思う?実は、KeybaseのMerkleツリーとアイデンティティ証明の使い方にインスパイアされた暗号学ベースのプロジェクトに取り組んでるんだけど、プライバシーを高めるために仮名とチェーンハッシングを加えてるんだ。これに時間をかけてくれてありがとう!

KERIをまだ見たことがないなら、ぜひ読んでみて!インターネットアイデンティティワークショップで知ったんだけど、公開鍵のための生活の質を向上させる機能がたくさんあるんだよ。取り消し、ローテーション、リカバリーとかね。「キーイベントレシートインフラストラクチャ」。証人に依存してるみたいだけど、そこはどうかなって思う。でも、プレゼンはすごく印象的だったよ。 https://keri.one/

「フェデレーション」はどう機能するんですか?実際のチームデータは、用語があるFOKSサーバーに保存されていると思うので、そこからチームメンバーがそのサーバーを使って軽量なSSOを持つってことですか?

正解です!リモートのチームメンバーは、サーバーにアカウントがなくても共有されたチームキーやチームのデータにアクセスできます。チームキーを知っているだけで、リモートユーザーが認証してサーバーとの間で(暗号化された)データを転送できるんです。サーバー間の通信はほとんどないので、設計やソフトウェアのアップグレードが簡単になります。

これは、元々のKeybaseの人がオープンソースの類似版を作るために戻ってきたというコンテキストです - https://blog.foks.pub/posts/introducing/

すでにgitサポートがあるっていうのはすごいですね。一つのコマンドでKeybaseのgitリポジトリを簡単に移行できます。

昔は、遊びでやってたDevOpsプロジェクトのためにKeybaseのGitリポジトリを使ってファイルベースのシークレット管理をしてたんだ。FOKSのGitリポジトリか、SOPSのネイティブサポートがあったらめっちゃクールだね!

フロントページのAI生成画像は、これの信頼性をかなり損なっていますね…。

Hacker Newsで議論の続きを見る