{"id":24129554,"url":"https://github.com/luandro/meshpi","last_synced_at":"2025-09-18T22:32:56.569Z","repository":{"id":79813250,"uuid":"126411042","full_name":"luandro/meshpi","owner":"luandro","description":"Scripts and image to mesh a Raspberry Pi with a Libre Mesh router","archived":false,"fork":false,"pushed_at":"2018-03-31T12:34:16.000Z","size":29,"stargazers_count":24,"open_issues_count":4,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-02T02:13:14.759Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/luandro.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-03-23T00:31:49.000Z","updated_at":"2023-03-14T08:07:24.000Z","dependencies_parsed_at":null,"dependency_job_id":"472ed1bb-b520-401e-a97b-9a45bb85fa62","html_url":"https://github.com/luandro/meshpi","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/luandro/meshpi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luandro%2Fmeshpi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luandro%2Fmeshpi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luandro%2Fmeshpi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luandro%2Fmeshpi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/luandro","download_url":"https://codeload.github.com/luandro/meshpi/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luandro%2Fmeshpi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275844379,"owners_count":25538991,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-18T02:00:09.552Z","response_time":77,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-11T19:33:41.025Z","updated_at":"2025-09-18T22:32:56.538Z","avatar_url":"https://github.com/luandro.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"Mesh Pi\n========\n\nFork from [subnodes](https://github.com/chootka/subnodes).\n\nGoal is to get a layer 2 mesh with a [Libre Mesh](https://libremesh.org) router using a [Raspberry Pi](https://www.raspberrypi.org/) [v3](https://www.raspberrypi.org/products/raspberry-pi-3-model-b/) or [Zero W](https://www.raspberrypi.org/products/raspberry-pi-zero-w/) the easiest way possible.\n\n## Usage\n\nFor this to work it is assumed that you are running a Raspberry Pi 3 or Pi Zero W with an additional mesh compatible usb dongle such as [TP-LINK_TL-WN722N](https://wikidevi.com/wiki/TP-LINK_TL-WN722N) v1 or v1.2, not [v2](https://wikidevi.com/wiki/TP-LINK_TL-WN722N_v2). The access point will be set up utilizing the Pi's internal wireless radio.\n\nMake sure you have the additional radio and an ethernet cable connecting the Pi to the internet. On the first boot it will take a little bit to get first steps ready for you. You can check what's hapenning using `ps -ef`. Once the Pi reboots, it's all ready. Let's get in:\n\n`ssh pi@meshpi` with the password `meshpi`\n\nThere you'll find the folder `meshpi`. You'll need to set the configuration files. \n\n`vim meshpi.config`\n\nIt's set for Libre Mesh settings, but the USB device `phy` address may vary.\n \n Use `iw phy  | grep phy` to list your devices and `iw phy phyX info` to find the device with `mesh-point` capability\n \n Check to other configurations and once you're ready run the install script:\n\n`sudo ./install.sh`\n\nThe installation process takes about 15 minutes. After it has completed, you will have a running node.js web server, wireless access point, and BATMAN Advanced mesh node. Connecting to the network and navigating to a browser page will redirect you to http://www.subnodes.org, where a sample node.js chat client will be running. \n\nFrom here, fork, build, share your ideas, and have fun!\n\n## Without the image\n\nIf you don't want to use the image, you can go through the steps manually assuming you're using a fresh Raspbian Lite install.\n\n* set up your Raspberry Pi with a basic configuration\n\n        sudo raspi-config\n\n* update apt-get\n\n        sudo apt-get update\n        \n* install git\n\n        sudo apt-get install git\n\n* clone the repository into your home folder (assuming /home/pi)\n\n        git clone https://github.com/luandro/meshpi.git\n\n* configure your wireless access point and mesh network in meshpi.config in any text editor, or in the command line you can use nano\n\n        vim meshpi.config\n\n* run the installation script\n\n        cd meshpi\n        sudo ./install.sh\n\n## About Subnodes\n\nSubnodes is an open source project that turns your Linux device running the latest Raspbian (as of this writing, Stretch Lite) into an offline mesh node and wireless access point.\n\nThis project is an initiative focused on streamlining the process of setting up a Raspberry Pi as a wireless access point for distributing content, media, and shared digital experiences. The device becomes a web server, creating its own local area network, and does not connect with the internet. This is key for the sake of offering a space where people can communicate anonymously and freely, as well as maximizing the portability of the network (no dependibility on an internet connection means the device can be taken and remain active anywhere). \n\nThe device can also be configured as a BATMAN Advanced mesh node, enabling it to join with other nearby BATMAN nodes into a greater mesh network, extending the access point range and making it possible to exchange information with each other. Support for meshpi has been provided by Eyebeam. This code is published under the [AGPLv3](http://www.gnu.org/licenses/agpl-3.0.html).\n\n## References\n\n* [Subnodes website](http://www.subnodes.org/)\n* [Raspberry Pi](http://www.raspberrypi.org/)\n* [eyebeam](http://eyebeam.org/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluandro%2Fmeshpi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fluandro%2Fmeshpi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluandro%2Fmeshpi/lists"}