p2pchat: looking for experienced devs to help build an offline messenger for the protests in india

We're working on p2pchat, an open-source phone-to-phone messaging app for keeping people in contact when mobile internet is cut off.

There are mass protests led by the youth that are happening now in India, and internet shutdowns are already part of the response. Mobile internet was suspended around Jantar Mantar in Delhi on 2 October as people gathered to protest. Internet Society's shutdown record documents it. Losing connectivity makes it harder to find people, coordinate and share information at the time you need to.

That's why we used "vibecoding" to get a prototype together quickly. We started from an existing open-source Bluetooth messaging app and used AI-assisted coding to build on it. We wanted people to have actual code to inspect and test while these protests are happening. Now we need experienced human developers to review the code and help with the parts that handle people's messages and identities.

The current prototype uses Bluetooth Low Energy for nearby messaging. with relay explicitly enabled, a phone can carry encrypted packets and pass them to another phone it encounters later. That's the idea behind messages hopping between devices. delivery still depends on phones meeting, and reliable background operation needs physical-device testing.

There are private chats, group messaging, forums/channels and public broadcast screens. the encryption construction is custom and unaudited. Tor isn't implemented yet. public broadcasts are public, including to hostile participants.

We need help with:

  • reviewing the existing E2EE, identity verification, key storage and forward-secrecy limits, and deciding what should be replaced with a maintained, reviewed protocol.
  • implementing native Tor transport for internet messaging, with peer onion addresses bound to verified contacts and protection against connections accidentally bypassing Tor.
  • auditing relay hopping: consent, duplicate handling, expiry, storage limits, malicious packets and what forwarding behaviour reveals about users. we also need real Android/iOS background and multi-phone tests.
  • reviewing and implementing the sensitive parts of forums and public broadcasts: sender authentication, impersonation, spam and abuse handling, and keeping private messages out of public internet gateways.

This is pre-alpha and has not had an independent security audit. please don't rely on it for sensitive protest communications yet. The urgency is why we're asking for help now; the prototype still needs that review before anyone should trust it in the field.

repo: lindisboy/p2pchat

If you've worked on secure messaging, Tor or mobile networking, a focused review of one part of the code would help. The repo has the threat model and implementation notes, including known limits and unfinished work. Please follow the security policy when reporting vulnerabilities.

To understand the seriousness and the urgency and forgive the "AI slop" approach, please do read up and follow what is happening in India. There are sickening scenes unfolding as fascistic state forces violently crack down on the youth and middle class led protests for the resignation of the Chief Election Commissioner of India, though many especially the lawyers are even calling for legal action including improsenment against the entire far right BJP/RSS government and many of the police force that is unleashing terrible police brutality. Even then, the determination of the people is not relenting and protests will continue to grow. Please follow these pages for more updates

https://www.instagram.com/onlytheoreticallyhot https://www.instagram.com/harshdelhise https://www.instagram.com/kahaniistaan https://www.instagram.com/vibhugroverr https://www.instagram.com/cockroachjantaparty https://www.instagram.com/neowsibora https://www.instagram.com/meghnads/ https://www.instagram.com/watchthestate/

For more information surrounding the specific government policies that triggered this unrest: https://youngpoliticalworkers.substack.com/p/vote-chori-sir-and-current-outburst

This is an urgent call for help! I am reaching out to this community because I do not wish to have many eyes on this beyond the people who can really understand why this is needed. Though many of us are working towards a socialist revolution in line with what Indian revolutionary Bhagat Singh talks about in his important final letter before being martyred - "To Young Political Workers" (https://www.marxists.org/archive/bhagat-singh/1931/02/02.htm) - we are also forming a United front against the fascist BJP government.

I understand there are many communists and socialists here and I believe we can come together and work towards something meaningful, which maybe even if its not necessary in this wave of protests, could be of paramount importance in the future.

Lastly... NOTE: I want to caution that there have been multiple instances of the "BJP IT Cell" and pro-government people doxxing the identities of people who provide tools and support for the protests. Something like this leaking could also become a big media controversy on how these protesters get "foreign support". So this post will be removed soon (especially once helpful volunteers are found) for safety purposes to prevent Indian state actors from discovering who is working on this project.

We require all the guidance and support we can get! Even if you cannot support on the tech side of things, we would greatly appreciate material monetary support towards building a revolution in India!

EDIT: Answering some questions here:

  • Government repression is not that bad (yet) in these new wave of protests! SMS texts have been working recently even if Internet has been blocked, though this was NOT the case during the protests in July that eventually led to the resignation of the Education minister, when ALL signals were blocked with the use of jammers as well. This may be since the Supreme court has directed that internet facilities shall remain unhindered amid the ongoing protests - but we obviously cannot trust the state to adhere to the court's orders, they have already been brutalising protesters despite the court prohibiting that as well. Still it appears they will only take extreme measures once a huge mass of people manage to gather in one place, which so far has been looking difficult as the state has violently blocked access to Jantar Mantar, which used to be the designated protest site in central Delhi.
  • This does not have to be done immediately and whatever we build will have to be audited for security by experts, hence this post to get help.
  • We are evaluating whether to make a fork of bit chat to fix some issues it has and add the minimum required features or to continue working on p2pchat which itself was a fork of "protestchat". Of course we did test existing decentralised apps but would love more suggestions of something closer to what we are looking to build!
  • Briar is our next best option. We have shared with our communities a proper guide on how to set up and use Briar. The only issue with Briar is that mesh communication can happen only through Forums and its functionality appears to be a bit un-intuitive for people not that comfortable with such technology.

Thank you

you are viewing a single comment's thread
view the rest of the comments
[–] 19 points 9 hours ago* (last edited 40 minutes ago) (4 children)

This is also a reason to have functional LoraWan mesh network running before stuff happens, even if it in modern world feels like pointless techy thing for enthusiast.

  • source
  • hideshow 4 child comments
  • [–] 3 points 2 hours ago* (last edited 1 hour ago) (1 child)

    This is also a reason to have functional LoraWan mesh network

    fyi LoRa is a useful building block for building offline (non-internet) mesh networks but LoRaWAN is not: LoRaWAN is for IP-over-LoRa and it requires one of the nodes to have internet access to talk to a centralized server which mediates everything. (tldr: forget about LoRaWAN.)

    Sorry I don't have time to braindump on other things in this space, but I will say https://columba.network/ looks interesting - it is a reticulum client for android which can use LoRa (if you have a LoRa radio) and also BLE (100m range) and WiFi (both locally to other nodes and to the internet to talk to distant nodes). I have not actually tried Columba myself, but i think it looks promising.

    edit: looking closer i think the one big missing feature in Columba for this type of application is group chat. Unfortunately Reticulum doesn't have a decentralized group chat yet; its 1:1 chat protocol (LXMF) is completely decentralized (two people can keep talking if they're in range of each other even when they can't see anyone else in the mesh) but the group chat protocol it has now (called RRC, similar to IRC) requires a centralized relay server. You can run an RRC relay yourself, including on a non-internet-connected network, but it only works for people who are able to reach that relay (and it doesn't keep history so you miss what was said while you couldn't reach it). I see that the Columba author has actually implemented RRC for Android, but it's currently in a separate app called eridanus. I don't know if anyone is trying to build a decentralized group chat protocol on top of reticulum yet but probably someone is. It's a very complicated problem to solve well, though.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 9 points 9 hours ago* (1 child)

    exactly. we need to decentralise communication very desperately considering the direction big tech and the entire world seems to be going in. we're planning on supporting LoRa radios as relays in this app as well.

    i was thinking we can crowdfund a few but then they need very tech forward people to set up, which are scarce. most "tech people" in india including most engineers, are just corporate slaves with no thinking for themselves. Open Source enthusiasts are so rare.

  • source
  • parent
  • hideshow 1 child comment