Giter VIP home page Giter VIP logo

secretin-app's Introduction

Secretin

Jacques Secrétin

Open source secret manager with groups management based on WebCryptoAPI http://www.w3.org/TR/WebCryptoAPI/

This repository contains the default client implementation.

Installation guide on wiki or behinf : https://github.com/secretin/secretin-app/wiki

Don't hesitate to open issues or feature requests !

Use it

Go to https://secret-in.me and enjoy the application.

To use the heavy application download the latest release : https://github.com/secretin/secretin-app/releases/latest

BE CAREFUL, YOU HAVE TO SPECIFY THE API TO CONNECT OTHERWISE IT'S DEFAULTLY BINDED TO DEV ENVIRONMENT WHICH IS WIPED REALLY OFTEN.

Under linux secretin-app --secretin-api=https://api.secret-in.me Under Windows, create a shortcut like this

Build yourself

Installing yarn

Follow the official yarn documentation : https://yarnpkg.com/en/docs/install

Installing secretin-app

yarn install
REACT_APP_API_SECRETIN=https://api.your-secret-in.me yarn build

Build electron package

REACT_APP_API_SECRETIN should define your secretin api server (default is http://devapi.secret-in.me:3000)

Installing yarn

Follow the official yarn documentation : https://yarnpkg.com/en/docs/install

Installing secretin-app

yarn install
REACT_APP_API_SECRETIN=https://api.your-secret-in.me yarn electron

REACT_APP_API_SECRETIN should define your secretin api server (default is http://devapi.secret-in.me:3000)

This will create secretin-app-<OS>-<ARCH> directory with secretin-app binary inside.

Setup the app

Build yourself the app or download zipped files from our github pages (which host current https://secret-in.me)

https://github.com/secretin/secretin-app/archive/gh-pages.zip

Unzip it and serve content of secretin-app-gh-pages/

This branch is linked to https://api.secret-in.me, if you want to set your own api url, you can use this command

sed -i 's/https:\/\/api.secret-in.me/http:\/\/api.my-own-secret-in.me:3000/g' secretin-app-gh-pages/static/js/*.js

Be carefull to use secure origin to host the files (localhost for dev or https server) see https://www.chromium.org/Home/chromium-security/prefer-secure-origins-for-powerful-new-features

To support URL rewriting you can setup a catch-all rule or set 404 page on the index.html

nginx

error_page 404 /index.html;

secretin-app's People

Contributors

agix avatar calyhre avatar dlajarretie avatar ziouf avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

secretin-app's Issues

Add a note section

Sometimes you need some context information or comment with a secret.
Adding a textarea field in the add secret form will be useful

Suggest / autocomplete user names for sharing

It would be useful to have some sort of suggestion when typing the username I want to share a secret with.

This suggestion would be based on users with whom I have already shared secrets. There would be no autocomplete when sharing a secret with a user for the first time.

Set default login value in settings

The login field often contains the same value, for instance the email of the user.
It would save some time for the user to pre-fill this field with a value customizable in the settings.

Feature request : Password strength

It would be great if password strength could be choosen before generating it like in Lastpass or Keepass.
The secretin-lib used to generate the password seems to support au lot of options, so a simple modal windows could do the job easily.

"User not found" error never disappears, even after successful sharing

If you type a wrong username when sharing a secret, the error "User not found" appears, but then it doesn't go away if you close the modal, or type a correct username.

capture d ecran 2017-01-02 a 19 09 54

How to reproduce :

  1. On a secret, go to "who has access" tab
  2. Share with a non-existing user
  3. Share with an existing user

Feature request : Hide some secrets

I would like to be able to hide some secrets from the main list, especially when it's secrets that have been shared with me.
Currently when someone shares something with me, it stays in my secrets list forever.

Move a secret

Hello, is it possible to add an option to able moving a "secret" to another folder?

Feature request: Secret expiration date

First thanks, secretin looks really promising and helps us a lot.
This is a suggestion, will it be possible to add an expiration date to secrets.
So owner of the secret could be notify if a password needs to be updated.
The goal of this will be to help putting in place secret renewal.

Provid a docker image

Hello !

It would be cool to provide a docker image with everything pre-built so that you just to configure some environment variables and you are ready to go with a local version of the app.

It is also a sort of documentation on how to set up the project for a production environment.

Bugfix : 'propTypes' is not defined no-undef

I'm facing the following issue while building application

$ yarn run build-css && NODE_PATH=./src node_modules/.bin/react-scripts build
Rendering Complete, saving .css file...
Wrote CSS to /usr/lib/secretin-app/src/index.css
Creating an optimized production build...
Failed to compile.

./src/components/App.js
  Line 18:  'propTypes' is not defined  no-undef

Search for the keywords to learn more about each error.

error Command failed with exit code 1.

I found out that upgrading react-scripts to latest version solve the problem.

After react-script upgrade:

$ yarn run build-css && NODE_PATH=./src node_modules/.bin/react-scripts build
Rendering Complete, saving .css file...
Wrote CSS to /usr/lib/secretin-app/src/index.css
Creating an optimized production build...
Compiled successfully.

File sizes after gzip:

  214.84 KB  build/static/js/main.9161ccd0.js
  4.5 KB     build/static/css/main.3dc3bc02.css

The project was built assuming it is hosted at https://secret-in.me.
You can control this with the homepage field in your package.json.

The build folder is ready to be deployed.
You may serve it with a static server:

  yarn global add serve
  serve -s build

Find out more about deployment here:

  http://bit.ly/2vY88Kr

Done in 21.94s.

Feature request: share with a group

In entreprise context, sharing password is more likely to happen by group of people than by typing all usernames, which ones may change over time.

To make the sharing usable, I suggest to include group management

Missing space in "delete "

Hello,

Is it possible to add an "space" between "from" and "folder name" in delete action from the secret option menu:
image

Add custom fields to a secret

The user should be able to add an arbitrary number of fields on a secret.
The name and type of those fields should be customizable.

Proposed field types :

  • text (equivalent to the current login and url fields)
  • password (equivalent to the current password field)
  • textarea (for longer text)

By default, a new secret should contain a login and a password

Fine-tune password generation options

The lib allows to set the following parameters when generating a password:

General rules

  • length (default : 20 characters)
  • human-readable (default: false)
  • avoid similar characters (default: false)

Content rules

  • containing numbers (default: true)
  • containing symbols (default: true)
  • containing mixed case (default: true)
  • strict mode = containing at least one of each the enabled content rules (default: false)

We should add the UI to be able to change these settings when generating a password.
The user should be able to customize the defaults in settings.
The configuration for each secret should be stored.

Bugfix : Electron dependecies versions conflict with node 8+

I'm facing the following issue :

...
[4/4] Building fresh packages...
error /usr/lib/secretin-app/node_modules/electron: Command failed.
Exit code: 1
Command: node install.js
Arguments:
Directory: /usr/lib/secretin-app/node_modules/electron
Output:
Downloading SHASUMS256.txt
[============================================>] 100.0% of 2.93 kB (2.93 kB/s)
/usr/lib/secretin-app/node_modules/electron/install.js:48
  throw err
  ^

Error: Generated checksum for "electron-v1.7.8-linux-x64.zip" did not match expected checksum.
    at ChecksumMismatchError.ErrorWithFilename (/usr/lib/secretin-app/node_modules/electron-download/node_modules/sumchecker/build.js:41:124)
    at new ChecksumMismatchError (/usr/lib/secretin-app/node_modules/electron-download/node_modules/sumchecker/build.js:56:133)
    at Hash.<anonymous> (/usr/lib/secretin-app/node_modules/electron-download/node_modules/sumchecker/build.js:203:22)
    at emitNone (events.js:105:13)
    at Hash.emit (events.js:207:7)
    at emitReadable_ (_stream_readable.js:516:10)
    at emitReadable (_stream_readable.js:510:7)
    at addChunk (_stream_readable.js:277:7)
    at readableAddChunk (_stream_readable.js:253:11)
    at Hash.Readable.push (_stream_readable.js:211:10)

I Googled and I found the following electron issue with a working solution.

My two cents

View secret history

The lib already stores history for all secrets, so it's just a matter of UI to display that information.

As a user I should be able to see the previous state of any secret that I can view.

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.