You can still contribute!
Although the campaign has ended, we're still accepting contributions.
Please send an email to greenlock@rootprojects.org for details.
Greenlock: HTTPS made Easy
Greenlock.js and ACME.js started back in 2015 (with Let's Encrypt v1) as vital parts of the home cloud system we're building, which wouldn't be feasible without Free SSL.
In 2017, we released Greenlock Domains as its browser-based companion - as well as and Telebit, for running localhost https servers and accessing them from anywhere.
My goal has been to make Greenlock the easiest, and most convenient way to secure websites, develop locally, and securing IoT projects.
Not only has it succeeded at that in the node.js community, but has gone far beyond - including on-premise enterprise solutions, scalable cloud environments, virtual hosting, and even projects by Mozilla IoT, Beaker Browser, and Digital Bazaar.
A New Version of Let's Encrypt
Let's Encrypt has released another API update with breaking changes, which is mandatory to implement by November 2019.
The code update requirements for the API update alone are moderate, but there are a number of significant changes in-progress in the code base and I need the support of the community to complete the changes and release the next version of Greenlock with the polish it deserves, on time.
Has Greenlock Saved 2+ Hours of Your Time?
If Greenlock has saved you 2 or more hours of your time, a $100 your contribution would be a wonderful show of your appreciation and gratitude, as well as guarantee that you will have access to mandatory update ahead-of-time.
If every developer or company who has used Greenlock for more than 3 months were to pay the cost of what they would pay an employee for 2 hours of work, every goal tier would be funded and the Greenlock project would be completely self-sustaining.
If you like the idea of easy HTTPS for your web project, but haven't used Greenlock heavily yet, throw a $1, or $10 to say hello and introduce yourself. :)
Goal: $5,000 - A Timely Release
All $100+ contributors access to Greenlock v3 with plenty of time for integration and testing, well before the November 2019 deadline.
- Mandatory Let's Encrypt v2.5 / ACME draft-19 updates
- Full ECDSA support
- Enhanced RSA support
- Updated codebase
- Legacy code removed
- Isomorphic Browser & Node.js compatibility
Goal: $10,000 - Updated Support Materials
This frees me up to really focus on the support materials:
- Refresh to docs
- Update all examples (and add more)
- Reshoot the screencasts (and add more)
Goal: $20,000 - Backports to v2
When this tier is reached, I'll also backport changes to v2.x - for enterprise users that need more time to integrate.
Greenlock Features (Present)
There are a number of plugins for dns-01, http-01, and certificate storage and retrieval, including the following:
DNS Providers (dns-01 challenges)
- Amazon AWS Route 53
- Azure DNS
- Cloudflare
- Digital Ocean
- DNSimple
- DuckDNS
- Gandi
- GoDaddy
- Google Cloud DNS
- Name.com
- NameCheap
- Vultr
Storage Providers (http-01 challenges)
- Amazon AWS S3
- Azure Storage
- Digital Ocean Storage
- Google Cloud Storage
- Minio
- PostgreSQL
- Redis
- Sequelize
- SQLite3
Greenlock Pro: Turn-Key Solutions
We'll be adding more turn-key solutions to Greenlock for advanced users:
- Turn-key Static File Server
- Virtual Hosting (vhosting)
- Reverse Proxying
- Remote Management
- Integrated Secure Authentication Services (OIDC/OAuth2)
- Domain and DNS Integration
All of these have been prototyped, but require significant work to achieve.
Risks & Challenges
The largest risk to the success of the new version of Greenlock is not having enough resources to devote adequate time to the project to get the new version out far enough ahead of the November deadline for those who are relying on greenlock for their business and projects to have time to adopt it.
As an ongoing concern, the Let's Encrypt API and ACME specification will continue to evolve over the years.
However, the core contributors are senior developers with a deep understanding of the low-level technologies that are require for the work:
- Security
- Signing & Encryption
- Networking
- HTTP, HTTPS
- TLS, SNI, ALPN
- ECDSA, RSA, ASN.1, X.509
- node.js, browsers
- Terse RFC specifications
In fact, due to various limitations or end-of-life with various other modules that were not well supported enough, over the past few years 100% of the Greenlock dependencies have been replaced with modules written specifically by us for Greenlock and other projects.
The improvements to Greenlock as a result of your support will make it easier for more contributors to get involved and reduce that risk.
Other Ways You Can Help
Share. If Greenlock has been valuable in saving you time, tweet this campaign. Share it with your co-workers and friends on node.js Slack channels, share it at your meetup and let people know.
Due to the requirement for understanding many low-level core technologies (as listed above) that most web devs simply don't have, as well as the legacy and in-progress aspects of the current core code base, it's difficult to just "jump in" and start tackling issues.
However, we can always use help with documentation, examples, and screencasts.
The biggest help would be just share with others how Greenlock has helped you, and invite them to make a contribution along with you - especially where this is valuable to your business, clients, customers, etc.