Giter Site home page Giter Site logo

gopass-i3wm's Introduction

gopass-i3wm wrapper with sharing secrets via link

This repo provides a bunch of scripts and configs to work with Gopass in i3wm:

  • i3wm config - set of menus and hotkeys to call a bash script
  • gopass.sh bash script - wrapper which handles different behaviour
  • rofi theme - a simple theme file adopted from the default one

One of the behaviour that gopass.sh bash script provides - is an ability to share a password via nginx web server

Software you will need:

rofi, xdotool, tilix (for qr codes)

i3wm config

Basic usage:

Pressing $mod+Print - displaying a rofi menu, selecting the item will:

  1. copy the password to clipboard
  2. store a path to selected item in /dev/shm/dmenu-pass on the localhost

That is covering a most basic everyday needs with fast searching for a passwords

i3wm menu

Gopass menu $mod+Ctrl+Print

Here you find a 7 different hotkeys that can expand the usage of the gopass.
All additional hotkeys are using Mod1 modifier to prevent from accidential pressing.
Before using a menu you should select an item with $mod+Print

  • Mod1+n - type 'username' entry from item if found one
  • Mod1+p - type password. Extremely helpful on a remove consoles eg VmWare
  • Mod1+u - type 'url' entry from item if found one
  • Mod1+e - type an entry name
  • Mod1+c - add password to clipboard (as $mod+Print does)
  • Mod1+q - display a qr code for a password with a drop-down tilix terminal
  • Mod1+s - publish a secret on nginx server via ssh and placing an URI to clipboard

gopass bash script

Only few vars to mention:
QUAKE_TERMINAL_KEY="Super_L+backslash"
The idia behind is to use a drop-down quake-like console of tilix terminal and print qr code there.
SITE="pass.example.com/share" - site path, in order to use sharing SSH_SERVER - your ssh server with nginx

rofi theme

A modified theme came with PeuxOS I guess. Didn't spent there much, just updated a colors, columns and made it transparent. Credentials saved.

Nginx

In order to use a sharing you will need to have an nginx server accessible via ssh. I'll left behind .ssh_config and keys.
I've chosed to use a subdomain and issued letsencrypt certs for sharing domain. Make what feets you best. If you don't have a root on the nginx server set paths in cronjob and nginx config accordingly. In this package you'll find a nginx confg example and crontask.

The default behaviour is to remove a secret just after it has been accessed
All unnopened more than 24h secrets removing as well. In first run you should create a directories on server
mkdir -p /dev/shm/pass/share && chown -R root:nginx /dev/shm/pass && chmod -R 750 /dev/shm/pass

Afterwords

I hope someone will find this package useful
Feel free to use it, improve and leave comments. Please, point me out if I missed something important. No warranty, using of this package assume you know what you are doing ;)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.