Live data from Hacker News

Show HN: An anonymous P2P social network for Android, written in Clojure

nightweb.net

101–110 of 141 posts

Re: Show HN: An anonymous P2P social network for Android, written in Clojure

#101
post #71

Earlier quoted context omitted.

What do you mean by base32 hostnames? ips? If you mean ips, then, especially on a phone, wont the ip change often. If you mean some actual hostname (presumably not the reverse lookup) then who translates that hostname? If it is provided by nightlyweb servers, then if that server gets taken down, you have no more network, right?

I mean the hostnames used by I2P itself. They behave like normal hostnames, but they don't require any DNS-style resolution because they contain your public keys inside the hostname itself. They are equivalent to .onion addresses in Tor, except a lot longer.

I understand that, you are saying that you have an id of who you want to talk to. The problem is, where do you start looking? Even with .onion you need an entry point to the tor network. It can be a DNS server, a web server, or whatever; but it must be hard coded (unless you start broadcasting on the local network looking for an entry, which I havent seen an example of). That is the problem. The first entry point can easily be taken down.

Re: Show HN: An anonymous P2P social network for Android, written in Clojure

#102
post #71

Earlier quoted context omitted.

I mean the hostnames used by I2P itself. They behave like normal hostnames, but they don't require any DNS-style resolution because they contain your public keys inside the hostname itself. They are equivalent to .onion addresses in Tor, except a lot longer.

I understand that, you are saying that you have an id of who you want to talk to. The problem is, where do you start looking? Even with .onion you need an entry point to the tor network. It can be a DNS server, a web server, or whatever; but it must be hard coded (unless you start broadcasting on the local network looking for an entry, which I havent seen an example of). That is the problem. The first entry point can…

You have to bootstrap onto the I2P network initially. There are several IPs hardcoded into the router by the I2P project, which are run by volunteers. If these IPs are blocked in your country, you are out of luck.

There are a few possible solutions to this. First, allow users to add new bootstrap nodes to the app. Second, provide "meshnet" functionality to the app. I am considering both. The latter is much more complex to implement, but Android provides an API called Wi-Fi Direct which I could conceivably use to connect Nightweb nodes together if they are in close proximity. I'm open to other ideas.

Re: Show HN: An anonymous P2P social network for Android, written in Clojure

#103
post #36

Earlier quoted context omitted.

Exactly, I've been both wanting to learn Clojure and develop for Android (but no Java thanks) for a while. So here's mine http://nightweb.net/#type=user&userhash=dtvjjjuk7eai42xx...

Here's mine, for science: http://nightweb.net/#type=user&userhash=tnaohxmxj2eg3fsf...

Mine too: http://nightweb.net/#type=user&userhash=prn3nvnrikl7ewpf...

Re: Show HN: An anonymous P2P social network for Android, written in Clojure

#104
post #76

>How does it avoid spam? For me a good solution would be to use machine learning, the same way spam filtering works for email. A decentralized version of Reddit could actually be pretty simple, with a flooding P2P network coupled to some machine learning on each of the nodes. The beauty is that anyone would be free to implement the content filtering measures the way they like it.

How would you discern what is popular and what is not(that is, the "upvotes" of reddit/HN)? Or did you mean only machine learning?

People could optionally broadcast their pseudonymous votes, using cryptography to avoid impersonation.

That would actually be a lot richer than the current "one vote is one vote" systems, since you could learn which people you tend to agree with.

Re: Show HN: An anonymous P2P social network for Android, written in Clojure

#105
post #36

Earlier quoted context omitted.

Exactly, I've been both wanting to learn Clojure and develop for Android (but no Java thanks) for a while. So here's mine http://nightweb.net/#type=user&userhash=dtvjjjuk7eai42xx...

Here's mine, for science: http://nightweb.net/#type=user&userhash=tnaohxmxj2eg3fsf...

and mine: http://nightweb.net/#type=user&userhash=prn3nvnrikl7ewpf...

Re: Show HN: An anonymous P2P social network for Android, written in Clojure

#106
post #36

Earlier quoted context omitted.

Exactly, I've been both wanting to learn Clojure and develop for Android (but no Java thanks) for a while. So here's mine http://nightweb.net/#type=user&userhash=dtvjjjuk7eai42xx...

Here's mine, for science: http://nightweb.net/#type=user&userhash=tnaohxmxj2eg3fsf...

http://nightweb.net/#type=user&userhash=ownwrsbcevb3pjqg...

Although tying these identities to our hacker news IDs basically means throwing anonymity out the window.

Re: Show HN: An anonymous P2P social network for Android, written in Clojure

#107
post #89

Does this have a particularly adverse effect on phone battery life, when compared to a well-written app for a centralized social network (aka, not the Facebook Android app; perhaps the G+ app)? I can imagine that a lot of uploading of social network content to your peers would take place. Also, what is the bandwidth utilization like compared to an app for a centralized network? With a lot of us on tiered data plans n…

I ran the app for most of this morning on my Nexus 4, after adding most of the links in this HN post as favorites. Between 9 and 11 my battery lost 40% of its charge. Ordinary usage tends to yield 14 to 17 hours of battery life from a charge. This kind of impact on battery life will be a deal breaker for most people until resolved.

Spotify's desktop app is P2P, but their mobile app is server-client. Perhaps advanced users could mitigate the battery life issue in the short run by setting up a "proxy" on a server that joins I2P, while presenting the front-end on a mobile device -- like you would with, say, an IRC bouncer.

Re: Show HN: An anonymous P2P social network for Android, written in Clojure

#108
post #89

Does this have a particularly adverse effect on phone battery life, when compared to a well-written app for a centralized social network (aka, not the Facebook Android app; perhaps the G+ app)? I can imagine that a lot of uploading of social network content to your peers would take place. Also, what is the bandwidth utilization like compared to an app for a centralized network? With a lot of us on tiered data plans n…

I ran the app for most of this morning on my Nexus 4, after adding most of the links in this HN post as favorites. Between 9 and 11 my battery lost 40% of its charge. Ordinary usage tends to yield 14 to 17 hours of battery life from a charge. This kind of impact on battery life will be a deal breaker for most people until resolved.

Fell out of my chair reading those "ordinary usage" numbers. Reading a book for a couple hours drops my N4 by 50%, easy.

Re: Show HN: An anonymous P2P social network for Android, written in Clojure

#109
post #15

This is so cool. It makes me want to switch to Android just to use it. Any thoughts on a desktop client?

I am definitely considering making a desktop client. I can re-use all the backend code but will have to make a UI from scratch, so it won't necessarily be soon.

Re: Show HN: An anonymous P2P social network for Android, written in Clojure

#110

Earlier quoted context omitted.

But it would undermine the "distributedness". Maybe Nightweb could serve a website on the device itself and one could use pagekite or a dynamic dns to serve it.

There's no reason a third party couldn't host a read-only view into Nightweb, performing something similar to tor2web.org. The third party would be running their own Nightweb client, then visitors to the website would trigger content downloads on the client, rendered out as a webpage. This would provide the "public view" without sacrificing the decentralized nature.

Great idea.

In fact, this type of functionality is hopefuly becoming an Internet Standard: http://www.internetsociety.org/articles/moving-toward-censor...

However, Bittorrent is not up to the task, due to NAT issues. UDP NAT puncturing is not present in this stack, right? Thus how is it going through carrier-grade NATs which block all these smartphones?

Disclaimer: working on a similar thing for years Tribler Mobile.

Post reply on HN