[Tails-dev] Tails Server: updated plan and GSoC!

Delete this message

Reply to this message
Author: sajolida
Date:  
To: The Tails public development discussion list
Subject: [Tails-dev] Tails Server: updated plan and GSoC!
Hi everybody,

At 32C3 we got quite inspired by the Tor presentation about onion
services and started reviewing the plan we had on the Tails Server
blueprint [0] with segfault.

[0]: https://tails.boum.org/blueprint/server_edition/

The Tails Server project has been on hold for many years, but segfault
and anonym are interested in doing a GSoC about it this year. Yeah!
I volunteered to help with the UX side of things.

Building on the simplified edition [1] I think we should aim at making
the project as incremental as possible, getting really quickly to the
minimal functionalities needed to get one or two templates for services
and add more advanced administration features later in parallel with
developing templates for more services.

[1]: https://tails.boum.org/blueprint/server_edition#index7h1

Ground work
===========

It's also worth noted that this come when:

- The integration of OnionShare is moving forward [2] with some patches
proposed to our tor-controlport-filter to support creating ephemeral
onion services.

[2]: https://labs.riseup.net/code/issues/7870#note-15

- We discovered other related works towards having a more feature-full
Tor control port filter [3].

[3]: https://labs.riseup.net/code/issues/6742#note-13

- We know have a script to run a Mumble server from Tails [4] and are
considering adding it to Tails [5].

[4]: https://labs.riseup.net/code/issues/9993
[5]: https://labs.riseup.net/code/issues/11241

- We have some very rough instructions to serve HTTP requests from Tails
[6] and segfault has been working on making this available even when no
administration password is set in Tails Greeter [7].

[6]: https://labs.riseup.net/code/issues/10970
[7]: https://labs.riseup.net/code/issues/7879

- We wrote a statement of how Tails derivatives should be designed [8]
which envision the need for more powerful customization mechanisms
embedded in Tails.

[8]: https://tails.boum.org/contribute/derivatives/

Simplified edition reviewed
===========================

The current blueprint insists a lot on making Tails Server a special
mode of operation, triggered on boot, and the possibility of running on
dedicated hardware (possibly with no X). It's also based on slightly
outdated assumptions:

- In [9] the blueprint seems to not take into account that we already
have the Additional Software persistence feature.

[9]: https://tails.boum.org/blueprint/server_edition#index11h2

- We now have a screen locker so a normal Tails session can be locked
down properly and the special mode of operation is not needed for that.

- We removed Vidalia in 2.2.

So I propose that we don't make this special mode of operation a strict
requirement for a first implementation and focus instead on being able
to configure, start, and stop services from a normal Tails system, with
persistence enabled and a GNOME session.

The "Use cases" and "Vision" sections of the blueprint would remain the
same (except the Alice and Bob user scenario) but the "Roadmap",
"Timeline", and "Implementation" sections would have to be rewritten to
make the special mode of operation an additional feature to be worked
upon in a second phase.

How does this sound?

If we agree on this maybe a next step would be to rewrite the blueprint
to come up with a realistic step-by-step plan that fits in a GSoC.
I have no clue how to do this myself :)