deltachat-core-rust icon indicating copy to clipboard operation
deltachat-core-rust copied to clipboard

feat: new backup transfer method

Open dignifiedquire opened this issue 3 years ago • 4 comments

⚠️ ~~There be dragons~~ 🐉 There be exciting things

Idea: use p2p based transfer methods to move backups from one device to the other.

Implementation: Use iroh a new implementation of IPFS to build iroh-share, a simple protocol that moves data from device a to device b.

Local Testing

Using the new commands send-backup and receive-backup <Ticket> you can test this on a local machine or between two machines running the repl example.

Current Restrictions

  • Both devices must be in the same network to discover each other

TODOs

Before Merging

  • [x] finish iroh-share
  • [x] test on very large files
  • [x] add progress bar
  • [x] add indicator for finishing
  • [x] review current security properties
  • [x] fixup todos
  • [x] add documentation
  • [x] finish C-api

Future

  • [ ] improve iroh-shares hole punching so it does not need to be on the same network anymore
  • [ ] add python bindings
  • [ ] add node bindings

dignifiedquire avatar Jul 07 '22 21:07 dignifiedquire

In which direction does this go? only "scan to import" for now? Though I guess it's probably easy to switch directions once the connection works at all (to also allow scan code from computer (when computer has no camera) to export from phone to that computer)

Simon-Laux avatar Jul 10 '22 14:07 Simon-Laux

librocksdb takes forever to build, why is it needed as a dependency? Is it possible to disable it as a feature somehow? I see iroh supports different stores: https://github.com/n0-computer/iroh/tree/main/stores

link2xt avatar Sep 10 '22 17:09 link2xt

librocksdb takes forever to build, why is it needed as a dependency? Is it possible to disable it as a feature somehow? I see iroh supports different stores: https://github.com/n0-computer/iroh/tree/main/stores

@link2xt no it is not optional, those stores are just for experimentation. RocksDB is the only supported DB in iroh atm

dignifiedquire avatar Sep 13 '22 18:09 dignifiedquire

foo-shm and foo-wal are checked in accidentally i think.

ups, fixed

dignifiedquire avatar Sep 19 '22 19:09 dignifiedquire

iroh requires rust1.63, so this bumps the msrv for dc

dignifiedquire avatar Nov 23 '22 15:11 dignifiedquire

closing, this is superseded by https://github.com/deltachat/deltachat-core-rust/pull/4007

r10s avatar Mar 06 '23 18:03 r10s