]> git.street.me.uk Git - andy/dehydrated.git/blame - README.md
trying to fix #320 again
[andy/dehydrated.git] / README.md
CommitLineData
6c12f97b 1# dehydrated [![Build Status](https://travis-ci.org/lukas2511/dehydrated.svg?branch=master)](https://travis-ci.org/lukas2511/dehydrated)
64e35463
LS
2
3![](docs/logo.jpg)
61f0b7ed 4
6086983c 5*Note: This project was renamed from letsencrypt.sh because the original name was violating Let's Encrypts trademark policy. I know that this results in quite a lot of installations failing but I didn't have a choice... For now there is a wrapper script for compatibility with old config locations and symlinks, but it will be removed in a few weeks.*
b95b15ca 6
6086983c 7This is a client for signing certificates with an ACME-server (currently only provided by Let's Encrypt) implemented as a relatively simple bash-script.
274e8e41
LS
8
9It uses the `openssl` utility for everything related to actually handling keys and certificates, so you need to have that installed.
10
6086983c 11Other dependencies are: cURL, sed, grep, mktemp (all found on almost any system, cURL being the only exception)
274e8e41
LS
12
13Current features:
14- Signing of a list of domains
429ec400 15- Signing of a CSR
e45f28bb 16- Renewal if a certificate is about to expire or SAN (subdomains) changed
12c566b1 17- Certificate revocation
274e8e41 18
6086983c 19Please 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 pull request.
0d7913ab 20
12c77ca5
LS
21### Getting started
22
23For 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).
24
25Generally you want to set up your WELLKNOWN path first, and then fill in domains.txt.
26
6086983c 27**Please note that you should use the staging URL when experimenting with this script to not hit Let's Encrypt's rate limits.** See [docs/staging.md](docs/staging.md).
12c77ca5
LS
28
29If you have any problems take a look at our [Troubleshooting](docs/troubleshooting.md) guide.
30
0d7913ab
LS
31## Usage:
32
8662a000 33```text
ec49a443 34Usage: ./dehydrated [-h] [command [argument]] [parameter [argument]] [parameter [argument]] ...
0d7913ab 35
083c6736 36Default command: help
8662a000
LS
37
38Commands:
083c6736 39 --cron (-c) Sign/renew non-existant/changed/expiring certificates.
429ec400 40 --signcsr (-s) path/to/csr.pem Sign a given CSR, output CRT on stdout (advanced usage)
8662a000 41 --revoke (-r) path/to/cert.pem Revoke specified certificate
63b61b89 42 --cleanup (-gc) Move unused certificate files to archive directory
8662a000
LS
43 --help (-h) Show help text
44 --env (-e) Output configuration variables for use in other scripts
45
46Parameters:
624ce443 47 --full-chain (-fc) Print full chain when using --signcsr
364bcccf 48 --ipv4 (-4) Resolve names to IPv4 addresses only
49 --ipv6 (-6) Resolve names to IPv6 addresses only
92a822e0 50 --domain (-d) domain.tld Use specified domain name(s) instead of domains.txt entry (one certificate!)
624ce443 51 --keep-going (-g) Keep going after encountering an error while creating/renewing multiple certificates in cron mode
92a822e0 52 --force (-x) Force renew of certificate even if it is longer valid than value in RENEW_DAYS
bd9cc5b0 53 --no-lock (-n) Don't use lockfile (potentially dangerous!)
8e77ba5e 54 --ocsp Sets option in CSR indicating OCSP stapling to be mandatory
8662a000 55 --privkey (-p) path/to/key.pem Use specified private key instead of account key (useful for revocation)
d5b28586 56 --config (-f) path/to/config Use specified config file
ed27e013 57 --hook (-k) path/to/hook.sh Use specified script for hooks
785ffa55 58 --out (-o) certs/directory Output certificates into the specified directory
e925b293 59 --challenge (-t) http-01|dns-01 Which challenge should be used? Currently http-01 and dns-01 are supported
63b61b89 60 --algo (-a) rsa|prime256v1|secp384r1 Which public key algorithm should be used? Supported: rsa, prime256v1 and secp384r1
0d7913ab 61```