2.2 KiB
KeePassGO
KeePassGO is a Go-based KeePass-compatible password manager targeting desktop first, with future Android support.
Current Capabilities
- KDBX load and save
- password-only, key-file-only, and composite master-key flows through the desktop product UI
- master-key changes for existing vault sessions
- WebDAV-backed open and save support in the session layer
- password generation profiles
- gRPC integration surface for trusted automation
- template, attachment, group, history, and recycle-bin persistence
Run
go run .
Phone-sized preview:
go run . -mode phone
Test
go test ./...
go tool golangci-lint run ./...
KDBX security and KDF compatibility notes are documented in docs/kdbx-compatibility.md.
Build
Desktop build:
go build ./cmd/keepassgo
By default, build outputs stamp the app version from git describe --tags --always --dirty.
You can override the version shown in KeePassGO with:
go build -ldflags "-X git.julianfamily.org/keepassgo.appVersion=v0.0.1" ./cmd/keepassgo
Arch Linux Package
An AUR-style package definition for the Linux desktop client lives under:
packaging/archlinux/keepassgo-git/
From that directory you can build and install it with:
makepkg -si
The package installs:
/usr/bin/keepassgo- a desktop entry at
/usr/share/applications/keepassgo.desktop - application icons under the hicolor theme
Android Packaging
KeePassGO uses Gio, so Android packaging is done with gogio.
The repo now has automated tests for the packaging contract:
- default APK build arguments
- required Android SDK / NDK / JDK layout checks
Those are covered by normal test runs:
go test ./...
Install:
go get -tool gioui.org/cmd/gogio@latest
Package:
go tool gogio -target android -icon assets/keepassgo-icon.png ./cmd/keepassgo
You will need the Android SDK and NDK installed and configured for real device or release packaging.
Automation
Desktop automation is resolved through the secure gRPC API rather than synthetic auto-type.
See docs/desktop-automation.md.