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 (not available for mac at the moment)

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 SELECTE "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

minimal implementation of secured encrypted tcp/ip connection without tls / ssl.

go-secure-transport Demo implementation of secured encrypted TCP connection without TLS / SSL. See ./example for server & client using the transport t

Dec 15, 2021

An end-to-end encrypted secret messaging service.

Nimie An End-to-end encrypted Anonymous Messaging Service. In a nutshell This service basically empowers you to have short anonymous conversations wit

Dec 17, 2021

Peer-to-peer encrypted message exchange

Constellation Constellation is a self-managing, peer-to-peer system in which each node: Hosts a number of NaCl (Curve25519) public/private key pairs.

Nov 11, 2022

A convenience library for generating, comparing and inspecting password hashes using the scrypt KDF in Go 🔑

simple-scrypt simple-scrypt provides a convenience wrapper around Go's existing scrypt package that makes it easier to securely derive strong keys ("h

Dec 22, 2022

Secret - Encrypt anything with a password

 Secret - Encrypt anything with a password

Secret - Encrypt anything with a password Ever wanted to hide a file? Now you can do it really easily! Usage secret {-e/--encrypt | -d/--decrypt} sou

Aug 10, 2022

:key: Idiotproof golang password validation library inspired by Python's passlib

passlib for go 100% modules-free. Python's passlib is quite an amazing library. I'm not sure there's a password library in existence with more thought

Dec 19, 2022

 🚀 cpwd is create password tool

 🚀 cpwd is create password tool

cpwd 🚀 cpwd is create password tool Install source code git clone https://github.com/songqii/cpwd_code.git cd $GOPATH/src/cpwd_code go build brew br

Dec 29, 2021

Use the HashPassword function to generate a hashed value for the provided password

hasher Use the 'HashPassword' function to generate a hashed value for the provided password. h, err := hasher.HashPassword("password") // h == XohImNo

Nov 1, 2021

Blooming Password

Blooming Password A program that implements the NIST 800-63-3b Banned Password Check using a bloom filter built from the Have I been pwned SHA1 passwo

Oct 13, 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.

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
go seof: Simple Encrypted os.File

Encrypted implementation of golang' os.File. It handles WriteAt, Seek, Truncate, etc. Can deal with huge files, random access, etc.

Jan 8, 2023
sops is an editor of encrypted files that supports YAML, JSON, ENV, INI and BINARY formats and encrypts with AWS KMS, GCP KMS, Azure Key Vault, age, and PGP
sops is an editor of encrypted files that supports YAML, JSON, ENV, INI and BINARY formats and encrypts with AWS KMS, GCP KMS, Azure Key Vault, age, and PGP

sops is an editor of encrypted files that supports YAML, JSON, ENV, INI and BINARY formats and encrypts with AWS KMS, GCP KMS, Azure Key Vault, age, and PGP. (demo)

Jan 9, 2023
Cross-platform application for easy encrypted sharing of files, folders, and text between devices.
Cross-platform application for easy encrypted sharing of files, folders, and text between devices.

wormhole-gui Wormhole-gui is a cross-platform application that lets you easily share files, folders and text between devices. It uses the Go implement

Dec 30, 2022
LightRPC Encrypted reliable components RPC

light LightRPC Multi-protocol encryption RPC Multi-protocol TCP KCP UNIX HTTP MQTT QUIC Encoding JSON MessagePack Protobuf Compress RawData Snappy GZI

Dec 7, 2022
🔐 Share end-to-end encrypted secrets with others via a one-time URL
🔐 Share end-to-end encrypted secrets with others via a one-time URL

If you use this repo, star it ✨ ?? Share end-to-end encrypted secrets with others via a one-time URL Use to securely share API Keys, Signing secrets,

Dec 26, 2022
🔐 Share end-to-end encrypted secrets with others via a one-time URL
🔐 Share end-to-end encrypted secrets with others via a one-time URL

If you use this repo, star it ✨ ?? Share end-to-end encrypted secrets with others via a one-time URL Use to securely share API Keys, Signing secrets,

Dec 26, 2022
ddlcpad, *Doki Doki Literature Club Plus Asset Decrypter*, is a tool to decrypt the encrypted asset file on the Doki Doki Literature Club Plus. Writing in golang.

ddlcpad įŽ€äŊ“中文 What is this ddlcpad is short of Doki Doki Literature Club Plus Asset Decrypter You can decrypt the *.cy file from Doki Doki Literature C

Nov 27, 2022
ThanosDecryptor is an project to decrypt files encrypted by Thanos ransomware.

Prometheus-Decryptor Prometheus-Decryptor is an project to decrypt files encrypted by Prometheus ransomware. Command Arguments Usage of ./bin/promethe

Dec 16, 2022
Bare Bones Encrypted File Uploading Service

eggnog Basic file uploading service in Go. Files are XOR encrypted server side, and are only accessible with the key. It's not perfect encryption, but

Nov 15, 2021