Does my node need to be online like a torrent?
Yes unless other online nodes sharing this exact same file exists (exactly like torrent).
How feature complete compared to FreeNet, that has email/facebook/dropbox edit: and github-pages?
IPFS doesn’t aim to be feature complete like FreeNet.
IPFS is just a CDN, it share static files (plus a few other things like distributed naming using IPNS (free names but random that makes no sense) or ENS (paid names on ethereum chain that actually makes sense)) and an SDK, fancy DAG files, …
You can make an email/facebook/private dropbox on top of IPFS but it’s not included by default in IPFS, other people use IPFS to build thoses things.
What server to run if wanting to add storage and network capacity.
From 1 Core 3 Gigs of ram to 8 cores 48 Gigs, depends what you do with it.
There is no real recomandation because you can make it run on 1 Core 1 Gig if you really try (do almost nothing with it), and 1 Core <10Mb are fine if you don’t run the networking part for example. (for example you can only run the DAG and hashing part to have the hashing security features, but delegate expensive things such as networking to an external node)
My way to do it is start with 2 Threads (one physical core), 4 Gigs of ram and bump it if it crashes / stall while I’m using my app.
For the disk space, you need to store the binary <100Mb and a few kilobytes of metadata.
Then you need more space to store what you host, but if you download or host nothing you don’t use any space (just like torrent).
I run FreeNode on a few boxes to contribute extra disk space.
It’s not really how IPFS work, there is no shared disk, you host what you want to host (for example I myself pin things I like such as XKCD, dist.ipfs.io, … but you don’t just offer free disk space to the network because the network don’t care).
See IPFS as a transport layer, like torrent, you don’t offer free space to torrent to host things on, because that not how torrent works. You must yourself add the torrent you like for others to download.
And if you are fancy you even write a script to host the new ubuntu (or whatever) torrent automatically, it’s completelly possible (and easier) to write such script on IPFS.
If you like doing this kind of stuff without thinking much about it, run a Tor node (without exit relay if you don’t like receiving email from angry people that doesn’t understand tor ), an i2p one or something else …
There is also a list of collaborative clusters (a cluster of IPFS node where someone invite random peoples on internet to help them pin their stuff) https://collab.ipfscluster.io/, thoses are more of set and forget mindset (because the cluster owner will add and remove old pins for you).
I was curious about GnuNet until it looked like I needed to share my code with the rest of the network, does extending the established network with my own apps require code adoption?
IPFS is MIT licensed which is a much lighter license and way less requirements than AGPL.
There is no code sharing close like AGPL has.
What about libp2p in game clients, where each node runs for an hour or so a day(will that cause network disruptions)?
That works fine (as long as you use dht-client
, if you don’t it’s still fine but you waste lots of bandwith). In fact only ~16% of the network is long lived node, most node spin up, do something, and stop 30s after being started.
Is there an “evil” browser service that uses push notification and offline sync calls to process network requests?
There is no browser service, but there is a golang linux, macos (or any OS really) daemon.
It doesn’t use push notification because you don’t need to trick your environment to do this kind of stuff.
IPFS is just a long lived service, pretty much like transmission.
(there is a JS-IPFS that can run in browsers, but it’s less featured, even more in browser (you can’t run a full node in browser and must rely on centralised tricks for now))
Anything like Freenet’s WebOfTrust, I thought I saw something, but tell me more.
I don’t know about any sorry, maybe but idk.
I would find that weird if there is any tho.
IPFS is not a one solution fits all project, it’s just a transport layer, pretty much like torrent but in practice it’s more handy than torrent for downloading simpler things like website, or just browsing the web.
(in the future IPFS will be better than torrent for multiple gigs / petabyte files at least it’s one of my goals , but for now IPFS’s through put is still pretty low, that is issues in your local node that isn’t smart enough about how to download file and is still a one thread like task, however the protocol is made to be able to download from 100+ different sources and saturate your connection link to download at incredible speed (if you want) like torrent does, the node just doesn’t do that)
Bonus point
Checkout https://filecoin.io maybe, it’s a sister project of IPFS made by the same company maintaining IPFS and that build on the same tech as IPFS (IPLD, multiformats, libp2p, …) and allows to pay storage providers to host your files (and for you / others to retrieve them).
If IPFS replace HTTP. Filecoin replace AWS.
And if you don’t like blockchain or paying stuff, IPFS is consensus free and blockchain free network. Filecoin is an other (and heavier) network build on top of IPFS.