full-stack privacy application with enciphered messaging, monero multisig and built-in i2p marketplace
Find a file
2023-06-05 12:39:29 -04:00
.cargo update audit.toml 2023-05-06 01:42:31 -04:00
.github/workflows migrate nevmes -> neveko 2023-06-03 10:17:58 -04:00
assets temp fix for gui failiing to launch from core root 2023-05-30 05:33:50 -04:00
docs add submit multisig api 2023-06-04 06:42:03 -04:00
neveko-auth migrate nevmes -> neveko 2023-06-03 10:17:58 -04:00
neveko-contact migrate nevmes -> neveko 2023-06-03 10:17:58 -04:00
neveko-core gui market integration initial commit 2023-06-05 12:39:29 -04:00
neveko-gui gui market integration initial commit 2023-06-05 12:39:29 -04:00
neveko-market add order validations for shipping 2023-06-05 06:07:01 -04:00
neveko-message migrate nevmes -> neveko 2023-06-03 10:17:58 -04:00
scripts migrate nevmes -> neveko 2023-06-03 10:17:58 -04:00
src fix market controller collision 2023-06-05 11:36:36 -04:00
.gitignore add i2p to installation manager 2023-05-08 02:21:52 -04:00
.rustfmt.toml add rustfmt and fmtall.sh 2023-05-09 17:28:07 -04:00
Cargo.lock migrate nevmes -> neveko 2023-06-03 10:17:58 -04:00
Cargo.toml migrate nevmes -> neveko 2023-06-03 10:17:58 -04:00
LICENSE add license 2023-05-01 22:08:53 -04:00
README.md add secure order retrieval 2023-06-05 03:49:27 -04:00

NEVEKO

NEVidebla-EKOnomia (invisible economy)

cargo-build cargo-audit

gpg and i2p made simple for E2EE marketplace, messaging and more

About

  • send messages over the invisible internet
  • vanity base32 addresses (advanced)
  • automated mandatory gpg key encryption
  • self-hosted i2p marketplace
  • xmr multisig / payment integration

Dev

  • stack - rust (egui, rocket), lmdb, i2p-zero, monero(rpc, daemon), gpg
  • install dependencies
    • ubuntu example: sudo apt update -y && sudo apt upgrade -y
    • sudo apt install -y libssl-dev build-essential libgpgme-dev
  • git clone https://github.com/creating2morrow/neveko
  • cd neveko && ./scripts/build_all_and_run.sh "-- -h"
  • gui built with rust egui

Installation Mananger

  • additional required software can be downloaded from the gui home or Binaries links below
  • hashes are in core lib.rs
  • download i2p-zero, put the path in the connection manager or cli --i2p-zero-dir flag
  • download monero, update connection manager or cli
    • --monero-blockchain-dir, where to put lmdb for monero (e.g. path/to/ssd)
    • --monero-location, path to monero download

Contributing and Releasing

| branch |                 |tag and release|
  dev     -----------------|-------------------------------------------->
  v0.1.0  -----------tag v0.1.0 (delete branch)
  v0.2.0                   |-------------------------------------------->
  main    -------------------------------------------------------------->
  • code on dev branch
  • run ./scripts/fmtall.sh before committing
  • pull request to dev branch
  • todo => TODO(name): detailed work
  • docs on all pub fn and pub struct
  • merge dev to vX.X.X
  • merge vX.X.X to main
  • tag release v.X.X.X every friday (if stable changes)
  • release binaries from the cargo-build-release workflow with notes
  • create next v.X.X+1.X branch and delete old release branch
  • release bug fixes as appropriate to v.X.X.X+1 branch when ready

Workflows

name branch purpose
cargo-build main,dev ensure code compilation and build success
cargo-audit main,dev run security audit against RustSec database
cargo-build-release v0.* publish production ready binaries

API

  • remote/programmatic access
  • secured by wallet signing
  • jwt and jwp
  • see curl.md

Binaries

  • neveko-auth - internal auth server
  • neveko-contact - internal add contacts server
  • neveko-gui - primary user interface
  • neveko-market - internal marketplace admin server
  • neveko-message - internal message tx/read etc. server
  • neveko - external primary server for contact share, payment, market, message rx etc.
  • monerod - (not included) monero-wallet-rpc needs this
    • can be overriden with remote node
    • use the --remote-node flag
  • monero-wallet-rpc - (not included) interface for xmr wallet ops
  • i2p-zero - (not included) tunnel creation and http proxy

most of the complex logic stays in neveko-core, exported from lib.rs

Manual

the manual