The Tails Server should provide a user-friendly way to start onion services that facilitate group collaboration, communication, and data sharing. See the Tails Server Blueprint for further information on the entire Tails Server project.
During GSoC 2016, I plan to implement the basis of the Tails Server. It should be possible to use a GUI or CLI (I will implement both) in Tails to automatically install a service and set everything up so it is reachable as an onion service. It should be a generic solution which makes it easy to add many different services (web server, Etherpad, Mumble server, file sharing service, etc.), but I don't plan to add many of them during this project, because that might go beyond scope. I will instead use a simple web server serving a static page as a first service.
The user should be able to choose:
- whether s/he wants to require client authentication (using HiddenServiceAuthorizeClient).
- whether the server's configuration and data and the onion service's keys and address are stored persistently (i.e. being restored after reboot) or not.
- whether the service is supposed to automatically start after booting Tails.
- whether it should allow LAN connections.