A simple and lightweight encrypted password manager written in Go.

Contributors Forks Stargazers Issues MIT License


Logo

Osiris Password Manager

A simple and lightweight encrypted password manager written in Go.

Report Bug || Request Feature

Table of Contents

About The Project


You don't have to remember your passwords anymore with Osiris!

example

Built With

Getting Started

To get a local copy up and running follow these simple steps.

Prerequisites

  • linux or windows (available for macOS only with Docker)

Installation

Debian and Ubuntu-based

# go to Releases and download the deb package
# install the deb package
sudo apt install ./Osiris-pwm1.0.deb

Any other Linux distribution

# select where to download the program, for example here I download it to the Desktop
cd Desktop
# clone and go into repo
git clone https://github.com/Gyro7/Osiris-pwm.git
cd Osiris-pwm/
# change mod
chmod +x Osiris-pwm
# run
./Osiris-pwm

Any other Linux distribution (Releases method)

# go to Releases and download the .zip file
# decompress it
unzip -q Osiris-pwm1.0.zip
# go into the directory
cd Osiris-pwm
# change mod
chmod +x Osiris-pwm
# run
./Osiris-pwm

Any other Linux distribution (Build from source)

For this method you need to have Go installed, build-essential and a few dependencies (even tho they should be downloaded automatically)
If you encounter any problems in installing dependencies, follow this guide: https://github.com/go-gl/glfw

# clone and go into repo
git clone https://github.com/Gyro7/Osiris-pwm.git
cd Osiris-pwm/
# remove the linux executable
rm Osiris-pwm
# build
go build
# run
./Osiris-pwm

Windows

Go to Releases and download the setup for Windows (.exe file)
Follow the simple steps
IF THE PROGRAM DOESN'T WORK, RIGHT CLICK ON IT, GO TO PROPERTIES, GO TO COMPATIBILITY AND SELECT "ALWAYS EXECUTE AS ADMINISTRATOR"

Usage

If you followed the previous steps, you just have to run the program. To add a new element to the grid click the white add button on the middle left. To delete an element, edit it so that all its entries are empty, then head to the Edit menu and click "Delete empties" To change theme go to File -> Settings

Developing

Building

Build Script

A build script is provided for easy building. Docker is the only dependency.

Using Docker has the following benefits:

  • Build Linux packages on Mac and Windows
  • Builds are consistent, always built the same way
  • Does not require the build chain to be installed on your workstation
build/docker/build.sh

Built artifacts will be in build/artifacts/ when the build is complete

ls build/artifacts

Osiris-pwm  
Osiris-pwm_linux_amd64.zip  
Osiris-pwm.SHA256SUMS

Local build tools

If Docker is not an option, or you prefer to build in your own environment, you will need the following installed:

  • Go toolchain
  • A C compiler (GCC), this project uses CGO
    • Debian: build-essential
    • Fedora: @development-tools
  • This project uses go-gl, which has its own build requirements

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

Contact

gyro - [email protected] Project Link: https://github.com/Gyro7/Osiris-pwm

Acknowledgements

Owner
A busy programmer and student who tries to upload his projects weekly. Hope u'll enjoy them <3
null
Similar Resources

Chrome-Password-Dumper - Chrome password dumper written in Go for Linux and Windows

Chrome-Password-Dumper Chrome password dumper written in Go for Linux and Window

May 25, 2022

Encrypted-websocket-chat - Encrypted websocket chat using golang

Encrypted websocket chat First version written in python This version should be

Sep 15, 2022

Age-encrypted-notebook - Age encrypted notes saved in a bolt DB

Age Encrypted Notebook (aen) Disclaimer: This project has the sole purpose of ge

Sep 15, 2022

simple-jwt-provider - Simple and lightweight provider which exhibits JWTs, supports login, password-reset (via mail) and user management.

Simple and lightweight JWT-Provider written in go (golang). It exhibits JWT for the in postgres persisted user, which can be managed via api. Also, a password-reset flow via mail verification is available. User specific custom-claims also available for jwt-generation and mail rendering.

Oct 12, 2022

Time-Based One-Time Password (TOTP) and HMAC-Based One-Time Password (HOTP) library for Go.

otpgo HMAC-Based and Time-Based One-Time Password (HOTP and TOTP) library for Go. Implements RFC 4226 and RFC 6238. Contents Supported Operations Read

Nov 26, 2022

Not Yet Another Password Manager written in Go using libsodium

secrets Secure and simple passwords manager written in Go. It aims to be NYAPM (Not Yet Another Password Manager), but tries to be different from othe

May 30, 2022

A CLI password manager written in Go

vlt A CLI password vault written in Go vlt is a command line tool for storing passwords in encrypted files. Files are stored on a per-user basis in $H

Oct 23, 2021

Password manager written in golang

Password manager written in golang

Go password manager Password manager written in golang. Dependencies: gpg golang

Dec 2, 2021

Simple password manager app in GO

Introduction This is my first project in Go, a password manager application. A humble attempt at execution of an idea I've had for some time now. The

Sep 13, 2022

A simple command line functionality to convert your Kaspersky Password Manager exported file to CSV format

A simple command line functionality to convert your Kaspersky Password Manager exported file to CSV format

Apr 20, 2022

Secure, private and feature-rich CLI password manager

Secure, private and feature-rich CLI password manager

Kure Kure is a free and open-source password manager for the command-line. This project aims to offer the most secure and private way of operating wit

Nov 17, 2022

The slightly more awesome standard unix password manager for teams

The slightly more awesome standard unix password manager for teams

gopass Introduction gopass is a password manager for the command line written in Go. It supports all major operating systems (Linux, MacOS, BSD) as we

Dec 4, 2022

password manager using age for encryption

page ====== password manager using age (https://age-encryption.org/) for encryption. encrypted secrets are files in the $PAGE_SECRETS/ directory that

May 30, 2022

A Go Module to interact with Passbolt, a Open source Password Manager for Teams

go-passbolt A Go Module to interact with Passbolt, a Open source Password Manager for Teams This Module tries to Support the Latest Passbolt Community

Oct 29, 2022

Go based HTTP server with 2FA based on OTP (One-Time Password) manager like Google Authenticator

Go based HTTP server with 2FA based on OTP (One-Time Password) manager like Goog

Aug 21, 2022

Eagle - Eagle is a fast and strongly encrypted key-value store written in pure Golang.

EagleDB EagleDB is a fast and simple key-value store written in Golang. It has been designed for handling an exaggerated read/write workload, which su

Sep 28, 2022

MSSQLDecryptor - Small and simple tool for decrypting encrypted views, functions and stored procdeures in Microsoft SQL Server

MSSQLDecryptor small and simple decryptor for encrypted objects in Microsoft SQL

Mar 7, 2022
Comments
  • Cannot build on Linux. Please document dependencies.

    Cannot build on Linux. Please document dependencies.

    I am using Fedora 33

    go version go1.15.2 linux/amd64
    
    Linux localhost.localdomain 5.10.11-200.fc33.x86_64 #1 SMP Wed Jan 27 20:21:22 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
    
    ➜  Osiris-pwm git:(main) go build
    go: downloading fyne.io/fyne/v2 v2.0.0
    go: downloading github.com/d-tsuji/clipboard v0.0.3
    go: downloading github.com/BurntSushi/xgb v0.0.0-20200324125942-20f126ea2843
    go: downloading github.com/fsnotify/fsnotify v1.4.9
    go: downloading github.com/godbus/dbus/v5 v5.0.3
    go: downloading golang.org/x/image v0.0.0-20200430140353-33d19683fad8
    go: downloading github.com/srwiley/oksvg v0.0.0-20200311192757-870daf9aa564
    go: downloading github.com/goki/freetype v0.0.0-20181231101311-fa8a33aabaff
    go: downloading github.com/srwiley/rasterx v0.0.0-20200120212402-85cb7272f5e9
    go: downloading golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c
    go: downloading golang.org/x/net v0.0.0-20201021035429-f5854403a974
    go: downloading github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200625191551-73d3c3675aa3
    go: downloading github.com/fredbi/uri v0.0.0-20181227131451-3dcfdacbaaf3
    go: downloading gopkg.in/yaml.v2 v2.2.8
    go: downloading github.com/go-gl/gl v0.0.0-20190320180904-bf2b1f2f34d7
    # pkg-config --cflags  -- gl gl
    Package gl was not found in the pkg-config search path.
    Perhaps you should add the directory containing `gl.pc'
    to the PKG_CONFIG_PATH environment variable
    Package 'gl', required by 'virtual:world', not found
    Package 'gl', required by 'virtual:world', not found
    pkg-config: exit status 1
    # github.com/go-gl/glfw/v3.3/glfw
    In file included from ./glfw/src/internal.h:188,
                     from ./glfw/src/context.c:30,
                     from ../../go/pkg/mod/github.com/go-gl/glfw/v3.3/[email protected]/c_glfw.go:4:
    ./glfw/src/x11_platform.h:33:10: fatal error: X11/Xlib.h: No such file or directory
       33 | #include <X11/Xlib.h>
          |          ^~~~~~~~~~~~
    compilation terminated.
    
  • Add build script

    Add build script

    I initially had trouble building this package on my machine. I wrote a build script that leverages Docker as a build environment.

    Usage (build and run)

    1. build: build/docker/build.sh
    2. run: build/artifacts/Osiris-pwm

    The script will cleanup containers and images, leaving behind only the built binary, zipped binary, and checksum file.

    This script should be usable on Macos, as long as Docker is installed. Of course, the built binary will be for Linux but it gives flexibility on where Osiris-pwm can be developed.

    I noticed you are building deb packages, build/docker/Dockerfile could be extended to build a deb package. I am happy to add that functionality, but I need the steps required for building the deb package.

    I think this script will help keep builds consistent, and easy for contributors to jump right in.

  • Support AppImage

    Support AppImage

    I think this project is a textbook usecase for App Image. App Image is great for applications that have some external dependencies that some users may not have installed. It also allows the user to run the project on any incompatable Linux system that has App Image.

    I am happy to work on this if you think it will be useful.

Stash is a locally hosted web-based app written in Go which organizes and serves your porn.

Stash is a locally hosted web-based app written in Go which organizes and serves your porn.

Nov 30, 2022
Redcon is a custom Redis server framework for Go that is fast and simple to use.
Redcon is a custom Redis server framework for Go that is fast and simple to use.

Redcon is a custom Redis server framework for Go that is fast and simple to use. The reason for this library it to give an efficient server front-end for the BuntDB and Tile38 projects.

Dec 1, 2022
Dead simple rate limit middleware for Go.

Limiter Dead simple rate limit middleware for Go. Simple API "Store" approach for backend Redis support (but not tied too) Middlewares: HTTP, FastHTTP

Nov 23, 2022
Simple middleware to rate-limit HTTP requests.

Tollbooth This is a generic middleware to rate-limit HTTP requests. NOTE 1: This library is considered finished. NOTE 2: Major version changes are bac

Dec 2, 2022
A dead simple parser package for Go
A dead simple parser package for Go

A dead simple parser package for Go

Nov 26, 2022
Go (golang) library for creating and consuming HTTP Server-Timing headers
Go (golang) library for creating and consuming HTTP Server-Timing headers

HTTP Server-Timing for Go This is a library including middleware for using HTTP Server-Timing with Go. This header allows a server to send timing info

Nov 19, 2022
Go middleware for monetizing your API on a per-request basis with Bitcoin and Lightning ⚡️

ln-paywall Go middleware for monetizing your API on a per-request basis with Bitcoin and Lightning ⚡️ Middlewares for: net/http HandlerFunc net/http H

Nov 25, 2022
👄 The most accurate natural language detection library in the Go ecosystem, suitable for long and short text alike
👄 The most accurate natural language detection library in the Go ecosystem, suitable for long and short text alike

Its task is simple: It tells you which language some provided textual data is written in. This is very useful as a preprocessing step for linguistic data in natural language processing applications such as text classification and spell checking. Other use cases, for instance, might include routing e-mails to the right geographically located customer service department, based on the e-mails' languages.

Nov 27, 2022
A simple and lightweight encrypted password manager written in Go.
A simple and lightweight encrypted password manager written in Go.

A simple and lightweight encrypted password manager written in Go.

Jun 16, 2022
A password manager as a CLI, where you can use a master password to retrieve a specified password and store it in your clipboard
A password manager as a CLI, where you can use a master password to retrieve a specified password and store it in your clipboard

Password manager Description CLI to store and retrieve passwords. The retrieved password will be stored on your clipboard! Usage 1.Start with Go go ru

Dec 16, 2021