mirror of
https://github.com/creating2morrow/neveko.git
synced 2024-10-30 00:27:36 +00:00
3.6 KiB
3.6 KiB
NEVMES
NEVidebla-MESago (invisible message)
gpg and i2p made simple for end-to-end encrypted, secure comms
About
- send messages over the invisible internet
- vanity base32 addresses (advanced)
- automated mandatory gpg key encryption
- xmr 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
- ubuntu example:
git clone https://github.com/creating2morrow/nevmes
cd nevmes && ./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
andpub 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
- nevmes-auth -
internal
auth server - nevmes-contact -
internal
add contacts server - nevmes-gui - primary user interface
- nevmes-message -
internal
message tx/read etc. server - nevmes -
external
primary server for contact share, payment, 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 nevmes-core, exported from lib.rs