Document build procedure and static compilation - pee - Pee a password manager;… | |
git clone git://vernunftzentrum.de/pee.git | |
Log | |
Files | |
Refs | |
LICENSE | |
--- | |
commit 9ba089248bdad4bee51c949259845d22b7a71df6 | |
parent 7dfe50ba306ef7b0b826a0ad302ea1a3016f5b34 | |
Author: Christian Kellermann <[email protected]> | |
Date: Fri, 8 Jan 2016 13:04:17 +0100 | |
Document build procedure and static compilation | |
Diffstat: | |
README.rst | 80 +++++++++++++++++++++++++++++++ | |
static-compilation.sh | 30 ++++++++++++++++++++++++++++++ | |
2 files changed, 110 insertions(+), 0 deletions(-) | |
--- | |
diff --git a/README.rst b/README.rst | |
@@ -0,0 +1,80 @@ | |
+Pee - A password manager...because you have to | |
+============================================== | |
+ | |
+This is the README file for pee a password store/manager for the command line. | |
+ | |
+Pee will help you choose a secure password for every website or login you need. | |
+You can annotate the password with additional hints, such as password recovery… | |
+The passwords are stored in an encrypted password store. | |
+The contents are encrypted using a passphrase. | |
+ | |
+Pee will protect you against the password storage getting lost. | |
+Pee will not protect you against an attacker that can access all of your compu… | |
+Pee will not protect you against keyloggers as the passphrase to your store wi… | |
+ | |
+Pee will output the password on the console by default. | |
+ | |
+If you want to have it available for copy and paste, you should use an externa… | |
+ | |
+Installing | |
+---------- | |
+ | |
+After unpacking the source build it using the CHICKEN Scheme compiler. | |
+ | |
+ $ chicken-install blob-utils getopt-long matchable stty tweetnacl | |
+ $ csc -s -Jc crypto-helper.scm blake2s-ref.c -C -std=c99 | |
+ $ csc pee.scm | |
+ | |
+ | |
+Building a statically linked executable | |
+--------------------------------------- | |
+ | |
+Sometimes depending on the globally installed CHICKEN runtime is not desireabl… | |
+To build a statically linked version of Pee use the provided static-compilatio… | |
+The script will try to fetch all dependencies in the current directory, compil… | |
+If all goes well it will clean up afterwards. | |
+If not you will have to manually do the clean up. | |
+If you have cloned from the git repo, a git clean -f will do that for you. | |
+ | |
+Dependencies | |
+------------ | |
+ | |
+Pee is written in CHICKEN Scheme, the cryptography parts are provided by the t… | |
+The BLAKE2s code has been taken verbatim from the reference implementations an… | |
+Other eggs pee depends on are: srfi-1, srfi-4, getopt-long, matchable and stty. | |
+ | |
+https://github.com/BLAKE2/BLAKE2.git | |
+ | |
+Cryptography | |
+------------ | |
+ | |
+The key is derived using the BLAKE2s key derivation function. | |
+For symmertric encryption the tweetnacl library is used. | |
+ | |
+Passwords are generated using OpenBSD's arc4random() RNG. | |
+Passwords are choosen from this set of characters "abcdefhijklmnopqrstuvwxyzAB… | |
+ | |
+ | |
+ | |
+License | |
+------- | |
+ | |
+The blake2s Hash function has been licensed under a Creative Commons CC0 1.0 U… | |
+The tweetnacl code is in the public domain. | |
+The tweetnacl egg is BSD licensed. | |
+ | |
+The rest of the pee code comes with a ISC license. | |
+ | |
+Copyright (c) 2016 Christian Kellermann <[email protected]> | |
+ | |
+Permission to use, copy, modify, and distribute this software for any | |
+purpose with or without fee is hereby granted, provided that the above | |
+copyright notice and this permission notice appear in all copies. | |
+ | |
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | |
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | |
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | |
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | |
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | |
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | |
+OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |
diff --git a/static-compilation.sh b/static-compilation.sh | |
@@ -0,0 +1,30 @@ | |
+#!/bin/sh | |
+ | |
+chicken-install -r blob-utils >/dev/null || echo Fetching blob-utils has faile… | |
+chicken-install -r check-errors >/dev/null || echo Fetching check-errors has f… | |
+chicken-install -r foreigners >/dev/null || echo Fetching foreigners has faile… | |
+chicken-install -r getopt-long >/dev/null || echo Fetching getopt-long has fai… | |
+chicken-install -r matchable >/dev/null || echo Fetching matchable has failed. | |
+chicken-install -r setup-helper >/dev/null || echo Fetching setup-helper has f… | |
+chicken-install -r string-utils >/dev/null || echo Fetching string-utils has f… | |
+chicken-install -r stty >/dev/null || echo Fetching stty has failed. | |
+chicken-install -r tweetnacl >/dev/null || echo Fetching tweetnacl has failed. | |
+ | |
+csc -emit-import-library matchable -c matchable/matchable.scm -o matchable.o | |
+csc -unit blob-hexadecimal -uses type-checks -uses to-hex -emit-import-library… | |
+csc -unit crypto-helper -uses blob-hexadecimal -emit-import-library crypto-hel… | |
+csc -unit foreigners -uses matchable -emit-import-library foreigners -c foreig… | |
+csc -unit getopt-long -uses srfi-13 -uses srfi-14 -uses data-structures -uses … | |
+csc -unit matchable -emit-import-library matchable -c matchable/matchable.scm … | |
+csc -unit setup-api -emit-import-library setup-api -c ../chicken-core/setup-ap… | |
+csc -unit setup-helper -uses setup-api -emit-import-library setup-helper -c se… | |
+csc -unit to-hex -emit-import-library to-hex -c string-utils/to-hex.scm -o to-… | |
+csc -unit tweetnacl -emit-import-library tweetnacl -c tweetnacl/tweetnacl.scm … | |
+csc -unit type-checks -uses type-errors -J -c ./check-errors/type-checks.scm -… | |
+csc -unit type-errors -J -c ./check-errors/type-errors.scm -o type-errors.o | |
+csc -uses matchable -uses foreigners -uses setup-helper -c stty/stty.scm -emit… | |
+csc -uses srfi-1 -uses srfi-4 -uses utils -uses stty -uses crypto-helper -uses… | |
+csc -static *o ./tweetnacl/tweetnacl.impl.o -o pee | |
+ | |
+rm -r matchable blob-utils check-errors foreigners getopt-long setup-helper st… | |
+rm *.o *.import.* |