tomeshnet / prototype-cjdns-pi

Prototype system for mesh networks on single board computers
https://chat.tomesh.net/#/room/#software:tomesh.net
GNU General Public License v3.0
218 stars 42 forks source link

Yggdrasil & cjdns optional install #478

Open zicmama opened 4 years ago

zicmama commented 4 years ago

In most condition, as I am using ipfs and ssb layers I have no use for such particular networks layers... WAN & LAN works like a charm using ssb Pubs interconnecting ipfs swarms

yggdrasil & cjdns are adding a lot of firewall rules that ipfs swarm is providing. Global routing between swams is done by "friendly" exchanging ipfs swarm.key through ssb private messages... so the IPFS network can extend speed and storage... Or just keep lowspeed/storage ssb frontiers with no friends Pubs...

Would it be easy to bypass that install part? I tried many options, but network layer is always modified....

darkdrgn2k commented 4 years ago

@zicmama - Sorry for the delay in responding to you about this.

We just pushed V0.5RC1 to master with many improvements. I'm not sure if you can install the stack without CJDNS or Yggdrasil since there are places it looks for it during the install to make the install work. We have done work to allow one OR the other to be installed (for one the node name is derived from these two see https://github.com/tomeshnet/prototype-cjdns-pi/blob/master/scripts/shared/hostname/install )

However the stack is not depended on this to actually work. You can simply disable them by running 'sudo systemctl disable yggdrasil' (reboot required)

As for Firewall ,CJDNS/YGGDARSIL themselves do not apply any firewall rules. There is a standard list of rules we created to make sure nodes installed are not "default open" to the world especially since Yggdrasil issues Yggdrasil addressable ipv6 addresses to AP clients.

Firewall is optional when using CUSTOM install, and can disable by running sudo systemctl disable netfilter-persistent or simply deleting the rules in /etc/iptables/ (reboot needed for both) (reference https://github.com/tomeshnet/prototype-cjdns-pi/blob/master/scripts/firewall/install#L19-L20 )

You can also add additional rules into the correct file to open the firewall holes. If there is something we missed id like to hear it so we can add it to our current default firewall.

Moving forward we recognize that this stack has been used for much more then a playground for d-web things which it was originally envisioned for. This is why we are working towards building a "mesh repository" for Debian which will have DEB packages that can be used to build a node YOUR WAY.

Its still in its infancy but a proof of concept repo can be found here https://github.com/darkdrgn2k/packages

This repo automatically generates DEB packages for multiple platforms and uploads them here http://meshwithme.online/deb/repos/apt/debian/

(sadly i have not found a way to cross compile SSB yet into ARM so it currently only has the AMD64 version)

makew0rld commented 4 years ago

If you want to follow the issue about SSB on ARM, it's here.