riccardomanfrin

riccardomanfrin

zerossl - native acmev2 http-01 client for zerossl

Hi,

I made this simple weekend project for not having to integrate with things like certibot or acmev2.sh (which btw the project is heavily inspired from).

Besides the crude acmev2 ciphering exchange boilerplate, the library also automatically renews the certificate before the expiration and notifies the application to give it the opportunity to restart anything based on the just renewed certificate.

In short, integrating this library makes an application run on valid certificates indefinitely.

I suppose it would be cool to add letsencrypt and friends … anyhow, link:

The http port to serve the well-known token is hardcoded to port 80, so you need permissions to open port 80 on your device:

sudo echo -en "net.ipv4.ip_unprivileged_port_start=80" > /etc/sysctl.d/port80.conf

If it gets good feedback I can add a config to use a different port so that users can NAT requests to a less contended, non privileged port like 8080 etc…

Cheers & happy new year

Most Liked

hauleth

hauleth

Some thoughts/questions:

  • Why not support multiple certificates?
  • As it implements ACMEv2, then why it is limited only to ZeroSSL provider? Why not support any host.
  • Why it listens on port 80 on it’s own instead of allowing user to start this on their own which would allow starting this behind reverse proxy or with socket activation to not need extra privileges.
riccardomanfrin

riccardomanfrin

Fwiw, i’ve added Letsencrypt support and configurable port/address.

I’ve had a shallow check at the two projects you reported. I suppose they are fine but they bring in quite few elefants in the room (phoenix/ecto/cowboy/tesla/opentelemetry).

Also, the second one doesn’t seem to manage renewal for you, and you’ll have to get into orders/challenges etc… with mine it’s as easy as setting the 4 lines of config and go.

Where Next?

Popular in Libraries Top

josevalim
Hi everyone, We would like to announce that Plataformatec is working on a new MySQL driver called MyXQL. Our goal is to eventually integ...
New
kip
Image is an image processing library for Elixir. It is based upon the fabulous vix library that provides a libvips wrapper for Elixir. I...
574 16576 179
New
Crowdhailer
Raxx is an alternative to Plug and is inspired by projects such as Rack(Ruby) and Ring(Clojure). 1.0-rc.1 is now available. To use it re...
New
achempion
Hi, I would like to tell about my initiative to further maintain and develop Waffle project which is the fork of Arc library. The progre...
New
riverrun
I’ve just released version 3 of Comeonin, a password hashing library. The following small changes have been made: changes to the NIF c...
New
MRdotB
I needed to reuse React components from my Chrome extension in my Phoenix/LiveView backend. I noticed that for Svelte/Vue, there are live...
New
bryanjos
Hi, I just published version 0.23.0 of Elixirscript. Most of the changes are around JavaScript interop now that Elixirscript uses the ...
New
OvermindDL1
I created a new library (rather I pulled out a couple files from my big project), it manages an operating system PID file for the BEAM. ...
New
Qqwy
While not as prevalent as in imperative languages, arrays (collections with efficient random element access) are still very useful in Eli...
New
gjaldon
As the title states, EctoEnum has just been updated after some time of hardly any activity in the repo. Here’s the latest release: https:...
New

Other popular topics Top

yurko
Here are few pieces of (common) Linux knowledge that we use for reasonably small one server apps. We use Ubuntu but this should work for ...
New
sergio
In Ruby, I can go: User.find_by(email: "foobar@email.com").update(email: "hello@email.com") How can I do something similar in Elixir? ...
New
albydarned
Hello all! I am typing this post from my new MacBook Pro with the M1 chip. I’m loving it so far, and will probably use it as my daily dr...
New
axelson
This post is a wiki (feel free to hit the edit button near the bottom right of this post to add your own changes!) This post collects co...
239 45766 226
New
hariharasudhan94
I would like to know what is the best IDE for elixir development?
New
vertexbuffer
Hello, can anybody help here..? I have a list of players and I what to delete an element, but every for loop the list is reverting to ori...
New
lastday4you
I wanted to check elixir version in phoenix because i found that my elixir is 1.5 but when i use Enum.chunk_by it said the function is un...
New
vac
Hi, I'm quite new in Elixir and I'm trying to format a string to a PEM format. I have the certificate value like MIIDBTCCAe2...... and ...
New
electic
Hi, I am new to Elixir. I am trying to use the DateTime component to insert a date into MySQL however the there seems to be no way to fo...
New
9mm
I am constructing a JSON object (map) and I need to conditionally set a field. I’m trying to write proper elixir-way code… and I’m at a l...
New

Sub Categories:

We're in Beta

About us Mission Statement