CLI working
This commit is contained in:
parent
ea879bd57e
commit
566382e0ad
@ -4,15 +4,46 @@ import (
|
||||
"fmt"
|
||||
"os"
|
||||
|
||||
"golang.org/x/crypto/ssh/terminal"
|
||||
|
||||
passage "gogs.bullercodeworks.com/brian/passage-go"
|
||||
)
|
||||
|
||||
func main() {
|
||||
if len(os.Args) < 3 {
|
||||
fmt.Println("Usage: gopass <pin> <door>")
|
||||
os.Exit(1)
|
||||
var pin, door string
|
||||
for i := 1; i < len(os.Args); i++ {
|
||||
switch i {
|
||||
case 1:
|
||||
pin = os.Args[i]
|
||||
case 2:
|
||||
door = os.Args[i]
|
||||
}
|
||||
p := passage.CreatePassage(os.Args[1])
|
||||
}
|
||||
p := passage.CreatePassage("")
|
||||
getInput := (pin == "" && door == "")
|
||||
for getInput {
|
||||
if pin == "" {
|
||||
fmt.Print("Pin: ")
|
||||
pinBt, _ := terminal.ReadPassword(0)
|
||||
fmt.Println("")
|
||||
pin = string(pinBt)
|
||||
}
|
||||
if pin == "" {
|
||||
continue
|
||||
} else {
|
||||
p.SetPin(pin)
|
||||
fmt.Println("Checksum: " + p.GetChecksumAsString())
|
||||
fmt.Println("Password: " + p.GetPassword(os.Args[2]))
|
||||
}
|
||||
if door == "" {
|
||||
fmt.Print("Door (leave empty to re-enter pin): ")
|
||||
fmt.Scanln(&door)
|
||||
}
|
||||
if door == "" {
|
||||
pin = ""
|
||||
} else {
|
||||
getInput = false
|
||||
}
|
||||
}
|
||||
|
||||
fmt.Println(p.GetPassword(door))
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user