Skip to main content

[![Build Status](https://travis-ci.org/costela/wile.svg?branch=master)](https://travis-ci.org/costela/wile) [![PyPI version](https://badge.fury.io/py/wile.svg)](https://badge.fury.io/py/wile)

# Overview

Wile is a simple [Let’s Encrypt](https://letsencrypt.org) (ACME) client that only supports the “webroot” method of validation. It only needs access to the root folder serving the domains in question. Specifically, it only needs access to the .well-known sub-folder and therefore doesn’t need permission to access the actual website’s content.

The .well-known folder must also be accessible from external sources. I.e.: if you run a reverse proxy for some backend application, it should include an exception for this folder.

# Usage

## Generating a certificate request

Simple anonymous certificate request: ` $ wile cert request example.com:/var/www/example.com/ `

Registration with contact information, and saving certs to some other location (by default the certificate is saved to current folder): ` $ wile register -e name@example.com $ wile cert request --output-dir /etc/ssl/private/ example.com:/var/www/example.com/ `

Certificate request using remote webroot validation of SSH/SFTP: ` $ wile cert request example.com:username@example.com:/var/www/example.com/ `

Syntax for remote webroot validation argument is: DOMAIN:[[[USER@]HOST[:PORT]:]PATH].

Storing remote webroot validation is done via SFTP using SSH public key authentication. You can explicitly define path to your private key using –ssh-private-key option. Also, if your private key has been secured with a password you must provide your private key password using an ENV variable (WILE_SSH_PASS=’<your password>’). Note that there are single quotes around the password so that your shell doesn’t try to expand the symbols within the password.

Note that you can also pass multiple domains with a single document root, which creates a certificate with [Subject Alternative Names](https://en.wikipedia.org/wiki/Subject_Alternative_Name). ` $ wile cert request example.com:/var/www/example.com/ www.example.com `

In case of a remote webroot validation: ` $ wile cert request example.com:username@example.com:/var/www/example.com/ www.example.com `

## Revoking a certificate

Simple anonymous certificate revocation: ` $ wile cert revoke /etc/ssl/private/example.com.crt `

## Certificate renewal

By default, no new request will be made if wile detects an existing certificate for the same requested domains with a validity of at least 1 week. This can be changed with the –min-valid-time and –force options.

This way a simple daily cronjob is enough to ensure certificate freshness and should make renewals resiliant against moderate letsencrypt API downtime.

Release files for wile 1.0.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for wile 1.0.6
File Size Uploaded
wile-1.0.6.tar.gz 29.9 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for wile 1.0.6
File Interpreter ABI Platform
wile-1.0.6-py3-none-any.whl Python 3 none any Details
wile-1.0.6-py2-none-any.whl Python 2 none any Details

Total release size: 79.5 kB

Release files / wile-1.0.6.tar.gz

Download URL wile-1.0.6.tar.gz
Size 29.9 kB
Tags Source
SHA-256 checksum
How to use checksums
948ab7fcc49cad16bd7ad7b77c4f919b29e96de968498f8b48e5da7dab7bdbd2
BLAKE2b-256 checksum
How to use checksums
38d75747ae5e3aaf9ca3c6febecd3fd175e24c8adaeab5510d59e603e9d1c67c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/2.7.15

Release files / wile-1.0.6-py3-none-any.whl

Download URL wile-1.0.6-py3-none-any.whl
Size 24.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
78723908cba312754154d7f10fd67f2337dc435f6b735a6605c6c91d22e09637
BLAKE2b-256 checksum
How to use checksums
93ba93c2c66e12b9f6c6f1b4f49dd7907aa0c4b4b38cba068e5d2ba0683f1091
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.1

Release files / wile-1.0.6-py2-none-any.whl

Download URL wile-1.0.6-py2-none-any.whl
Size 24.8 kB
Tags Python 2
SHA-256 checksum
How to use checksums
96f4173289408002720b70abe30f9f16fc99d79cec2f256cdb26bb142c64d88d
BLAKE2b-256 checksum
How to use checksums
ae417e1e31031dd679b7e98ccd0dfaa7f4221a4501f1fda0c6589a5beb59568d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/2.7.15

Release history Release notifications | RSS feed

This release

1.0.6 This release

3 release files

1.0.5

3 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

3 release files

1.0.0

1 release file

0.3.2

2 release files

0.3.1

1 release file

0.3.0

1 release file

0.2.1

1 release file

0.2.0

1 release file

0.1.4

1 release file

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1.0

1 release file

0.0.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page