diff options
Diffstat (limited to 'doc/devblog')
3 files changed, 89 insertions, 0 deletions
diff --git a/doc/devblog/day_431__p2p_linking.mdwn b/doc/devblog/day_431__p2p_linking.mdwn new file mode 100644 index 000000000..1e53ffefc --- /dev/null +++ b/doc/devblog/day_431__p2p_linking.mdwn @@ -0,0 +1,27 @@ +Today I finished the second-to-last big missing peice for tor hidden service +remotes. Networks of these remotes are P2P networks, and there needs to be +a way for peers to find one-another, and to authenticate with one-another. +The `git annex p2p` command sets up links between peers in such a network. + +So far it has only a basic interface that sets up a one way link between +two peers. In the first repository, run `git annex p2p --gen-address`. +That outputs a long address. In the second repository, run +`git annex p2p --link peer1`, and paste the address into it. That sets up a +git remote named "peer1" that connects back to the first repository over tor. + +That is a one-directional link, while a bi-directional link would be +much more convenient to have between peers. Worse, the address can be reused by +anyone who sees it, to link into the repository. And, the address is far +too long to communicate in any way except for pasting it. + +So I want to improve that later. What I'd really like to have is an +interface that displays a one-time-use phrase of five to ten words, that +can be read over the phone or across the room. Exchange phrases with a +friend, and get your repositories securely linked together with tor. + +But, `git annex p2p` is good enough for now. I can move on to the final +keystone of the tor support, which is file transfer over tor. +That should, fingers crossed, be relatively easy, and the `tor` branch is +close to mergeable now. + +Today's work was sponsored by Riku Voipio. diff --git a/doc/devblog/day_431__p2p_linking/comment_1_1d5f809564c25e765f82594af8e174ab._comment b/doc/devblog/day_431__p2p_linking/comment_1_1d5f809564c25e765f82594af8e174ab._comment new file mode 100644 index 000000000..9eceb71ed --- /dev/null +++ b/doc/devblog/day_431__p2p_linking/comment_1_1d5f809564c25e765f82594af8e174ab._comment @@ -0,0 +1,49 @@ +[[!comment format=mdwn + username="https://anarc.at/openid/" + nickname="anarcat" + avatar="http://cdn.libravatar.org/avatar/b36dcf65657dd36128161355d8920a99503def9461c1bb212410980fe6f07125" + subject="magic wormhole" + date="2016-11-30T22:16:19Z" + content=""" +> What I'd really like to have is an interface that displays a +> one-time-use phrase of five to ten words, that can be read over the +> phone or across the room. Exchange phrases with a friend, and get +> your repositories securely linked together with tor. + +I already mentionned the project in [[design/assistant/telehash/]], +but [magic-wormhole](https://github.com/warner/magic-wormhole) does +exactly that: + + % wormhole send README.md + Sending 7924 byte file named 'README.md' + On the other computer, please run: wormhole receive + Wormhole code is: 7-crossover-clockwork + + Sending (<-10.0.1.43:58988).. + 100%|=========================| 7.92K/7.92K [00:00<00:00, 6.02MB/s] + File sent.. waiting for confirmation + Confirmation received. Transfer complete. + +Receiver: + + % wormhole receive + Enter receive wormhole code: 7-crossover-clockwork + Receiving file (7924 bytes) into: README.md + ok? (y/n): y + Receiving (->tcp:10.0.1.43:58986).. + 100%|===========================| 7.92K/7.92K [00:00<00:00, 120KB/s] + Received file written to README.md + +While that example shows a file transfer, arbitrary data can be +transfered this way. There's a documented protocol, and it's not +completely peer-to-peer: there are relay servers to deal with NAT'd +machines. But the [PAKE +protocol](https://en.wikipedia.org/wiki/Password-authenticated_key_agreement) +(basically SPAKE2) could be a good inspiration here. + +Otherwise, I must say that, as a user, I don't mind copy-pasting a +hidden service string (if that's what it's about): i can do that over +a secure medium (email + OpenPGP or IM + OTR) easily... But I +understand it can be difficult to do for new users. + +"""]] diff --git a/doc/devblog/day_432-433__almost_there.mdwn b/doc/devblog/day_432-433__almost_there.mdwn new file mode 100644 index 000000000..b41ce3f70 --- /dev/null +++ b/doc/devblog/day_432-433__almost_there.mdwn @@ -0,0 +1,13 @@ +Friday and today were spent implementing both sides of the P2P protocol for +git-annex content transfers. + +There were some tricky cases to deal with. For example, when a file is being +sent from a direct mode repository, or v6 annex.thin repository, the +content of the file can change as it's being transferred. Including being +appended to or truncated. Had to find a way to deal with that, to avoid +breaking the protocol by not sending the indicated number of bytes of data. + +It all seems to be done now, but it's not been tested at all, and there are +probably some bugs to find. (And progress info is not wired up yet.) + +Today's work was sponsored by Trenton Cronholm on Patreon. |