Linux 向けのコマンドラインツールで、Steam の二要素認証コード生成や取引承認を管理できます。ソースコードは以下から入手可能です:
https://gitcode.com/gh_mirrors/st/steamguard-cli
ディレクトリ構成と役割
steamguard-cli/ ├── Cargo.toml # プロジェクト設定(Rust) ├── README.md # 基本説明・使用方法 ├── src/ # ソースコード本体 │ ├── main.rs # アプリケーションエントリーポイント │ ├── interface/ # CLI コマンド処理 │ │ └── handler.rs │ ├── platform/ # Steam API 関連機能 │ │ ├── core.rs │ │ ├── token_gen.rs │ │ └── approval.rs │ └── security/ # 暗号化・復号処理 │ ├── vault.rs │ └── cipher.rs └── target/ # ビルド出力先
- Cargo.toml:依存ライブラリやプロジェクトメタデータを定義。
- README.md:インストール手順や基本的な操作ガイドを記載。
- src/main.rs:アプリ起動時に最初に実行されるメインルーチン。
- interface/handler.rs:ユーザー入力を解析し、対応する処理を呼び出す。
- platform/:Steam サーバーとの通信や認証コード生成を担当。
- security/:秘密鍵やセッションデータの暗号化・復号を実装。
エントリーポイントの動作
src/main.rs は次のように構成されています:
fn main() {
let args = parse_arguments();
match args.action {
Action::CreateToken => produce_2fa_code(),
Action::ApproveDeal => handle_confirmation(),
_ => println!("Unknown command"),
}
}
parse_arguments():ユーザーが入力したコマンドラインオプションを解釈。Action::CreateToken:二要素認証用の時限コードを生成。Action::ApproveDeal:保留中の取引を承認または拒否。
設定ファイルの内容
Cargo.toml には以下のような情報が含まれます:
[package]
name = "steamguard-cli"
version = "0.14.2"
edition = "2021"
[dependencies]
clap = "4.0"
serde = { version = "1.0", features = ["derive"] }
reqwest = { version = "0.11", features = ["json"] }
tokio = { version = "1.0", features = ["full"] }
[features]
default = []
headless = []
- [package]:プロジェクト名、バージョン、使用する Rust エディションを指定。
- [dependencies]:外部ライブラリ(例: clap で CLI 解析、reqwest で HTTP 通信)。
- [features]:オプション機能(例: GUI 不要モード)を条件付きで有効化。