ipfs / kubo

An IPFS implementation in Go
https://docs.ipfs.tech/how-to/command-line-quick-start/
Other
16.13k stars 3.01k forks source link

implement 'relay only' mode #4197

Open whyrusleeping opened 7 years ago

whyrusleeping commented 7 years ago

It would be very useful to have a mode where you can run ipfs entirely over relayed connections. This would allow lower powered devices to be able to interact with the ipfs network more easily.

kevina commented 7 years ago

I agree, I think I may of brought this up before, although it might of only been on IRC. It has lots of uses beyond low power usage.

Stebalien commented 7 years ago

Related but slightly different (for people reading one but not the other): #4110

magik6k commented 7 years ago

Some sort of RemoteBlockstore which would pass block requests to a Gateway is an option too. With API Tokens this could be extended to some sort of light node which would manage it's own secrets, but rely on other peers for connectivity.

whyrusleeping commented 7 years ago

@magik6k oooh, yeah. that would be really nice, passing getblocks calls to ipfs.io/api/v0/blocks/get

vyzo commented 7 years ago

Of course such nodes will still need to bootstrap using regular connectivity.

whyrusleeping commented 7 years ago

We could probably implement a very simple version of this by allowing users to specify no swarm listener addresses. Then if they dial out to a relay peer, others can connect to them via the relay.

vyzo commented 7 years ago

We will also need to advertise the relay addresses to the DHT in this case.

whyrusleeping commented 7 years ago

@vyzo Yeah, good point. We can probably do that by putting them in the Addresses.Announce config field.

foxcool commented 6 years ago

Also this ligth mode can be used on laptops.

Linux laptop with SYSTEMD or another service manager. On AC-power all p2p nodes used on full mode: download, upload. But on battery mode all services reloads in light mode and only read the data.

It feature can be realised in libP2P framework.