Git Product home page Git Product logo

certbot-dns-njalla's Introduction

Certbot plugin for authentication using Njalla

This is a plugin for Certbot that uses the Njalla API to allow customers to prove control of a domain name.

Installation

Python / pip

Use this method if you have also installed certbot via pip. Install the plugin using

pip3 install certbot-dns-njalla

If you are using sudo with certbot use sudo -H pip3 install certbot-dns-njalla instead.

Snap

Use this method if you have also installed certbot via snap.

snap install certbot-dns-njalla

Now connect the certbot installation with the njalla plugin installation.

sudo snap connect certbot:plugin certbot-dns-njalla

Usage

  1. Make sure the plugin is installed and connected. You can verify this by running certbot plugins. dns-njalla should be in the list.

  2. Obtain an Njalla API token (found in the settings)

  3. Create a njalla.ini config file with the following contents and apply chmod 600 njalla.ini on it:

    dns_njalla_token=<token>

    Replace <token> with your Njalla API key and ensure permissions are set to disallow access to other users.

  4. Run certbot and direct it to use the plugin for authentication and to use the config file previously created:

    certbot -a dns-njalla --dns-njalla-credentials njalla.ini -d domain.com

    Use *.domain.com if you want to generate it as a wildcard certificate.
    Add additional options as required to specify an installation plugin etc.

    Remember to use the -i flag if you want to use an additional installer plugin, like -i apache or -i nginx.

Development

Install local files as python package

Run the following command in the repository root (so you are in the folder containing the setup.py):

pip3 install -e ./

Build snap locally

By default a snap is built automatically by snapcraft if there are changes in the git repo. But here is what to do to test the build locally.

Do the basic setup described in the certbot snap readme. (Mainly installing setting up lxd) Run the following command in the repository root (so you are in the folder containing the setup.py):

sh generate-snap.sh
snapcraft clean --use-lxd
snapcraft --debug --use-lxd

Run tests

Execute the following command inside the root-directory

python -m unittest discover -p '*_test.py'

Distribution

certbot-dns-njalla's People

Contributors

chaptergy avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.