About

SocialNetwork is an attempt at building a social network in which no third party needs to be trusted (where no third party can track your habits, sell your data or impersonate you for advertising)
It is far from finished, but feel free to play with what's currently available and if you come up with anything useful (patches, a better name, etc.) please send an email to bugs@socialnetwork.ion.nu

Instead of federated central nodes (less centralized than the current mainstream social networks, but still centralized and requiring you to trust a third party with your data) the plan with SocialNetwork is to have each user be their own node.
Only those who are allowed to see your updates will receive them, and will also receive the privacy settings and share them further to authorized users (specific circles, friends and family, or anyone)
Other users/nodes (not friends and family) help the peer-to-peer network function, but data is limited to intended recipients.

SocialNetwork uses UDP for NAT hole-punching and implements a reliable connection-based layer on top of it which allows for one UDP socket (one NAT hole-punched public port) to have multiple simultaneous connections, both incoming and outgoing, each of which is individually TLS-encrypted.
The idea is for each frontend to save its list of connected peers at exit to serve as a bootstrap next time it's started, with a certain minimum number of peers to be connected to, requesting peers from the peers it has until it's reached.
User IDs are derived from the TLS certificate/key fingerprints.

Screenshot

TODO...

Download

So far no releases have been made, but the git repository can be found here.
Additionally the git repository for a SocialNetwork web client can be found here. The web client utilizes emscripten to compile the core library to javascript, with a proxy through websockets on the reliable connections layer, keeping the communication between clients end-to-end encrypted. The web client proxy uses libwebsocket for the websockets.

Contact

There was an IRC channel but the network it was on (Freenode) went bad. There is still e-mail, bugs@socialnetwork.ion.nu
If there is interest in an IRC channel I may set one up on Libera.chat.

License

SocialNetwork is free software licensed under the GNU Affero General Public License version 3.