E2EE only
npm install @totemstan/securelinkSecureLink (built on SocketIO) provides a secure link between clients
through the use of PGP end-to-end encryption. SecureLink also provides antibot technology to challenge clients,
and a secure login mechanisim. SecureLink establishes the following SocketIO protocol
Function Client Channel Server
==================================================================
join ----------------- connect ---------------->
request ----------------- join ------------------->
<---- status || challenge || start -------
start ----------------- announce --------------->
session <---------------- accept* -----------------
save ----------------- store ------------------>
history <---------------- status ------------------
load ----------------- restore ---------------->
history <---------------- status ------------------
login ----------------- login ------------------>
request <----- status, remove, accept -----------
relay ----------------- relay ------------------>
message <---------------- relay** -----------------
* sends to all clients
** sends to all clients except the requesting client
npm install @totemstan/securelink # install
npm run start [ ? | $ | ...] # Unit test
npm run verminor # Roll minor version
npm run vermajor # Roll major version
npm run redoc # Regen documentation
Acquire and optionally configure SecureLink as follows:
const SECLINK = require("@totemstan/securelink").config({
key: value, // set key
"key.key": value, // indexed set
"key.key.": value // indexed append
});
where configuration keys follow ENUMS deep copy conventions.
Provides a private (end-to-end encrypted) message link between trusted clients and secure logins.
This module documented in accordance with jsdoc.
LINK_PASS = passphrase to encrypt user passwords ["securePass"]
LINK_HOST = name of secure link host ["secureHost"]
Provides UIs for operating private (end-to-end encrypted) messaging link
between trusted clients.
This module documented in accordance with jsdoc.
The UIs herein are created in the /site.jade and support:
+ client login/out/reset operations
+ SecureLink and dbSync sockets (Kill, Sockets, Join)
+ data encryption (GenKeys, Encrypt, Decrypt, Encode, Decode)
This module documented in accordance with jsdoc.
Requires: module:enums, module:socketio, module:socket.io, module:crypto
Author: ACMESDS
Example
``js
On the server:
const
SECLINK = require("securelink");
SECLINK.config({
server: server,
sqlThread: sqlThread,
guest: {....}
});
const
{ sio } = SECLINK;
sio.emit( "update", { // send update request
});
On the client:
//
Sockets({ // establish sockets
update: req => { // intercept update request
console.log("update", req);
},
// other sockets as needed ...
});
``
* SECLINK
* .host
* .isTrusted()
* .Login(login, cb)
* .testClient(client, guess, res)
* .config()
Kind: static property of SECLINK
Kind: static method of SECLINK
Kind: static method of SECLINK
Cfg: Function
| Param | Type | Description |
| --- | --- | --- |
| login | String | account/password credentials |
| cb | function | callback (err,profile) to process the session |
Kind: static method of SECLINK
| Param | Type | Description |
| --- | --- | --- |
| client | String | name of client being challenged |
| guess | String | guess provided by client |
| res | function | response callback( "pass" || "fail" || "retry" ) |
Kind: static method of SECLINK
Requires: module:socketio, module:openpgp, module:uibase
Author: ACMESDS
Feel free to
* submit and status TOTEM issues
* contribute to TOTEM notebooks
* revise TOTEM requirements
* browse TOTEM holdings
* or follow TOTEM milestones
*
© 2012 ACMESDS