Lev
4e19042f5b
|
3 years ago | |
---|---|---|
degeon | 3 years ago | |
degeon_core | 3 years ago | |
degeon_py | 3 years ago | |
images | 3 years ago | |
ironforce | 3 years ago | |
.gitignore | 3 years ago | |
Cargo.lock | 3 years ago | |
Cargo.toml | 3 years ago | |
README.md | 3 years ago | |
degeon_bin | 3 years ago |
README.md
Ironforce + Degeon
IronForce is a peer-to-peer decentralized network, Degeon is a messenger built on it.
In this repository there is three Cargo crates and one python project:
ironforce
is the decentralized networkdegeon_core
contains messenger's protocoldegeon
is the messenger app in Rust + Iceddegeon_py
is a version of the messenger app in Python + Pygame
Ironforce
The Ironforce network:
-
Has messages encrypted and signed using RSA
-
Can build efficient tunnels between two nodes
-
Is anonymous: it's very hard to create a connection between a node's IP and its public key
-
Can be extended to support any interface, like Bluetooth or even radio
-
Can run on ARM microcontrollers
Running IronForce
The IF
network has a worker daemon that can be used to read the broadcast messages and write them.
Also, you can us IF
as a Rust library (as it's done in Degeon).
To get started:
- Clone this repository:
git clone ssh://git@gitlab.ennucore.com:10022/ironforce/ironforce.git
- Install Rust and Cargo. The best way to do this is to use RustUp:
sudo pacman -S rustup # this is for Arch Linux, on other distros use the corresponding package manager
rustup default nightly # this will install rust & cargo (nightly toolchain)
- Run the worker:
cd ironforce/ironforce
cargo build --features std # This will build ironforce network
# To run the worker, use this:
cargo run --bin worker --features std
Degeon
Degeon is a messenger built on IronForce to show its abilities.
Its core is in the crate degeon_core
. The crate can be used as a Python module or in Rust.
To build it, install Cargo and Rust, then do this:
cd ironforce/degeon_core
cargo build
You will find the libdegeon_core.so
file that can be used in Python in the target/debug
directory.
It should be renamed to degeon_core.so
.
In Windows Rust should generate a .dll
file that you will be able to use likewise.
There are two GUI options for this interface:
- A Rust + Iced client (preferred)
- A Pygame client
To run the Rust client, cd
into the degeon
folder of this repository, then use cargo:
cargo run
.
Note: this application requires Vulkan to be installed.
For me on Arch Linux and Intel GPU the installation command was sudo pacman -S vulkan-intel
.
On most systems it should be pre-installed.