{"id":43959248,"url":"https://github.com/nktmys/winticator","last_synced_at":"2026-04-08T13:00:57.079Z","repository":{"id":335956952,"uuid":"1144838214","full_name":"nktmys/winticator","owner":"nktmys","description":"Winticator is an independent, open-source TOTP authenticator for desktop environments (Windows / macOS / Linux), implemented as a cross-platform reference application.","archived":false,"fork":false,"pushed_at":"2026-03-30T03:14:32.000Z","size":2722,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-30T05:53:10.455Z","etag":null,"topics":["2fa","authenticator","fyne","go","linux","macos","rfc-6238","totp","totp-authenticator","windows"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nktmys.png","metadata":{"files":{"readme":"README-ja.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-29T05:24:20.000Z","updated_at":"2026-03-30T03:10:30.000Z","dependencies_parsed_at":null,"dependency_job_id":"924888c1-bf0a-4b44-b0a5-3fbc1c849d9d","html_url":"https://github.com/nktmys/winticator","commit_stats":null,"previous_names":["nktmys/winticator"],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/nktmys/winticator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nktmys%2Fwinticator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nktmys%2Fwinticator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nktmys%2Fwinticator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nktmys%2Fwinticator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nktmys","download_url":"https://codeload.github.com/nktmys/winticator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nktmys%2Fwinticator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31319737,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T23:57:25.032Z","status":"ssl_error","status_checked_at":"2026-04-02T23:57:06.281Z","response_time":89,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["2fa","authenticator","fyne","go","linux","macos","rfc-6238","totp","totp-authenticator","windows"],"created_at":"2026-02-07T05:06:07.494Z","updated_at":"2026-04-03T00:01:30.720Z","avatar_url":"https://github.com/nktmys.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"./src/assets/icons/appicon.png\" alt=\"Winticator logo\" title=\"Winticator\" align=\"left\" height=\"60px\" /\u003e\n\n# Winticator\n\n[![Go version](https://img.shields.io/github/go-mod/go-version/nktmys/winticator)](https://github.com/nktmys/winticator/blob/main/go.mod)\n[![GitHub release](https://img.shields.io/github/release/nktmys/winticator)](https://github.com/nktmys/winticator/releases/latest)\n[![GitHub all releases](https://img.shields.io/github/downloads/nktmys/winticator/total)](https://github.com/nktmys/winticator/releases) \n[![Build Status](https://img.shields.io/github/actions/workflow/status/nktmys/winticator/test.yaml?label=go%20test)](https://github.com/nktmys/winticator/actions/workflows/test.yaml)\n\n[English](./README.md) | 日本語\n\n`Winticator` は、デスクトップ環境（Windows / macOS / Linux）で動作する**TOTP 認証アプリケーション**の、独立したオープンソース実装です。\nクロスプラットフォーム対応のリファレンスアプリケーションとして実装されています。\n\n本プロジェクトは、公開標準に基づいたスタンドアロン型・クロスプラットフォームデスクトップアプリケーションを\nどのように構築・配布できるかを示す**技術的デモンストレーション**を目的としています。\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./images/ss-top-register.gif\" alt=\"Winticator demo\" width=\"400\"\u003e\n\u003c/p\u003e\n\n---\n\n## 概要\n\n- Windows / macOS / Linux に対応したクロスプラットフォームデスクトップアプリケーション\n- 公開標準 **TOTP（RFC 6238）** に基づく実装\n- 完全オフライン動作（ネットワーク通信なし）\n- シンプルかつ最小限の機能構成\n- **MIT License** に基づくオープンソースソフトウェアとして公開\n\nWinticator は**技術的な実装方法や可搬性**に重点を置いており、製品としての差別化や商用利用を目的としていません。\n\n---\n\n## 機能\n\n- **QRコードスキャン** — **追加**ボタンを押すだけで、画面からTOTP用QRコードをスキャンし自動検出\n- **Google Authenticatorインポート** — `otpauth-migration://` QRコードによる一括インポート\n- **バックアップ・リストア** — 独自のパスワード保護されたバックアップファイルでのエクスポート・インポート\n- **完全オフライン** — ネットワーク通信なし。すべてのデータは端末内に保持\n- **クリップボードにコピー** — エントリをタップしてOTPコードをクリップボードにコピー。有効期限後にクリップボードを自動クリア\n- **QRコード表示** — 各エントリをQRコードとして表示し、他のデバイスに転送可能\n\n---\n\n## 対応URIスキーム\n\n| スキーム | 説明 |\n|----------|------|\n| `otpauth://` | 個別エントリ追加用の標準TOTP URI形式（RFC 6238） |\n| `otpauth-migration://` | 一括インポート用のGoogle Authenticatorエクスポート形式 |\n\n\u003e **注意:** `otpauth-migration://` のQRコードは、エントリ数が多いとデータが密集し、デコードに失敗する場合があります。\n\u003e スキャンに失敗した場合は、表示スケールを変更して再度スキャンするか、エクスポート元アプリから1件ずつエクスポートしてください。\n\n---\n\n## Screenshots\n\n| TOTP List | Settings |\n|:---------:|:--------:|\n| \u003cimg src=\"./images/ss-01-totp-list.png\" alt=\"TOTP List\" width=\"350\"\u003e | \u003cimg src=\"./images/ss-02-settings.png\" alt=\"Settings\" width=\"350\"\u003e |\n\n| App Info | QR Code |\n|:--------:|:------:|\n| \u003cimg src=\"./images/ss-03-appinfo.png\" alt=\"App Info\" width=\"350\"\u003e | \u003cimg src=\"./images/ss-04-qrcode.png\" alt=\"QR Code\" width=\"350\"\u003e |\n\n---\n\n## ダウンロード\n\nお使いのプラットフォーム用のバイナリを[リリースページ](https://github.com/nktmys/winticator/releases/latest)からダウンロードできます。\n\n| プラットフォーム | アーキテクチャ | ファイル |\n|------------------|----------------|----------|\n| Windows | x64 (amd64) | `winticator-windows.zip` |\n| macOS | Apple Silicon (arm64) | `winticator-macos.zip` |\n| Linux | x64 (amd64) | `winticator-linux.tar.xz` |\n\n**他のアーキテクチャのバイナリをご希望の場合は、[issue](https://github.com/nktmys/winticator/issues)でお気軽にご連絡ください。**\n\n---\n\n## プロジェクトの目的\n\nこのプロジェクトの主な目的は以下の通りです：\n\n- **クロスプラットフォームなデスクトップアプリケーション**を構築するための実践的なアプローチを示すこと\n- デスクトップ環境におけるTOTP認証アプリケーションの**リファレンス実装**を提供すること\n- **公開されている標準仕様や情報**を活用した実装知識を共有すること\n\nこのプロジェクトは**商用プロダクトとしての提供を目的としたものではなく**、既存のサービスやアプリケーションと競合・代替する目的としていません。\n\n---\n\n## 準拠規格および参照情報\n\nWinticator は、以下のような**公開資料のみ**に基づいて実装されています：\n\n- RFC 6238：Time-Based One-Time Password Algorithm\n- TOTPに関するの公開ドキュメントおよび仕様\n- オープンソースのリファレンス実装\n\n特定の企業や組織が保有する**独自アルゴリズム、設計情報、内部仕様等は一切使用していません**。\n\n---\n\n## 非提携に関する免責事項\n\nWinticator は**独立したプロジェクト**です。\n\n- **Google社とは一切の提携・関係・承認を受けていません**\n- **特定の企業・団体との提携・関係・承認もありません**\n- 記載されている製品名やサービス名は、説明目的でのみ使用されています\n\n---\n\n## 範囲と制限事項\n\nこのプロジェクトは、意図的にシンプルかつ中立な構成としています：\n\n- 機能は最小限に限定しています\n- 高度なユーザビリティ、企業向け機能、サービス連携等は対象外です\n- 他の認証アプリケーションとの比較、評価を目的としていません\n\nこのプロジェクトの目的は、**明確さとシンプルさ**であり、機能の網羅性ではありません。\n\n---\n\n## ライセンス\n\nこのプロジェクトは**MITライセンス**のもとで公開されています。\n\nライセンス条項に従う限り、商用利用を含め、自由に使用・改変・再配布・組み込むことができます。\n\n詳細は[LICENSE](./LICENSE)ファイルをご参照ください。\n\n---\n\n## トラブルシューティング\n\n### macOS: 「アプリが壊れている」または開けない場合\n\nmacOSでアプリを起動しようとした際に、以下のようなエラーメッセージが表示されることがあります：\n- 「\"Winticator\"は壊れているため開けません」\n- 「開発元を検証できないため\"Winticator\"を開けません」\n\nこれはmacOSのGatekeeper検疫機能によるものです。以下のコマンドをターミナルで実行して解決できます：\n\n```bash\nxattr -r -d com.apple.quarantine /Applications/Winticator.app\n```\n\n`/Applications/Winticator.app`はアプリの実際の配置場所に合わせて変更してください。\n\n### macOS: QRコードスキャンが動作しない場合\n\n「画面収録とシステムオーディオ録音」の権限を有効にしているにもかかわらず、QRコードスキャンが動作しない場合、権限が正しく機能していない可能性があります。\n\n以下の手順で解決できます：\n1. **システム設定** → **プライバシーとセキュリティ** → **画面収録とシステムオーディオ録音** を開く\n2. **−**（マイナス）ボタンをクリックしてWinticatorをリストから削除する\n3. 再度Winticatorを追加し、権限を有効にする\n\nこれにより、QRコードスキャンに必要な画面キャプチャ機能が復旧します。\n\n---\n\n## 注意事項\n\nこのプロジェクトは **現状のまま（as is）** で提供され、いかなる保証も伴いません。\n\n実運用や企業利用を前提としたプロダクションレベルのソリューションをお探しの場合は、公式なサポートを提供している既存の製品・サービスをご検討ください。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnktmys%2Fwinticator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnktmys%2Fwinticator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnktmys%2Fwinticator/lists"}