mirror of
https://github.com/rwinkhart/MUTN.git
synced 2026-08-28 04:46:41 -04:00
Prepare to tag v0.1.0
This commit is contained in:
@@ -20,32 +20,27 @@ MUTN is currently in early development and does not yet have online synchronizat
|
|||||||
To build the current version of MUTN, simply clone this repository and run `go build` in its root directory.
|
To build the current version of MUTN, simply clone this repository and run `go build` in its root directory.
|
||||||
|
|
||||||
# Roadmap
|
# Roadmap
|
||||||
- Refactor for better modularity
|
- Release v0.2.0 - No binaries
|
||||||
- Release v0.1.0 - No binaries
|
- Crete server software
|
||||||
- Crete server software
|
- Add native sync (based on golang.org/x/crypto/ssh)
|
||||||
- Add native sync
|
- Update entry format with reserved space for TOTP
|
||||||
- Add netpin (quick-unlock replacement) functionality
|
- Release v0.2.1 - No binaries
|
||||||
- Release v0.2.0 - Make repo public - x86_64_v1 binary
|
- Replace init with interactive ttyPod-based menu
|
||||||
- Println text-wrapping
|
- Release v0.3.0 - Make repo public - x86_64_v1 binary
|
||||||
- Markdown support for notes
|
- Swap to native encryption, consider making GPG optional or removing entirely
|
||||||
- Release v0.2.1 - x86_64_v1 binary
|
- Release v0.4.0 - x86_64_v1 binary
|
||||||
- Swap to native encryption, consider making GPG optional or removing entirely
|
- Password aging support
|
||||||
- Swap to native SSH if not already done
|
- Add password aging info to entry names
|
||||||
- Release v0.3.0 - x86_64_v1 binary
|
- Make constant character count to easily trim for user interaction
|
||||||
- Replace init with interactive ttyPod-based menu
|
- Release v1.0.0 - Distribution packages (from here on out)
|
||||||
- Release v0.3.1 - x86_64_v1 binary
|
- Perform extensive testing, fixing, and optimizing
|
||||||
- Password aging support
|
- Create artwork
|
||||||
- Release v0.4.0 - x86_64_v1 binary
|
- Create manpage
|
||||||
- Perform extensive testing, fixing, and optimizing
|
- Create packaging script
|
||||||
- Create artwork
|
- Release v1.1.0
|
||||||
- Create manpage
|
- Cascading encryption support
|
||||||
- Create packaging script
|
- Release v1.2.0
|
||||||
- Release v1.0.0
|
- Custom color scheme support
|
||||||
- Official packages for:
|
- Release v1.3.0
|
||||||
- Arch Linux (AUR PKGBUILD, source-based with user's architecture feature level)
|
- Add build option for breaking markdown support and menus into separate binaries
|
||||||
- Debian 12+/Ubuntu 24.04+ Linux
|
- Greatly reduces startup time
|
||||||
- Alpine Linux
|
|
||||||
- Fedora Linux
|
|
||||||
- FreeBSD
|
|
||||||
- Windows
|
|
||||||
- MacOS (aarch64 only)
|
|
||||||
@@ -28,6 +28,7 @@ func main() {
|
|||||||
// entry reader shortcut (if no other arguments are supplied)
|
// entry reader shortcut (if no other arguments are supplied)
|
||||||
if argsCount == 2 {
|
if argsCount == 2 {
|
||||||
cli.EntryReaderDecrypt(targetLocation, true, false)
|
cli.EntryReaderDecrypt(targetLocation, true, false)
|
||||||
|
|
||||||
// perform other operations on the entry (if other arguments are supplied)
|
// perform other operations on the entry (if other arguments are supplied)
|
||||||
} else if argsCount == 3 || (argsCount == 4 && (args[3] == "show" || args[3] == "-s")) {
|
} else if argsCount == 3 || (argsCount == 4 && (args[3] == "show" || args[3] == "-s")) {
|
||||||
if argsCount == 3 { // default to "password" if no field is specified (for copy, edit, and add)
|
if argsCount == 3 { // default to "password" if no field is specified (for copy, edit, and add)
|
||||||
@@ -62,8 +63,6 @@ func main() {
|
|||||||
|
|
||||||
} else if argsCount >= 4 {
|
} else if argsCount >= 4 {
|
||||||
|
|
||||||
// declare entry field to perform target operation on
|
|
||||||
|
|
||||||
switch args[2] {
|
switch args[2] {
|
||||||
case "copy":
|
case "copy":
|
||||||
var field int // indicates which (numbered) field to copy
|
var field int // indicates which (numbered) field to copy
|
||||||
@@ -84,7 +83,7 @@ func main() {
|
|||||||
}
|
}
|
||||||
backend.CopyArgument(targetLocation, field, args[0])
|
backend.CopyArgument(targetLocation, field, args[0])
|
||||||
case "edit":
|
case "edit":
|
||||||
var field int // indicates which field to edit
|
var field int // indicates which (numbered) field to edit
|
||||||
switch args[3] {
|
switch args[3] {
|
||||||
case "password", "-pw":
|
case "password", "-pw":
|
||||||
field = 0
|
field = 0
|
||||||
|
|||||||
+1
-1
@@ -22,7 +22,7 @@ func RenameCli(oldLocation string) {
|
|||||||
// exit is done from backend.Rename
|
// exit is done from backend.Rename
|
||||||
}
|
}
|
||||||
|
|
||||||
// EditEntryField edits a field of an entry at targetLocation (user input), does not allow for editing notes
|
// EditEntryField edits a field of an entry at targetLocation (user input)
|
||||||
func EditEntryField(targetLocation string, hidePassword bool, field int) {
|
func EditEntryField(targetLocation string, hidePassword bool, field int) {
|
||||||
// fetch old entry data (with all required lines present)
|
// fetch old entry data (with all required lines present)
|
||||||
unencryptedEntry := backend.GetOldEntryData(targetLocation, field)
|
unencryptedEntry := backend.GetOldEntryData(targetLocation, field)
|
||||||
|
|||||||
@@ -142,7 +142,7 @@ ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
|
|||||||
" ◎-◎ // \\\\ " + ansiVersionMeat + "♥♥♥♥♥♥♥♥♥" + backend.AnsiReset + " // \\\\ /|\\\n" +
|
" ◎-◎ // \\\\ " + ansiVersionMeat + "♥♥♥♥♥♥♥♥♥" + backend.AnsiReset + " // \\\\ /|\\\n" +
|
||||||
ansiVersionOutline + "<><><><><><><><><><><><><><>-<><><><><><><><><><><><><><>\n" +
|
ansiVersionOutline + "<><><><><><><><><><><><><><>-<><><><><><><><><><><><><><>\n" +
|
||||||
"\\" + ansiBlackOnWhite + " " + backend.AnsiReset + ansiVersionOutline + "/\n" +
|
"\\" + ansiBlackOnWhite + " " + backend.AnsiReset + ansiVersionOutline + "/\n" +
|
||||||
"\\" + ansiBlackOnWhite + " MUTN Version 0.0.1 " + backend.AnsiReset + ansiVersionOutline + "/\n" +
|
"\\" + ansiBlackOnWhite + " MUTN Version 0.1.0 " + backend.AnsiReset + ansiVersionOutline + "/\n" +
|
||||||
"\\" + ansiBlackOnWhite + " The Butchered Update " + backend.AnsiReset + ansiVersionOutline + "/\n" +
|
"\\" + ansiBlackOnWhite + " The Butchered Update " + backend.AnsiReset + ansiVersionOutline + "/\n" +
|
||||||
"\\" + ansiBlackOnWhite + " " + backend.AnsiReset + ansiVersionOutline + "/\n" +
|
"\\" + ansiBlackOnWhite + " " + backend.AnsiReset + ansiVersionOutline + "/\n" +
|
||||||
"\\" + ansiBlackOnWhite + " Copyright (c) 2024 Randall Winkhart " + backend.AnsiReset + ansiVersionOutline + "/\n" +
|
"\\" + ansiBlackOnWhite + " Copyright (c) 2024 Randall Winkhart " + backend.AnsiReset + ansiVersionOutline + "/\n" +
|
||||||
|
|||||||
Reference in New Issue
Block a user