107 lines
2.4 KiB
Markdown
107 lines
2.4 KiB
Markdown
# 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
|
|
|
|
```bash
|
|
go run .
|
|
```
|
|
|
|
Phone-sized preview:
|
|
|
|
```bash
|
|
go run . -mode phone
|
|
```
|
|
|
|
## Test
|
|
|
|
```bash
|
|
go test ./...
|
|
go tool golangci-lint run ./...
|
|
```
|
|
|
|
KDBX security and KDF compatibility notes are documented in [`docs/kdbx-compatibility.md`](./docs/kdbx-compatibility.md).
|
|
|
|
## Build
|
|
|
|
Desktop build:
|
|
|
|
```bash
|
|
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:
|
|
|
|
```bash
|
|
go build -ldflags "-X git.julianfamily.org/keepassgo/internal/appui.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:
|
|
|
|
```bash
|
|
makepkg -si
|
|
```
|
|
|
|
The package installs:
|
|
|
|
- `/usr/bin/keepassgo`
|
|
- `/usr/bin/keepassgo-browser-bridge`
|
|
- 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:
|
|
|
|
```bash
|
|
go test ./...
|
|
```
|
|
|
|
Install:
|
|
|
|
```bash
|
|
go get -tool gioui.org/cmd/gogio@latest
|
|
```
|
|
|
|
Package:
|
|
|
|
```bash
|
|
go tool gogio -target android -icon internal/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`](./docs/desktop-automation.md).
|
|
|
|
## Browser Extension
|
|
|
|
Firefox and Chromium browser integration is available through the local gRPC API plus a native messaging bridge.
|
|
See [`docs/browser-extension.md`](./docs/browser-extension.md).
|