From ff6f5da824a891f7044a5a1925ddf2d225da7158 Mon Sep 17 00:00:00 2001 From: Randall Winkhart Date: Sun, 7 Jul 2024 22:59:55 -0400 Subject: [PATCH] [wiki/MUTN] Add basic building/installation instructions --- README.md | 18 ++---------------- commit.sh | 2 +- {extra => completions}/completion.bash | 0 {extra => completions}/completion.ps1 | 0 {extra => completions}/completion.zsh | 0 wiki/MUTN/build.md | 12 ++++++++++++ wiki/MUTN/completions.md | 4 ++-- wiki/MUTN/install.md | 8 ++++++++ wiki/main.md | 4 +++- 9 files changed, 28 insertions(+), 20 deletions(-) rename {extra => completions}/completion.bash (100%) rename {extra => completions}/completion.ps1 (100%) rename {extra => completions}/completion.zsh (100%) create mode 100644 wiki/MUTN/build.md create mode 100644 wiki/MUTN/install.md diff --git a/README.md b/README.md index b8ae256..dd7d36e 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,7 @@ # MUTN Password Manager Pronounced as: "mutton", "muh·tn" -MUTN is a simple, self-hosted, SSH-synchronized password manager based on libmutton. - -MUTN is an expanded re-implementation of [sshyp](https://github.com/rwinkhart/sshyp) written in Go. - -Though MUTN will feel very familiar to users of sshyp, it is intended to differ and breaks compatibility with its entry format. +MUTN is a simple, self-hosted, SSH-synchronized password manager based on libmutton. It is the successor to [sshyp](https://github.com/rwinkhart/sshyp). > [!WARNING] >It is your responsibility to assess the security and stability of MUTN and to ensure it meets your needs before using it. @@ -16,17 +12,7 @@ Though MUTN will feel very familiar to users of sshyp, it is intended to differ MUTN aims to make it as simple as possible to manage passwords and notes via CLI across multiple devices in a secure, self-hosted fashion. # Building -This repository is currently home to both the MUTN client and the general libmutton server software. - -Official binaries are stripped of debug info for size and built without CGO (except for distribution packages) for portability, as follows: -``` -CGO_ENABLED=0 go build -ldflags="-s -w" ./mutn.go -CGO_ENABLED=0 go build -ldflags="-s -w" ./libmuttonserver.go -``` - -Additionally, some custom build tags can be used to create different binaries. The following tags are not used in official builds: -- `wsl`: Allows creating a Linux binary that can interact with the Windows clipboard (for WSL) -- `termux`: Allows creating a Linux binary that can interact with the Termux clipboard (for Android) +See the [building guide](https://github.com/rwinkhart/MUTN/blob/main/wiki/MUTN/build.md). # Roadmap #### Release v0.2.0 - Make repo public - No binaries diff --git a/commit.sh b/commit.sh index bb02ecb..52de35a 100755 --- a/commit.sh +++ b/commit.sh @@ -1,6 +1,6 @@ #!/bin/sh gofmt -l -w -s ./src/cli/*.go gofmt -l -w -s ./src/backend/*.go -git add -f extra src wiki .gitignore commit.sh go.mod go.sum LICENSE mutn.go libmuttonserver.go README.md +git add -f extra completions src wiki .gitignore commit.sh go.mod go.sum LICENSE mutn.go libmuttonserver.go README.md git commit -m "$1" git push diff --git a/extra/completion.bash b/completions/completion.bash similarity index 100% rename from extra/completion.bash rename to completions/completion.bash diff --git a/extra/completion.ps1 b/completions/completion.ps1 similarity index 100% rename from extra/completion.ps1 rename to completions/completion.ps1 diff --git a/extra/completion.zsh b/completions/completion.zsh similarity index 100% rename from extra/completion.zsh rename to completions/completion.zsh diff --git a/wiki/MUTN/build.md b/wiki/MUTN/build.md new file mode 100644 index 0000000..05e8a46 --- /dev/null +++ b/wiki/MUTN/build.md @@ -0,0 +1,12 @@ +## Building +This repository is currently home to both the MUTN client and the general libmutton server software. + +Official binaries are stripped of debug info for size and built without CGO (except for distribution packages) for portability, as follows: +``` +CGO_ENABLED=0 go build -ldflags="-s -w" -trimpath ./mutn.go +CGO_ENABLED=0 go build -ldflags="-s -w" -trimpath ./libmuttonserver.go +``` + +Additionally, some custom build tags can be used to create different binaries. The following tags are not used in official builds: +- `wsl`: Allows creating a Linux binary that can interact with the Windows clipboard (for WSL) +- `termux`: Allows creating a Linux binary that can interact with the Termux clipboard (for Android) \ No newline at end of file diff --git a/wiki/MUTN/completions.md b/wiki/MUTN/completions.md index 8ecb041..7f2adf8 100644 --- a/wiki/MUTN/completions.md +++ b/wiki/MUTN/completions.md @@ -1,6 +1,6 @@ ## Shell Completions Troubleshooting ### ZSH completions not working? -Make sure your ~/.zshrc contains the following: +Make sure your ~/.zshrc contains the following (if sourcing from default completions location, usually `/usr/share/zsh/functions/Completion/Unix/_mutn`): ```shell autoload -Uz compinit && compinit ``` @@ -9,7 +9,7 @@ autoload -Uz compinit && compinit ### Bash completions not working? Install your distribution's 'bash-completion' package or source the completion script manually. -For most environments, this would mean adding the following to your ~/.bashrc: +For most environments, manual sourcing means adding the following to your ~/.bashrc: ```shell source /usr/share/bash-completion/completions/mutn ``` diff --git a/wiki/MUTN/install.md b/wiki/MUTN/install.md new file mode 100644 index 0000000..6a72e81 --- /dev/null +++ b/wiki/MUTN/install.md @@ -0,0 +1,8 @@ +## Installation +MUTN is still in early development and thus no installation packages are officially distributed. + +For now, please [compile from source](https://github.com/rwinkhart/MUTN/blob/main/wiki/MUTN/build.md). + +After compiling and placing the binaries in your $PATH, it is highly recommended to also download and correctly place/source the relevant shell completions scripts. [Shell completions are provided for ZSH, Bash, and PowerShell 7+](https://github.com/rwinkhart/MUTN/tree/main/completions). + +For help with completions scrips, see [completions troubleshooting](https://github.com/rwinkhart/MUTN/blob/main/wiki/MUTN/completions.md). \ No newline at end of file diff --git a/wiki/main.md b/wiki/main.md index e30d549..91cfa3c 100644 --- a/wiki/main.md +++ b/wiki/main.md @@ -3,7 +3,9 @@ Crossed out items have not yet been added to the wiki. ### MUTN-specific Information -[~~Installation~~](https://github.com/rwinkhart/MUTN/blob/main/wiki/MUTN/main.md) +[Installation](https://github.com/rwinkhart/MUTN/blob/main/wiki/MUTN/install.md) + +[Building](https://github.com/rwinkhart/MUTN/blob/main/wiki/MUTN/build.md) [~~Usage~~](https://github.com/rwinkhart/MUTN/blob/main/wiki/MUTN/usage.md)