Sphinx

Ornia and Hydra are dead, long live Sphinx!

= What is Sphinx? = Sphinx is a peer-to-peer file sharing hub available to the Hampshire community run by the student group LibreHamp. Sphinx also allows you to chat with other users.

Socially Speaking
Sphinx exists to enable the sharing of your own and others' free cultural works to promote a sense of community, generate dialogue, and provide a platform for creators to have their material seen, read, and heard. It thus endorses the free culture movement, which seeks to promote the freedom to distribute and modify cultural works in the form of free content, i.e., anything that meets the definition of a free cultural work (see link above for a formal definition of what constitutes such a work).

"The mission of the Free Culture movement is to build a bottom-up, participatory structure to society and culture, rather than a top-down, closed, proprietary structure. Through the democratizing power of digital technology and the internet, we can place the tools of creation and distribution, communication and collaboration, teaching and learning into the hands of the common person--and with a truly active, connected, informed citizenry, injustice and oppression will slowly but surely vanish from the earth." - The Free Culture Manifesto

Sphinx allows users to share files from selected folders on their computer. After connecting to the Sphinx network, you will see a list of other online users and can browse their shared folders. If you choose to download something, you should get it at lightning speed, as everything is run through Hampshire's local network.

You can also chat with other online users. Say you liked someone's electronic mix and you want them to DJ your next party or you think it would be fun to collaborate on a new piece. Message them and get a conversation going. Maybe someone has a large collection of movies and you want a recommendation. Message them and see what they have to say. Say you find someone's artwork is inspiring or cool. Message them and let them know. These are the types of interactions Sphinx seeks to foster.

Sphinx is strictly anti-censorship and pro-privacy. As long as it's legal to do so, you can any freely share any content you wish with the community. Sphinx collects no logs, meaning I don't make any records of your ip address, downloads, searches, etc..

Sphinx also takes a strong stance against proprietary and nonfree software. It antithetical to the expressed goal of cultural freedom to run nonfree software which expresses unjust control over the user. In best case scenario the user does not own the program. Instead, the program is owned by some entity who has control over the program and how the user may interact with it. In the worse case scenario, this entity uses this power to spy on users, to restrict them, to censor them, and to compromise information about their computer and activities to state and corporate actors. That is why the Sphinx server runs on 100% free/libre software and was even purchased for its compatibility with free motherboard firmware.

Technically Speaking
The server runs ADCH++ hub software, which uses the Advanced Direct Connect (ADC) protocol. I chose ADCH++ for a few reasons:


 * It has a free software license, the GNU GPL v2.


 * It supports the ADCS protocol, a "'TLS/SSL layer just over the TCP layer and beneath the application layer (where ADC runs). This way, the ADC protocol remains unchanged while the connections are encrypted. The connecting party performs a TLS handshake immediately after the TCP connection is established. The ADC handshake is performed and once the TLS connection is established the ADC handshake proceeds as usual. Encrypted ADC connections can be established using a TLS tunnel, both for hub and for client connections. Certificates can be used to authenticate both hub and user, for example by making the hub the root CA, and only allow clients signed by the hub to connect. Ephemeral keys should be use to ensure forward secrecy when possible.' -- The ADC Documentation"
 * For client-hub encryption: "'TLS client-hub connections can be initiated either by negotiating the feature 'ADCS' on connection or by using the protocol adcs:// when initiating the connection' -- Ibid."
 * For client-client encryption: "'TLS client-client connections can be established either by negotiating the feature 'ADCS' on connection or by specifying 'ADCS/1.0' in the CTM protocol field. Clients supporting encrypted connections must indicate this in the INF SU field with 'ADCS'.' -- Ibid."


 * It is the only ADC hub software which supports the bloom filtering protocol BLOM. BLOM saves anyone connected to Sphinx bandwidth compared to any other ADC hub software. For a friendly explanation read this blog post and for the technical explanation see the documentation.

The Sphinx server runs the Debian GNU/Linux operating system hosted on top of the Xen hypervisor. The motherboard runs Coreboot with GNU GRUB as a payload. The server runs 100% free/libre software (free as in speech, not price).

What's with the name?
The Sphinx was Hydra's sister. It turns out I decided to give my cat the same name.

= How do I connect to Sphinx? = I highly recommend you choose one of the clients below and configure it as suggested. I have chosen clients which support encryption protocols which protect against eavesdropping and certain attacks.

GNU/Linux and OS X users
Jucy

GNU/Linux users
AirDC++ nano has all the features of AirDC++, but none of the graphical user interface (GUI). If you're okay with using a text-mode client, AirDC++ nano packs a lot more features than Jucy. The documentation is pretty decent, so if you're the type of gal who uses irssi, tmux, or rtorrent, give it a shot.

Windows users
AirDC++

Technical reasons to choose AirDC++ (nano) and Jucy
SUDP and KEYP support

= Contact Us = For questions or comments, contact the server administrator, Noah Vesely.