[Freedombox-discuss] Best way to get involved?
Every once in a while I post a list of tasks to this list. I should put
them on a web page. Here are some current todos. If you are interested
in any of these, please contact me for more information.
Replacing ssl hierarchy with a gpg-based web of trust. This involved
some scripting, some work with ssl certs, modfiying mod-gnutls and maybe
some browser plugins.
Improving the FreedomBox Privoxy filters. We need test scripts and
more/better filters. Reimplementing the current hack that lets privoxy
do multiple redirect URLs as a proper bit of C code would also be quite
Proxying. This one is easy: we could use a script that sets up a
port-forwarded connection to the freedombox-privoxy server for a
particular user and secures that connection via monkeysphere.
Config layer design. We would like the front end to talk to a middle
layer that handles system config. That middle layer then talks to the
system and sets options (e.g. by twiddling text files). No work had
been done on that middle layer so far and it needs to be designed from
the ground up.
Front-end work. Plinth is our current front end proposal. It could use
design work, cleanup and reimagining.
User database. A freedombox serves/interacts with users. We need ACLs
for them, settable via the front-end. In the current vision, users are
identified primarily via their gpg key.
Welcome script. When a user first plugs in a virgin freedombox, she
should be walked through setup, key generation, etc. We need a web
script that does this interaction in an informative, no-hassle way and
computes/generates any other needed data.
Santiago Port. I have started experimenting with using a tor hidden
service as a way to find FreedomBoxes wherever they might be. A
FreedomBox should listen on its hidden service port and respond to login
requests and informational queries (e.g. "How can I reach you, what is
your ip?"). Tor is too slow to pass all our traffic on it as a matter
of course, so communication over this Santiago port is really about
setting up further communication over other channels. I've started to
extend Plinth to do this, but haven't published the branch yet. If
anybody is interested in helping with this, I'll put the branch up.
There's other work of course, but that list is a good start.