The problem your project solves
Currently users behave when using network as if the network was
a static resource.
Our tool, carbon blocker, shall bring the user some insight and awareness
of network transmissions having different carbon costs attached to them.
This empoweres the users to make informed decisions on if a network transmission
shall now be executed or if it can also wait until a later point in time where
the source or origin location for the transmission is on a greener grid.
The solution you bring to the table
Carbon Blocker is a static hostname based blocking mechanism that first leverages
the Carbon Aware SDK to identify if the user (target) and also the source (Download server) location is currently on green energy.
If so no blocking of network transmissions will be done.
However if the user is on non-green energy (> 50 gCO2/kWh ) then a pre-defined
set of hostnames will be blocked from DNS resolution via injection into the hosts
file and thus the network transmissions blocked.
This mechanism has the advantage of being very low overhead and extremely versatile
and general, as it applies to all applications that run on the operating system
without the need of writing plugins for every application on its own.
Also it is easily extendable and can leverage contributions to the static blocking list
in the same way that has proven to be successful for adblockers (eg. EasyList from Adblock).
What you have done during the weekend
We have teamed up and discussed possible routes to integrate Carbon Blocker into the operating system
on Windows, macOS and Linux.
Also we sketched out the architecture and programming language we want to choose,
as we want the project to be most general and approachable.
The solution’s impact to the
The impact to the current carbon emissions of the ICT sector is tremendous, as
the user can make insightful decisions that might lead to savings in the order
of multiple GB (when we assume that the user for instance delays Netflix Streaming)
for 1 hour.
Since we targetet our tool particular to end users and not only to developers like
most of the submissions currently are it has an enormous potential user base.
These savings can quickly ad up as our mechanis applies to every version of
Windows or Linux operating systems and to every application that makes network
requests.
The necessities in order to continue the project
The current implementation of carbon blocker provides already many insights and
puts the user in control of his network carbon emissions.
However it would be nice if the list of downloads is continuously updated
by the community or the user itself.
We would like to integrate a platform with an easy community transparent contribution
mechanism for potential entries into the blocking list
as well as a "popup" mechanic that allows the user to add URLs (Hostnames) that
Carbon Blocker currently does not know, but the OS would like to make a network
connection to.
This means effectively developing or integrating a transparent reverse proxy / VPN
that can capture and handle these new network connections. Similar to tools like
ZoneAlarm / LittleSnitch.
The value of your solution(s)
The value of our solution is that it can basically block all network operations
from any app or website that the user does not want to make requests in carbon intesive times.
This makes it extremely general and saves developers from creating custom solutions
for every app or software out there.
The URL to the prototype [Github, Website,...]
https://github.com/green-coding-berlin/carbon-blocker