-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cjdns-enabled apps #12
Comments
You can use it as easy to use tls replacement so every app with network communications is a potential use case for cjdns. Starting cjdns on boot would be the easiest solution, but probably bad for your battery. I think I've heard of a way to expose apis to other android applications so maybe we could just expose:
I don't now anything about android so no idea if this is possible. |
The problem is, most apps are hardcoded to talk with their own servers, so cjdns doesn't add much. Some cjdns-enabled apps would function across an ad-hoc mesh network I imagine. Yes Android allows for that. See #8 (comment) If the app is missing, it will also bring you to the app store so you can install the cjdns app. |
One angle we should take a look at is what FireChat does -- or rather: does not do. http://www.88-bar.com/2015/01/fact-checking-the-hype-around-mesh-networks-and-firechat/ TL;DR
|
I've proposed a way to allow every application to add their own peers in cjdelisle/cjdns#712, so if you want to use cjdns to securely communicated with your server, you'd add your server as a peer and connect to it with it's fc address. The server would announce itself as non-router. |
@lgierth heh I posted this issue after reading that same article. I wanted to start thinking about what it would take to build a cjdns-based chat or chatroom app. Or whatever, sharing files across the ad-hoc network, broadcasting news, etc. Some of these app development efforts can even happen in parallel with the cjdns app. The nice thing is, once we add a new protocol in the cjdns app, such as RFC 1149, all cjdns-based app can connect through that too without any changes. |
@kpcyrd So if I am to build a cjdns-enabled app that needs to access a server, I can write my application so that when it launches, it would ask the cjdns-android app to peer to my server's fc address. My server is running as a cjdns node configured to peer with anyone who asks. This is to guarantee the device can reach this server? Did I understand this correctly? |
This was the idea, yes. It would be easy for the user to allow each application to add peers and pass a removal password, so each application can add peers, but only remove those it has the password to. The more I think about it, the more I think this could be kind of a bad idea. I would love some opinions on this. |
Posted on r/darknetplan |
Is this dead? Net neutrality is dead, and cjdns must live. Otherwise, I start my own fork. |
I use linphone on my laptop to make SIP phone calls over cjdns. The cjdns IP is the "phone number". Totally serverless - no DNS, no sip broker - nada. My dad loves it. Linphone on Android has the same potential - if only Cjdns were running. Without Cjdns, you are reduced to making phone calls through a centralized SIP provider. (Mobile IPv6 would also work, sans encryption - if IPv6 were available everywhere.) |
Net "neutrality" replaces corporate oppression with government oppression - I hope it stays dead. You can get neutrality from corporations now by paying by the GB for bandwidth used - then the provider wants nothing to stand in the way of bigger bills! My letter to the FCC petitioned the government to use their Constitutional power of defining "weights and measures" to define the currently nonsensical marketing term "unlimited internet" (a more accurate term would be "unmetered internet") to mean what you mean by "net neutrality". There is actually a place for "movie watchers internet" - where everything is throttled except streaming providers that pay to play. As long as it is not marketed as "unlimited internet". Truth in advertising is a constitutional concern of the Federal government. |
@sdgathman I actually had that working on a pair of phones, running this cjdns app and running the linphone app with ipv6 enabled, but at some point it stopped working and only worked when one end is a laptop. I didn't have time to look into the problems since shifting focus to work on raspberry pi platforms. I hope to get back into this one day, but a lot is changing in cjdns (auto-peer over UDPInterface, supernode routing, etc.) so let's see how things go in the next 6 months. |
Imagine an IPv6 tunnel broker service with UDP tunneling (like sixxs used to offer). An Android app connects to the nearest tunnel endpoint, changing the tunnel endpoint as the phone moves, and a user run base station runs Mobile IPv6 for a stable IPv6 for the phone. (As envisioned by the mobile IPv6 designers.) Or you can just run Cjdns. :-) |
The cjdns-android app, when it is eventually built, manages the cjdns service and facilitates peering. Running that alone should allow your browser to reach services offered by your peers, and also reach Hyperboria if at least one node in your network is able to reach it. This is however, just a basic use case. The mobile nature of a cjdns node running on a phone comes with challenges, like transient peers as phones go on & off, move in & out of range, etc. but also opens up use cases that aren't practical on stationary nodes. Cjdns-enabled apps can be built to allow such use cases, like an encrypted messaging app across an ad-hoc network. Think FireChat but secure, and requires the cjdns service to be running. The cjdns app will allow other apps to silently kickstart the cjdns service on the device.
This issue is created to discuss:
The text was updated successfully, but these errors were encountered: