Note: The name of this project was changed to something more individual.
Noisecrypt is a decentralized social network with end-to-end encryption. You can save your user data on a server of your choice while you can still interact (write messages, visit profiles, etc.) with people on other servers. Furthermore messages, private posts and private profile information are end-to-end encrypted. This is a preview version and it is not ready for production use yet. The software is not completed yet, as many things such as Spam or integrity protection are missing and will probably take some more years development time until the first stable release.
- Video - A short demo video. Watch this first before testing it yourself.
- Demo - Do not provide any personal data as content is not served via https and the whole thing is not completely secure yet! Provide "mschultheiss.com" (or your own server url) as a server when being asked at signup. Please note that data is reset periodically and the demo server is not always available as it is not very powerful. Setup your own server if you want a better test environment. Try to clear your cache if something is not working properly.
- Paper - The paper describes the basic ideas and the protocol. Please note that it is unfinished.
You can add semantic information to your posts. With this feature it is possible to perform search queries like "Show me all events created by my fellow students in a 30 km radius" or "Show me all friends driving from Munich to Augsburg tommorrow":
Warning: This is for preview purposes only. It is almost function complete but neither stable nor secure. There are essential things missing, such as integrity protection for the client and forced https for server-to-server communication. The code is of not-so-good (horrible) quality right now and will be refactored and documented during the next months.
- ONLY USE FOR TESTING!!
- You can use the Demo Client, linked above for testing
- You can also run it on your own server by copying the files in
/jsclient
on your server to test. Please note the client does not support https right now, due to mixed content policy. - Later we will provide native build for Windows, Mac etc.
- IT IS RECOMMENDED TO SETUP SERVERS IN A CLOSED TEST ENVIRONMENT (INTRANET etc.) WITHIN A VIRTUAL MACHINE ONLY!!! THE SOFTWARE IS NOT SECURE AT THE MOMENT!!!
- Setting up a server requires solid knowledge of GNU/Linux
- Copy the files in
/server/charme
toyourserver.com/charme
, so that req.php is accessable viayourserver.com/charme/req.php
Afterwards use thecharme/admin/setup.sh
script on Debian and Fedora. If you are using another OS or there are some errors, try out the steps described in thedoc/install.md
file. - Mongo DB may require a /data/db directory to work. Always check status via
charme/admin/status.sh
and the Apache logs if something is not working. - Make sure to create a config/imprint.html and a config/terms.html file containing your contact information and terms of service if your server goes public. But do not set up a public server right now as the software is not stable or secure!!
- The most common errros are listed in faq_errors.md.
- There is a short video on how to setup a test server on Youtube
The passphrase encrypts all your private data. We can not provide a "forgot passphrase" function as we would have to know your passphrase to do so.
Directories:
**Path** | **Description** |
/jsclient | Web based Client doing encryption and client-to-server requests. |
/server | This directory contains all the code for running a server. |
/doc | Developer Documentation. See the Github Wiki also |
/Mobile | Mobile App Files. Incomplete. |
- Help testing or write code! You can also write code for stand alone components while having zero knowledge about the system architecture itself!
- Getting started
A lot of libraries are used in this project. Find a list here.
Noisecrypt is a distributed social network with end-to-end encryption
Copyright (C) 2015 Manuel Schultheiß
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.