From 7b7ce8044b50b823971377e9423e5801d8043ee6 Mon Sep 17 00:00:00 2001 From: Pranav Jerry Date: Thu, 29 Jul 2021 22:36:53 +0530 Subject: [PATCH] improved README Let's see if anyone reads the comments :) Changed python to python3 in Makefile --- Makefile | 4 +-- README.md | 79 +++++++++++++++++++++++++++++++++---------------------- 2 files changed, 49 insertions(+), 34 deletions(-) diff --git a/Makefile b/Makefile index 54c2b15..e7b9878 100644 --- a/Makefile +++ b/Makefile @@ -2,10 +2,10 @@ all: build build: - python setup.py build + python3 setup.py build install: build - python setup.py install --root="$(DESTDIR)/" --optimize=1 --skip-build + python3 setup.py install --root="$(DESTDIR)/" --optimize=1 --skip-build clean: rm -rf build naxalnet.egg-info diff --git a/README.md b/README.md index f2e0be2..10a481c 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,28 @@ # naxalnet -**naxalnet** is an experiment to create a wireless mesh network for -communicating with each other during an internet shutdown, using -existing software and tech as much as possible. Currently -you can only communicate with other peers running naxalnet or -using the same network as naxalnet. It uses -[B.A.T.M.A.N. Advanced][batman-adv], -an implementation of the B.A.T.M.A.N. routing protocol to -communicate with peers. +**naxalnet** is a program to create a wireless mesh network for +communicating with each other. It can be useful during an internet +shutdown, or to join online classes with a group of laptops. +It uses [B.A.T.M.A.N. Advanced][batman-adv],an implementation +of the B.A.T.M.A.N. routing protocol to communicate with peers. + +WARNING: +This program uses an unencrypted network. This means, +you do not get any more privacy or security than with an open wifi +network. + + The name naxal comes from Naxalbari, a village in Darjeeling, West Bengal. @@ -20,18 +35,15 @@ brigade; or 3) both, please be aware that this project is not affiliated with any groups designated as "terrorist" groups in India. Using the name Naxal does not imply any form of connection -with anyone the government of India collectively calles Urban -Naxals (human rights activists, lawyers, poets, writers, journalists -or anyone else advocating for their rights). +with anyone currently at risk of death in overcrowded prisons. --> ## Requirements -- systemd{,-networkd} v248 or more (for [batman support][batman-systemd]) -- Linux kernel with batman-adv module (if `modinfo batman-adv` shows - no error then you already have it) -- iwd (for starting ad-hoc network) +- [systemd v248 or more][batman-systemd]) +- Linux kernel with batman-adv module +- iwd - python3 - python-setuptools (for building) - [python-dasbus][] @@ -83,30 +95,32 @@ sudo systemctl daemon-reload You need more than one computer running for the connection to work. -### Communicate between peers +### Start naxalnet -Connect a wifi adapter to all the computers you intend to run -naxalnet. -Start the naxalnet service on all of them: +To start naxalnet, do the command on all the nodes: ```sh sudo systemctl start naxalnet.service ``` -To test if it works, run `ip addr` to find out your address. -Note the `inet` or `inet6` address of `bridge0`. Ping the address -from another computer (example: `ping 169.254.62.90`) to find out -if it is online. Press Ctrl-C to stop. +To test if it works, run `ip -c addr` to find out your address. +Note the `inet` address of `bridge0`. If there isn't one, try again +after a few seconds. If the address starts with 169.254, it has +got a link-local address. ### Getting internet access -Connect an ethernet to any of the peers and start naxalnet. -Now all the peers should be able to connect after renewing -their DHCP connection (`sudo networkctl renew bridge0`). +Connect an ethernet cable to any of the peers and +[start naxalnet][startnx]. Now all the peers should +be able to connect after renewing their DHCP connection +(`sudo networkctl renew bridge0`). ### Tethering via WiFi AP -Connect two wifi adapters on a device and start naxalnet. +If there are two adapters in a peer, naxalnet will start a +wifi ap (wifi hotspot) on one of them. + +Connect two wifi adapters on a device and [start naxalnet][startnx]. Now an ap will be created on one of the adapters with SSID `NaxalNet` and password `naxalnet256`. If you had set up internet access on one of the peers, internet @@ -116,9 +130,9 @@ can be accessed from the AP. Starting the service will stop `NetworkManager.service` and `wpa_supplicant.service` if it is running. If you start either of these -services after naxalnet is started, systemd will stop naxalnet. +services after naxalnet was started, systemd will stop naxalnet. -To run naxalnet at boot, enable the service: +To run naxalnet at boot, enable the service on all the nodes: ```sh sudo systemctl enable naxalnet.service @@ -194,12 +208,13 @@ license. [batman-adv]: https://www.open-mesh.org/projects/batman-adv/wiki [ipfs]: https://ipfs.io -[jami]: https://jami.net -[ssb]: https://scuttlebutt.nz -[python-dasbus]: https://github.com/rhinstaller/dasbus +[jami]: https://jami.net "Peer to peer video calls" +[ssb]: https://scuttlebutt.nz "Secure Scuttlebutt" +[python-dasbus]: https://github.com/rhinstaller/dasbus "Python D-Bus library" [aur]: https://aur.archlinux.org/packages/naxalnet [aur-devel]: https://aur.archlinux.org/packages/naxalnet-git [arch-resolved]: https://wiki.archlinux.org/title/Systemd-resolved#DNS [batman-systemd]: https://www.open-mesh.org/news/101 [libremesh]: https://libremesh.org [disaster.radio]: https://disaster.radio/ +[startnx]: #start-naxalnet