In this repo you can find the source code for the API and checking code that the Green Web Foundation servers use to check the power a domain uses.
Following Simon Brown's C4 model this repo includes the API server code, along with the green check worker code in packages/greencheck
.
This repository contains the code served to you when you visit http://api.thegreenwebfoundation.org.
When requests come in, symfony accepts and validates the request, and creates a job for enqeueue to service with a worker.
The greenweb api application running on https://api.thegreenwebfoundation.org
This provides a backend for the browser extensions and the website on https://www.thegreenwebfoundation.org
This needs:
Currently runs on symfony 5.x
To start development:
git clone git@github.com:thegreenwebfoundation/thegreenwebfoundation.git
composer install
bin/console server:run
To deploy:
bin/deploy
To test locally:
bin/console enqueue:consume
in a seperate terminal to process the checksIn packages/greencheck
is the library used for carrying out checks against the Green Web Foundation Database. Workers take jobs in a RabbitMQ queue, and call the greencheck code to return the result quickly, before passing the result, RPC-style to the original calling code in symfony API server.
In packages/publicsuffix
is a library provides helpers for retrieving the public suffix of a domain name based on the Mozilla Public Suffix list. Used by the API Server.