Show HN: IPFessay – Publish uncensorable essays to IPFS
gitlab.com
gitlab.com
(I'm not the OP, but) If you want to use IPFessay without installing IPFS, you can use it on my hardbin.com public writable gateway (most gateways are not writable) at:
https://hardbin.com/ipfs/QmQUrYJ6sCSDV6duC4Db7U8NXZG3DpNrVF7...
and the sample essay:
https://hardbin.com/ipfs/QmWFSuFDaApxK6DaBzEXdSXhb325fQY1hHn...
And if you want your resulting essay to stick around, you can pay a service like ipfsstore.it to pin it for you: http://ipfsstore.it/
EDIT: It doesn't actually work on my public gateway because it uses the IPFS node API instead of the standard writable gateway API. I'll submit a pull request to make it use the normal writable gateway API tomorrow.
EDIT2: StavrosK has updated it to use the gateway API! I updated the hash link so it does now work :)
I'm not sure what the difference between the Node API and the Gateway API is, I had to hack around this by reading the js-ipfs code. If there's a better way to interface with the gateway without including the entire js-ipfs 2.5 MB file, please let me know.
And there's an example usage here: https://github.com/jes/hardbin/blob/master/js/hardbin.js#L25
There is currently a bug which means you first need to DELETE the filename (in my case "content") that you are trying to replace if it already exists, but apart from that it is straightforward.
I started fixing the bug here https://github.com/ipfs/go-ipfs/pull/3931 but ran out of steam - hopefully I'll continue soon.
EDIT: I have updated it to use the Gateway API, thanks for letting me know.
> Here's the permanent, immutable IPFS link to your essay: > /ipfsQmZo1JgakWB2ZYrA75P3b7eZxvwP1vKpDw2y7WJJhj8j7p
There's a "/" missing in here :)
https://hardbin.com/ipns/QmSWnBwMKZ28tcgMFdihD8XS7p6QzdRSGf7...
Thanks for your help!
By viewing some of these IPFS links higher up in the thread am I "distributing" their contents in the eyes of the law?
http://www.npr.org/sections/alltechconsidered/2016/04/04/472...
> Seattle police spokesman Sean Whitcomb says the department understands how Tor relays work, and they knew Robinson was a Tor host.
> "Knowing that, moving in, it doesn't automatically preclude the idea that the people running Tor are not also involved in child porn," Whitcomb says. "It does offer a plausible alibi, but it's still something that we need to check out."
https://discuss.ipfs.io/t/replication-on-ipfs-or-the-backing...
I think this opens up an issue of copyright, there are several public IPFS Gateways available on via HTTP. If you host a bad file, you can essentially pull it through any of these public IPFS Gateways to create other seeders for your file.
Keep in mind, there is no guarantee to how long those seeders will have the file, but they do become seeders for your file for some amount of time, at least until they clear their cache or other files need the space and prune your file.
This is one reason I stopped running an IPFS Gateway. You don't have to look very hard to find copyrighted material being served via IPFS.
It also uses the fact that the IPFS cache is also used to deliver content to others, similar to the way Bittorrent allows downloading and uploading based on blocks of content.
There still has to be someone hosting it initially to spread. But even that can be done over Tor, given the patches from OpenBazaar and IPFS.
Then host it in one of the non-compliant countries, no need for IPFS.
Will it be illegal to run IPFS servers within the EU?
If you are hosting certain content, I guess someone can approach the node owner and request you to take the content offline. But nodes outside EU could still host the content.
Hmm, how do you do that? My node is sharing all content in its cache by default, AFAICT.
(Copyright will make this an issue first, though!)
Since the addresses are just path components and not subdomains this may be an issue.
It's just a feeling this might get relevant, especially with PUT/POST write API and so on. Even just running on localhost might pose issues.
So javascript in an essay can access/put the API.
I didn't really look into it too much, just wanted to give a pointer that this might need to be considered. In the sense that it might have security implications.
Which is to say, not very. IPFS isn't even encrypted right now.
Although, how is IPFS censorable? As long as you can connect to a node, you can retrieve its content. You'd have to prevent connection to the entire network to censor something (minus the encryption that you correctly stated).
That's not necessary if you can perform deep packet inspection or a MITM attack on IPFS traffic, which there's nothing to stop you doing right now.
It primarily has to do with Kadmelia and DHT. How does one consider an adapter or transit to IPFS as a "secure don't leak other addresses"? Does one run a secure IPFS for Tor and I2P? Should it be integrated with a flag on those interfaces?
The IPFS team wanted to get everything else settled, protocol-wise before going down the idea of secured, and hidden protocols, given IPFS's propensity of splattering all interfaces through it (even unroutable internal network addresses).
See: Firewall of China.
You only need to control the big fiber paths of which there aren't many. Of just in general the exit and entry points between countries.
The Internet is not an open mesh.
And once inside, you are subject to extreme government spying which can easily mean that everyone who gets a hold of unallowed content "vanishes".
Furthermore, this is an issue not even encryption can fully solve, you still need to do a key exchange which means you need to either find a source of trust in the other side via sidechannels (aka PKI, TOFU or similar) or you allow everyone to easily intercept the data without much effort (aka skip-verify on TLS)
The internet in china is not lacking in surveillance and censorship.
This is an issue that even Tor is still chewing on a lot, afaik plain Tor connections in China are not very welcome and even blocked.
So unless you claim that your crypt and security is better and more battletested than Tor, I'd say IPFS is anything but censorship resistant.
Another way to distribute once the data is within China is to do it via private networks built with cjdns or similar
Secondly, people can exactly not trust the data because there is no way to trustlessly get those hashes to begin with from within IPFS and you get back to normal HTTP which... is censorable.
Lastly, this also assumes that the one running the node is not arrested either.
>Another way to distribute once the data is within China is to do it via private networks built with cjdns or similar
Which again, assumes cjdns and other methods do not get people into possibly lethal trouble or aren't censored/outright blocked to begin with.
edit: You also forgot about the government blocking IPFS within their own country.
While IPFS is not implicitly pushing content but nodes needs to request content and then reshare it.
Twitter already blocks known Nazi accounts in certain countries. https://twitter.com/map/status/869594711991963653
I want to write a post on tolerance one of these days, and how tolerating things you like isn't really tolerance.
This idea was presented in section 1 of
https://slatestarcodex.com/2014/09/30/i-can-tolerate-anythin...