verum-server
v0.0.2
Published
Official Verum Node program.
Downloads
1
Readme
Verum Server
Code for a Verum Node. Can be used to start up a new Node.
Verum Node Rules
In order to preserve user security, all Nodes should adhere to the following security rules:
- When a client requests a user's Public Key, the user's Public Key must be provided - not a Node Key. The user will have the capability of verifying this, so violators will be found.
- Messages should only be stored during transit. Once the messages have been sent to their recipient, they should be irrevocably deleted.
- Messages should be encrypted at rest. Compliancy with the first rule with messages from a secure client make compliancy with this default (and almost impossible not to do).
Key point: Verum Nodes store no Secret Keys whatsoever, only Public Keys. They should also never come into contact with a Secret Key: if one does, please report it!
Usage
Verum Nodes are used by users to keep hold of their Public Key and allow contact from other Verum users. The same user may be registered on multiple Verum Nodes, and Nodes are not tracked nor indexed officially (in effect, it's almost peer-to-peer networking). Rather, users must be identified by user@node, such that node is a domain / IP address of a Node, which Verum clients will connect to to send messages to user on that node.
Running a Node
These instructions require Node.JS to be installed on your system, and that you have already cloned the repository.
- Run
npm install
to install required dependencies (verum
). - Run
npm start
to run the program
Updating a Node
Be warned that these instructions are pretty much guaranteed to wipe all user data! Make sure to back up Node data before doing this.
The data warnings only technically apply if Git is tracking your conf.json and users.json files... Which is probably isn't. Still, be careful!
Be aware that the Verum Node program operates on a very much "rolling release" system, in which updates may be pushed frequently. It's extremely advisable for Nodes to keep up-to-date (or, at least, to keep their dependencies up-to-date).
- Back up all (if any) Node Data:
- conf.json
- users.json
- Fetch the new version of Verum-Server from the GitHub master branch: (these instructions assume that you're running the standard Node code provided here, which creates config files and user data files for your Node)
- Run
git fetch --all
- Run
git reset --hard origin/master
- Your user data will now be wiped. Restore it from the backup you made previously.
- Run
npm update
to make sure that your dependencies are the correct versions. - Run
npm start
as usual to run the Node.