mirror of
https://github.com/saymrwulf/puncture.git
synced 2026-05-14 20:48:10 +00:00
1.3 KiB
1.3 KiB
Puncture (Go)
Go implementation of a puncturable-key system (GGM tree) with:
- primary macOS app/server for key derivation, puncturing, providers, and asset encryption/decryption
- iOS emergency companion app for remote provider-level puncture
Current architecture
goapp/cmd/server: headless web server (:9122)goapp/cmd/desktop: macOS desktop app (embedded webview + local server)goapp/internal/crypto: GGM puncturable key managergoapp/internal/app: provider/key/asset state machinegoapp/internal/server: HTTP API + web UIgoapp/ios/EmergencyPuncture: native iOS app
Run primary server
cd goapp
go run ./cmd/server --host 0.0.0.0 --port 9122
Open http://127.0.0.1:9122.
Build macOS app + installer
cd goapp
./packaging/macos/build_dmg.sh
Artifacts:
goapp/dist/Puncture.appgoapp/dist/Puncture.dmg
Persistence
Frontier/puncture/providers/assets are persisted locally and survive restarts. Default desktop paths:
- assets:
~/Library/Application Support/PunctureGo/assets - state:
~/Library/Application Support/PunctureGo/state.json
iOS companion
- Xcode project:
goapp/ios/EmergencyPuncture/EmergencyPuncture.xcodeproj - iPhone install guide:
goapp/ios/INSTALL_IPHONE.md
Legacy Python line
The previous Python implementation is preserved in branch python-legacy.