1
0
mirror of https://github.com/Luzifer/cloudkeys-go.git synced 2024-09-19 15:42:58 +00:00
A small keepass alternative you can host by yourself
Go to file
2015-07-29 10:10:46 +02:00
assets Initial port from PHP to Go 2015-07-29 09:02:14 +02:00
coffee Initial port from PHP to Go 2015-07-29 09:02:14 +02:00
less Initial port from PHP to Go 2015-07-29 09:02:14 +02:00
templates Do not throw error messages at users, let the frontend handle errors 2015-07-29 10:10:46 +02:00
.gitignore Initial port from PHP to Go 2015-07-29 09:02:14 +02:00
.gobuilder.yml Initial port from PHP to Go 2015-07-29 09:02:14 +02:00
ajax.go Do not throw error messages at users, let the frontend handle errors 2015-07-29 10:10:46 +02:00
bindata.go Initial port from PHP to Go 2015-07-29 09:02:14 +02:00
config.go Fixed linter errors 2015-07-29 09:49:42 +02:00
dataObject.go Initial port from PHP to Go 2015-07-29 09:02:14 +02:00
Dockerfile Initial port from PHP to Go 2015-07-29 09:02:14 +02:00
httpHelper.go Fixed linter errors 2015-07-29 09:49:42 +02:00
LICENSE Added license file 2015-07-29 09:39:22 +02:00
login.go Do not throw error messages at users, let the frontend handle errors 2015-07-29 10:10:46 +02:00
main.go Fixed linter errors 2015-07-29 09:49:42 +02:00
Makefile Initial port from PHP to Go 2015-07-29 09:02:14 +02:00
overview.go Do not throw error messages at users, let the frontend handle errors 2015-07-29 10:10:46 +02:00
README.md Added examples to the README 2015-07-29 09:40:39 +02:00
register.go Do not throw error messages at users, let the frontend handle errors 2015-07-29 10:10:46 +02:00
storage.go Initial port from PHP to Go 2015-07-29 09:02:14 +02:00
storageLocal.go Fixed linter errors 2015-07-29 09:49:42 +02:00
storageS3.go Fixed linter errors 2015-07-29 09:49:42 +02:00

CloudKeys Go

License: Apache v2.0 Download binaries

CloudKeys Go is a port of the former CloudKeys project written in PHP. This Go port is 100% compatible to the data written by the older version but adds more storage options. Also it's faster, more stable and last but not least it's not longer based on PHP but working as a tiny webserver implemented in pure Go.

Usage

# cloudkeys-go --help
Usage of ./cloudkeys-go:
      --cookie-authkey="": Key used to authenticate the session
      --cookie-encryptkey="": Key used to encrypt the session
      --listen=":3000": IP and port to listen on
      --password-salt="": A random unique salt for encrypting the passwords
      --storage="local:///./data": Configuration for storage adapter (see README.md)
      --username-salt="": A random unique salt for encrypting the usernames

What you definitely should set when starting the server:

  • cookie-authkey - This flag protects the encrypted cookies you're putting on the users computers containing the session. If you don't set it yourself it will be randomly generated. In that case your users will get logged out every time you restart the server.
  • cookie-encryptkey - This flag is the encryption key itself. Like the authkey it will get autogenerated with the same result.
  • password-salt - The login password of your users are stored in the database for comparison when they log in. Though the passwords are hashed this salt gives you more confidence nobody can use a hash table to simply decrypt the passwords.
  • username-salt - The usernames are the keys in the database. Like the passwords they are also hashed but you can put an additional salt to them to make it way harder to break them. You should use another salt than for the passwords.

Supported storage engines

Local file storage (default)

This storage engine is used in the default config when you just start up the server as you can see in the output above. You don't have many options to set for this one. The only thing is the path where all the data is stored.

Schema:  local:///<your data directory>
Example: local:///./data

The directory can be set absolute or relative. Please ensure there are 3 slashes between local: and the begin of your path. (So if you're setting an absolute path you will set 4 slashes in a row.)

Amazon Web Services S3

This is the storage engine you want to use if you're migrating from the old CloudKeys version. This option is fully compatible to every piece of data the old version stored.

Schema:  s3://<bucket><path>
Example: s3://mybucket/

You can specify the bucket and also a prefix for the storage. That way you even could use one bucket for different instances of CloudKeys Go. In case you're migrating from the old version you need to set the path to /.