copy python's arguments

This commit is contained in:
AJ ONeal 2015-12-16 11:01:10 +00:00
parent 84e9b06d60
commit ecb0bd8ed2
3 changed files with 118 additions and 0 deletions

View File

@ -2,6 +2,8 @@
CLI for node-letsencrypt modeled after the official client. CLI for node-letsencrypt modeled after the official client.
(IN-PROGRESS)
## Install ## Install
```bash ```bash
@ -27,3 +29,52 @@ letsencrypt certonly \
--webroot --webroot-path /srv/www/acme-challenge \ --webroot --webroot-path /srv/www/acme-challenge \
--domains example.com,www.example.com --domains example.com,www.example.com
``` ```
## Command line Options
```
Usage:
letsencrypt [OPTIONS] [ARGS]
Options:
--email EMAIL Email used for registration and recovery contact. (default: null)
--domains URL Domain names to apply. For multiple domains you can enter a comma
separated list of domains as a parameter. (default: [])
--duplicate BOOLEAN Allow getting a certificate that duplicates an existing one
--agree-tos BOOLEAN Agree to the Let's Encrypt Subscriber Agreement
--debug BOOLEAN show traces and logs
--tls-sni-01-port NUMBER Port number to perform tls-sni-01 challenge.
Boulder in testing mode defaults to 5001. (default: 443 and 5001)
--http-01-port [NUMBER] Port used in the SimpleHttp challenge. (Default is 80)
--rsa-key-size [NUMBER] Size (in bits) of the RSA key. (Default is 2048)
--cert-path STRING Path to where new cert.pem is saved
(Default is :conf/live/:hostname/cert.pem)
--fullchain-path [STRING] Path to where new fullchain.pem (cert + chain) is saved
(Default is :conf/live/:hostname/fullchain.pem)
--chain-path [STRING] Path to where new chain.pem is saved
(Default is :conf/live/:hostname/chain.pem)
--domain-key-path STRING Path to privkey.pem to use for domain (default: generate new)
--config-dir STRING Configuration directory.
--server [STRING] ACME Directory Resource URI. (Default is https://acme-v01.api.letsencrypt.org/directory))
--standalone [BOOLEAN] Obtain certs using a "standalone" webserver. (Default is true)
--webroot BOOLEAN Obtain certs by placing files in a webroot directory.
--webroot-path STRING public_html / webroot path.
-h, --help Display help and usage details
```

29
bin/letsencrypt.js Executable file
View File

@ -0,0 +1,29 @@
#!/usr/bin/env node
'use strict';
var cli = require('cli');
cli.parse({
email: [ false, " Email used for registration and recovery contact. (default: null)", 'email' ]
, domains: [ false, " Domain names to apply. For multiple domains you can enter a comma separated list of domains as a parameter. (default: [])", 'string' ]
, duplicate: [ false, " Allow getting a certificate that duplicates an existing one", 'boolean', false ]
, 'agree-tos': [ false, " Agree to the Let's Encrypt Subscriber Agreement", 'boolean', false ]
, debug: [ false, " show traces and logs", 'boolean', false ]
, 'tls-sni-01-port': [ false, " Port number to perform tls-sni-01 challenge. Boulder in testing mode defaults to 5001. (default: 443 and 5001)", 'int' ]
, 'http-01-port': [ false, " Port used in the SimpleHttp challenge.", 'int', 80 ]
, 'rsa-key-size': [ false, " Size (in bits) of the RSA key.", 'int', 2048 ]
, 'cert-path': [ false, " Path to where new cert.pem is saved", 'string',':conf/live/:hostname/cert.pem' ]
, 'fullchain-path': [ false, " Path to where new fullchain.pem (cert + chain) is saved", 'string', ':conf/live/:hostname/fullchain.pem' ]
, 'chain-path': [ false, " Path to where new chain.pem is saved", 'string', ':conf/live/:hostname/chain.pem' ]
, 'domain-key-path': [ false, " Path to privkey.pem to use for domain (default: generate new)", 'string' ]
, 'config-dir': [ false, " Configuration directory.", 'string'/*, '/etc/letsencrypt'*/ ]
, server: [ false, " ACME Directory Resource URI.", 'string', 'https://acme-v01.api.letsencrypt.org/directory)' ]
, standalone: [ false, " Obtain certs using a \"standalone\" webserver.", 'boolean', true ]
//, manual: [ false, " Provide laborious manual instructions for obtaining a cert (default: false)", 'boolean', false ]
, webroot: [ false, " Obtain certs by placing files in a webroot directory.", 'boolean', false ]
, 'webroot-path': [ false, " public_html / webroot path.", 'string' ]
//, 'standalone-supported-challenges': [ false, " Supported challenges, order preferences are randomly chosen. (default: http-01,tls-sni-01)", 'string', 'http-01,tls-sni-01']
});
cli.main(function(args, options) {
});

38
package.json Normal file
View File

@ -0,0 +1,38 @@
{
"name": "letsencrypt-cli",
"version": "1.0.0",
"description": "CLI for node-letsencrypt modeled after the official client",
"main": "index.js",
"bin": {
"letsencrypt": "bin/letsencrypt.js",
"letsencrypt-node": "bin/letsencrypt.js"
},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "https://github.com/Daplie/node-letsencrypt-cli.git"
},
"keywords": [
"node",
"nodejs",
"acme",
"boulder",
"letsencrypt",
"le",
"ssl",
"https",
"tls",
"free"
],
"author": "AJ ONeal <aj@daplie.com> (https://daplie.com)",
"license": "(MIT OR Apache-2.0)",
"bugs": {
"url": "https://github.com/Daplie/node-letsencrypt-cli/issues"
},
"homepage": "https://github.com/Daplie/node-letsencrypt-cli",
"dependencies": {
"cli": "^0.11.1"
}
}