# acme-http-01-standalone

> HTTP Authentication (In-Memory) for Let's Encrypt for Node.js - ACME http-01 challenges w/ ACME.js and Greenlock.js

Latest version **3.0.5** (published 2019-10-29) · MPL-2.0 license · 0 weekly downloads

## Install

```sh
npm install acme-http-01-standalone
pnpm add acme-http-01-standalone
yarn add acme-http-01-standalone
bun add acme-http-01-standalone
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 3.0.5 |
| Published | 2019-10-29 |
| First published | 2019-10-17 |
| Weekly downloads | 0 |
| License | MPL-2.0 |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 19.4 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | AJ ONeal |
| Maintainers | coolaj86 |
| Keywords | standalone, memory, http-01, letsencrypt, acme, greenlock |

## Links

- npm: https://www.npmjs.com/package/acme-http-01-standalone
- Repository: https://git.coolaj86.com/coolaj86/acme-http-01-standalone.js
- npm.io page: https://npm.io/package/acme-http-01-standalone

## Recent versions

- 3.0.5 (latest) — 2019-10-29
- 3.0.0 — 2019-10-19
- 0.0.1-security — 2019-10-17

## README

# [acme-http-01-standalone.js](https://git.rootprojects.org/root/acme-http-01-standalone.js) | a [Root](https://rootprojects.org/) project

In-memory HTTP Authentication for Let's Encrypt for Node.js - ACME http-01 challenges w/ ACME.js and Greenlock.js

Handles ACME http-01 challenges. Compatible with ACME.js and Greenlock.js. Passes acme-http-01-test.

# Features

-   Compatible
    -   Let’s Encrypt v2.1 / ACME draft 18 (2019)
    -   Works standalone, without a separate web server
    -   ACME.js, Greenlock.js, and others
-   Quality
    -   node v6 compatible VanillaJS
    -   < 150 lines of code
    -   Zero Dependencies

# Install

```js
npm install --save acme-http-01-standalone
```

# Usage

First you create an instance with your credentials:

```js
var http01 = require('acme-http-01-standalone').create({});
```

Then you can use it with any compatible ACME library, such as Greenlock.js or ACME.js.

## Greenlock.js

```js
var Greenlock = require('greenlock-express');
var greenlock = Greenlock.create({
	challenges: {
		'http-01': http01
	}
	// ...
});
```

See [Greenlock Express](https://git.rootprojects.org/root/greenlock-express.js) and/or [Greenlock.js](https://git.rootprojects.org/root/greenlock.js) documentation for more details.

## ACME.js

```js
// TODO
```

See the [ACME.js](https://git.rootprojects.org/root/acme-v2.js) for more details.

## Build your own

There are only 4 methods:

-   `init(config)`
-   `set(opts)`
-   `get(opts)`
-   `remove(opts)`

```js
http01
	.set({
		identifier: { value: 'foo.example.co.uk' },
		token: 'xxxx'
		keyAuthorization: 'xxxx.yyyy'
	})
	.then(function() {
		console.log('Saved ACME key authorization file');
	})
	.catch(function(err) {
		console.error('Failed to save ACME key authorization file');
		console.error(err);
	});
```

See acme-http-01-test for more implementation details.

# Tests

```bash
# node ./test.js domain-zone api-token
node ./test.js example.com xxxxxx
```

# Authors

-   AJ ONeal

See AUTHORS for contact info.

# Legal

[acme-http-01-standalone.js](https://git.coolaj86.com/coolaj86/acme-http-01-standalone.js) | MPL-2.0 | [Terms of Use](https://therootcompany.com/legal/#terms) | [Privacy Policy](https://therootcompany.com/legal/#privacy)

Copyright 2019 AJ ONeal
Copyright 2019 The Root Group LLC

---
_Source: https://npm.io/package/acme-http-01-standalone · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
