This repository contains client-side 3NWeb platform. Platform's core talks 3NWeb protocols with servers, does all of crypto, keeps all user's keys, and provides an easy-to-use API for apps that run in 3NWeb platform.
This is a desktop implementation of 3NWeb platform, and it uses Electron. Platform's core runs as a main process, while apps run in renderer processes.
Some of the used packages may need local recompilation, like node-fuse-bindings for mounting storage's file systems into native OS, requiring some setup.
The following kitchen sink is apt-ed in Ubuntu, besides node and deno:
apt-get install -y make gcc gcc-multilib g++ g++-multilib pkg-config build-essential libfuse-dev fuse
Install:
- node, minimum version 18.x. In GUI installer check option that installs chocolatery with the whole kitchen sink that also pulls in Visual Studio libraries.
- git with included MINGW that has bash and other things for reuse of scripts on Windows.
- deno should be placed into
bin
folder inGit
installation. Then bash from MINGW will see it. - Dokany to give FUSE on Windows. Ensure to check installation of files for development, else C headers won't be available.
Ensure that bash is accessible in path. Adding something like C:\Program Files\Git\bin
to PATH
environment variable will help. Adjust path in admin console with setx path /M ...
, else you may have repeating entries, coupled with hard 1024 char limit.
To use this repo, you need Node.js, minimum version 18.x.
First run, in a folder for your os, linux
, windows
or mac
:
npm ci
that will restore packages in accordance to package-lock, including development tools like TypeScript. Some post-install scripts are also present, beware on updates of dependencies and just rely on pair of remove-all and npm-ci.
Use npm scripts:
npm run
will show different available tasks.
When you update/change any npm dependencies, remove node_modules
and run npm ci
to have clean setup. Otherwise you may get non-obvious errors, changes may override patching done by npm's postinstall
script(s).
Code is provided here under GNU General Public License, version 3.
All API's, available to apps that run in 3NWeb platform, are free for anyone to use, to implement, to do anything with them. We specifically do not subscribe to USA's court's concept that API is copyrightable.