]> git.street.me.uk Git - andy/dehydrated.git/blobdiff - README.md
updated changelog
[andy/dehydrated.git] / README.md
index 0e00322a114e2f3e3523e6429437dcba91f05775..63494ba6e720d4d6f4de8257272f4fddb7264365 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,3 +1,53 @@
-# letsencrypt.sh
+# letsencrypt.sh [![Build Status](https://travis-ci.org/lukas2511/letsencrypt.sh.svg?branch=master)](https://travis-ci.org/lukas2511/letsencrypt.sh)
 
-letsencrypt client implemented as a shell-script
+[![Donate](https://www.paypalobjects.com/en_US/i/btn/btn_donate_SM.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=EL9BQ5FQGG73Y)
+
+This is a client for signing certificates with an ACME-server (currently only provided by letsencrypt) implemented as a relatively simple bash-script.
+
+It uses the `openssl` utility for everything related to actually handling keys and certificates, so you need to have that installed.
+
+Other dependencies are: curl, sed, grep, mktemp (all found on almost any system, curl being the only exception)
+
+Current features:
+- Signing of a list of domains
+- Signing of a CSR
+- Renewal if a certificate is about to expire or SAN (subdomains) changed
+- Certificate revocation
+
+Please keep in mind that this software and even the acme-protocol are relatively young and may still have some unresolved issues.
+Feel free to report any issues you find with this script or contribute by submitting a pullrequest.
+
+### Getting started
+
+For getting started I recommend taking a look at [docs/domains_txt.md](docs/domains_txt.md), [docs/wellknown.md](docs/wellknown.md) and the [Usage](#usage) section on this page (you'll probably only need the `-c` option).
+
+Generally you want to set up your WELLKNOWN path first, and then fill in domains.txt.
+
+**Please note that you should use the staging URL when experimenting with this script to not hit letsencrypts rate limits.** See [docs/staging.md](docs/staging.md).
+
+If you have any problems take a look at our [Troubleshooting](docs/troubleshooting.md) guide.
+
+## Usage:
+
+```text
+Usage: ./letsencrypt.sh [-h] [command [argument]] [parameter [argument]] [parameter [argument]] ...
+
+Default command: help
+
+Commands:
+ --cron (-c)                      Sign/renew non-existant/changed/expiring certificates.
+ --signcsr (-s) path/to/csr.pem   Sign a given CSR, output CRT on stdout (advanced usage)
+ --revoke (-r) path/to/cert.pem   Revoke specified certificate
+ --cleanup (-gc)                  Move unused certificate files to archive directory
+ --help (-h)                      Show help text
+ --env (-e)                       Output configuration variables for use in other scripts
+
+Parameters:
+ --domain (-d) domain.tld         Use specified domain name(s) instead of domains.txt entry (one certificate!)
+ --force (-x)                     Force renew of certificate even if it is longer valid than value in RENEW_DAYS
+ --privkey (-p) path/to/key.pem   Use specified private key instead of account key (useful for revocation)
+ --config (-f) path/to/config.sh  Use specified config file
+ --hook (-k) path/to/hook.sh      Use specified script for hooks
+ --challenge (-t) http-01|dns-01  Which challenge should be used? Currently http-01 and dns-01 are supported
+ --algo (-a) rsa|prime256v1|secp384r1 Which public key algorithm should be used? Supported: rsa, prime256v1 and secp384r1
+```