whyrusleeping changed the topic of #ipfs to: IPFS - InterPlanetary File System - https://github.com/ipfs/ipfs -- channel logged at https://botbot.me/freenode/ipfs/ -- code of conduct at https://github.com/ipfs/community/blob/master/code-of-conduct.md -- sprints + work org at https://github.com/ipfs/pm/ -- community info at https://github.com/ipfs/community/
Eudaimonstro has quit [Ping timeout: 256 seconds]
<zignig> I met some guys doing a wireless mesh in perth , they have 20+ point to point nodes , the seems keen to get IPFS going , but the wanted to ensure a private swarm.
Leer10 has quit [Quit: Leaving]
pfraze has quit [Remote host closed the connection]
<lgierth> zignig: they can restrict dials to the ip prefix they're using
<zignig> lgierth: yes you could do it that way too ;)
<zignig> lgierth: I like the idea of shared key swarms as you can have them live at large on the internet.
<lgierth> yep it only works if you're all in one prefix, and noone else
<lgierth> was just saying that because it's something that already works, and they're likely in their own prefix
pfraze has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
amstocker has joined #ipfs
<zignig> lgierth: it's actually a good solution for whay they are doing , and yes they are all using privately routed 10.X.X.X rangers
<zignig> *ranges
<Tv`> why do people keep setting up new infra with ipv4 :-(
<zignig> i'm waiting for ipv8
<zignig> every quark in the entire universe can get it's own address.
<zignig> :P
Eudaimonstro has joined #ipfs
Eudaimonstro has quit [Ping timeout: 250 seconds]
voxelot has quit [Ping timeout: 240 seconds]
voxelot has joined #ipfs
kord has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<ansuz> because if people didn't support ipv4, they'd be turning away the majority of the internet users on the planet
<Tv`> ipv4 can ride on top, though
<whyrusleeping> cryptix: you sent me the same hash twice earlier
<cryptix> whyrusleeping: oh yea - the issues are correct
<cryptix> the link in *
<whyrusleeping> mmkay
<cryptix> whyrusleeping: sorry.. :) also: https://github.com/jbenet/go-msgio/pull/8
pfraze has quit [Remote host closed the connection]
voxelot has quit [Remote host closed the connection]
voxelot has joined #ipfs
spikebike has quit [Read error: No route to host]
Leer10 has joined #ipfs
voxelot has quit [Ping timeout: 246 seconds]
amstocker has quit [Ping timeout: 244 seconds]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
spikebike has joined #ipfs
miswism is now known as mistake
gozala has quit [Ping timeout: 256 seconds]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
Eudaimonstro has joined #ipfs
voxelot has joined #ipfs
gozala has joined #ipfs
gozala has quit [Ping timeout: 256 seconds]
ygrek_ has joined #ipfs
ygrek has quit [Ping timeout: 272 seconds]
Leer10 has quit [Remote host closed the connection]
Leer10 has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
ygrek_ has quit [Ping timeout: 252 seconds]
gozala has joined #ipfs
compleatang has quit [Quit: Leaving.]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
ygrek_ has joined #ipfs
simonv3 has joined #ipfs
Eudaimonstro has quit [Ping timeout: 260 seconds]
Eudaimonstro has joined #ipfs
Leer10 has quit [Excess Flood]
Leer10 has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
Eudaimonstro has quit [Ping timeout: 240 seconds]
<ipfsbot> [go-ipfs] rht force-pushed vendor/notifier from 6afe9e8 to 9182689: http://git.io/vGc09
<ipfsbot> go-ipfs/vendor/notifier 9182689 Jeromy: vendor notifier outside of go-ipfs...
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
tjgillies__ has quit [Quit: Connection closed for inactivity]
Eudaimonstro has joined #ipfs
Eudaimonstro has quit [Ping timeout: 256 seconds]
Eudaimonstro has joined #ipfs
bedeho has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
Leer10 has quit [Excess Flood]
Leer10 has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
Eudaimonstro has quit [Ping timeout: 272 seconds]
Eudaimonstro has joined #ipfs
Eudaimonstro has quit [Ping timeout: 255 seconds]
Eudaimonstro has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
voxelot has quit [Ping timeout: 240 seconds]
Eudaimonstro has quit [Ping timeout: 244 seconds]
Eudaimonstro has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
voxelot has joined #ipfs
voxelot has joined #ipfs
notduncansmith has joined #ipfs
Eudaimonstro has quit [Ping timeout: 256 seconds]
Eudaimonstro has joined #ipfs
notduncansmith has quit [Ping timeout: 264 seconds]
Eudaimonstro has quit [Ping timeout: 260 seconds]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
sharky has quit [Ping timeout: 240 seconds]
sharky has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
voxelot has quit [Ping timeout: 252 seconds]
ygrek_ has quit [Ping timeout: 256 seconds]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
Leer10 has quit [Remote host closed the connection]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
ygrek_ has joined #ipfs
ygrek_ has quit [Ping timeout: 250 seconds]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
simonv3 has quit [Quit: Connection closed for inactivity]
voxelot has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
Leer10 has joined #ipfs
voxelot has quit [Ping timeout: 240 seconds]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
kord has quit [Quit: Leaving...]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<whyrusleeping> has anyone gotten the go 1.5 vendoring stuff to work?
jatb has quit [Ping timeout: 244 seconds]
deltab has quit [Ping timeout: 244 seconds]
deltab has joined #ipfs
felixn has quit [Ping timeout: 244 seconds]
jatb has joined #ipfs
felixn has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
Tv` has quit [Quit: Connection closed for inactivity]
akhavr1 has joined #ipfs
akhavr has quit [Remote host closed the connection]
akhavr1 is now known as akhavr
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
akhavr1 has joined #ipfs
akhavr has quit [Read error: Connection reset by peer]
akhavr1 is now known as akhavr
rollick has quit [Ping timeout: 250 seconds]
rollick has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
akhavr has quit [Ping timeout: 272 seconds]
akhavr has joined #ipfs
amstocker has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
akhavr1 has joined #ipfs
akhavr has quit [Ping timeout: 240 seconds]
akhavr1 is now known as akhavr
Encrypt has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
Encrypt has quit [Client Quit]
<cryptix> gmorning
<cryptix> Whyrusleeping: Shell PR looks Good on first sight. Will test after breakfast
akhavr has quit [Remote host closed the connection]
akhavr has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
mistake is now known as prosodyVeContext
bedeho has quit [Ping timeout: 265 seconds]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
amstocker has quit [Ping timeout: 246 seconds]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
tymat has quit [Ping timeout: 260 seconds]
mquandalle has joined #ipfs
tymat has joined #ipfs
compleatang has joined #ipfs
ansuz has quit [Ping timeout: 264 seconds]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
gunn has quit [Read error: Connection reset by peer]
ansuz has joined #ipfs
gunn has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
reit has quit [Remote host closed the connection]
celehner has quit [Quit: Exit, Pursued By A Bear]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
reit has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
voxelot has joined #ipfs
voxelot has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
Tv` has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
voxelot has quit [Ping timeout: 250 seconds]
pfraze has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
clever has quit [Ping timeout: 272 seconds]
clever has joined #ipfs
amiller has quit [Ping timeout: 272 seconds]
voxelot has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
Guest77360 has joined #ipfs
pfraze has quit [Remote host closed the connection]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
simonv3 has joined #ipfs
bedeho has joined #ipfs
HastaJun has quit [Ping timeout: 256 seconds]
HastaJun has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
ygrek_ has joined #ipfs
Guest77360 is now known as amiller
amiller has joined #ipfs
amiller has quit [Changing host]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
ygrek_ has quit [Ping timeout: 255 seconds]
ygrek_ has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
amstocker has joined #ipfs
pfraze has joined #ipfs
ygrek_ has quit [Ping timeout: 240 seconds]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
amstocker has quit [Ping timeout: 246 seconds]
<whyrusleeping> cryptix: gmornin to you
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
kord has joined #ipfs
mildred has joined #ipfs
voxelot has quit [Ping timeout: 260 seconds]
<whyrusleeping> guess who just ran 'ipfs add -r go-ipfs'!
<whyrusleeping> <- this guy
ygrek_ has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
Leer10 has quit [Ping timeout: 240 seconds]
mildred1 has joined #ipfs
mildred1 has quit [Ping timeout: 244 seconds]
<stick`> whyrusleeping: is that a problem?
<stick`> that was actually the first thing i tried when i got ipfs working on my laptop :)
infinity0 has quit [Remote host closed the connection]
infinity0 has joined #ipfs
<whyrusleeping> stick`: it normally breaks because we have a symlink in one of the test directories
<whyrusleeping> a broken symlink
<whyrusleeping> and ipfs currently cant handle symlinks
<stick`> hmm, it worked for me AFAICR
<whyrusleeping> huh, thats... odd
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<stick`> $ ls -l test/sharness/bin
<stick`> lrwxrwxrwx 1 stick users 6 Aug 3 16:36 test/sharness/bin -> ../bin
<stick`> does not seem broken to me
<whyrusleeping> ah, that makes sense then
chriscool has joined #ipfs
mildred1 has joined #ipfs
<ipfsbot> [go-ipfs] chriscool created check-peerid (+1 new commit): http://git.io/vGlsd
<ipfsbot> go-ipfs/check-peerid dc68ae7 Christian Couder: t0020: simplify peerid check...
<ipfsbot> [go-ipfs] chriscool opened pull request #1625: t0020: simplify peerid check (master...check-peerid) http://git.io/vGlGv
<ipfsbot> [go-ipfs] chriscool created t0062-cleanup (+3 new commits): http://git.io/vGlGG
<ipfsbot> go-ipfs/t0062-cleanup fe74205 Christian Couder: t0062: use "$@" directly...
<ipfsbot> go-ipfs/t0062-cleanup cbeff09 Christian Couder: t0062: check that 'ipfs config' works...
<ipfsbot> go-ipfs/t0062-cleanup 3562e72 Christian Couder: t0062: add missing && in test_client*()...
<ipfsbot> [go-ipfs] chriscool opened pull request #1626: t0062 cleanup (master...t0062-cleanup) http://git.io/vGlGX
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
amstocker has joined #ipfs
f[x] has joined #ipfs
atomotic has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
mildred1 has quit [Ping timeout: 240 seconds]
ygrek_ has quit [Ping timeout: 268 seconds]
<dawuud> ipfs + tor integration progresses! https://github.com/ipfs/notes/issues/37#issuecomment-136178279
<dawuud> today i wrote a TorDialer and OnionListener
<whyrusleeping> dawuud: nice!
<whyrusleeping> shouldnt be too hard to plug that into multiaddr-net
<dawuud> i'll have to gradually add more features to the OnionListener... it's kind of a hassle to configure tor properly and setup all the permissions so that the onion address can be created via control port and key material read by group member after creation etc.
<dawuud> whereas the new control port ephemeral onion services api should make this easier
<whyrusleeping> yeah, but it looks like you have a lot of stuff done already
* whyrusleeping reading controller.go
<dawuud> also we can do like txtorcon does and just create a custom torrc and then launch our own tor process
atomotic has quit [Quit: Textual IRC Client: www.textualapp.com]
notduncansmith has joined #ipfs
<dawuud> that would be the super convenience way to go with less security isolation as tor would run as the same user as go-ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<dawuud> oh also that control port group read stuff requires tor 2.6 or greater
<dawuud> the stuff in connection.go is more relevant for the patching of multiaddr-net
<whyrusleeping> yeah, i was reading through that too
Encrypt_ has joined #ipfs
f[x] has quit [Ping timeout: 244 seconds]
Encrypt_ is now known as Encrypt
<dawuud> whyrusleeping: Yawning Angel wrote most of the controller code... but i upgraded it to use textproto api
<whyrusleeping> ah, nice
Eudaimonstro has joined #ipfs
silotis has quit [Remote host closed the connection]
simonv3 has quit [Quit: Connection closed for inactivity]
silotis has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
mildred1 has joined #ipfs
dignifiedquire has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<ipfsbot> [go-ipfs] whyrusleeping created feat/symlinks (+1 new commit): http://git.io/vGlwG
<ipfsbot> go-ipfs/feat/symlinks d993bc0 Jeromy: implement symlinks in unixfs, first draft...
mildred has quit [Ping timeout: 255 seconds]
<ipfsbot> [go-ipfs] whyrusleeping opened pull request #1627: implement symlinks in unixfs, first draft (master...feat/symlinks) http://git.io/vGlw4
<lgierth> dawuud: great work re: onion
<lgierth> <3
<whyrusleeping> thai food is still edible after a week in the fridge, right?
<lgierth> definitely
<lgierth> can't vouch for european burgers though
<dawuud> lgierth: thanks... now working on the go-multiaddr-net
<dawuud> i'm hoping to have working tor integration for ipfs before the tor-dev meeting in berlin at the end of september
<lgierth> dawuud: i might steal a bit of your multiaddr code then soon, for /cjdns :)
<dawuud> excellent!
chriscool has quit [Read error: No route to host]
chriscool has joined #ipfs
<dawuud> lgierth: hmm can we make a tor onion to cjdns ipfs gateway?
<lgierth> dawuud: depends on what you mean by that :)
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<dawuud> an ipfs node that proxies between otherwise incompatible network segments
<dawuud> i chatted with juan about this last week but it was in the context of ip <-> tor onion
chriscool has quit [Quit: Leaving.]
chriscool has joined #ipfs
<lgierth> i see! -- why not
<lgierth> a node that can only dial /onion and /cjdns i guess?
<lgierth> for the onion side it would still have implications regarding wanting and providing, right?
<lgierth> (cjdns isn't anon)
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
Leer10 has joined #ipfs
ianopolous has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
Tv` has quit [Quit: Connection closed for inactivity]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
therealplato has quit [Read error: Connection reset by peer]
<dawuud> lgierth: yes the onion ipfs node operator will not have anonymity if proxying to other protocols...
<dawuud> actually it's not clear how the multiaddr format should work for both onion services and ipv4|ipv6/tcp via tor exit
<lgierth> dawuud: maybe it helps that multiaddrs can have some kind of resolution? e.g. /dns/example.net/ip4/ => /ip4/1.2.3.4/
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<lgierth> that's not implemented yet but kinda on the plate
voxelot has joined #ipfs
voxelot has joined #ipfs
<dawuud> no i mean consider /onion/fufu.onion:80 versus /onion/fufu.onion/tcp/80
<dawuud> also without an onion but still using tor exit node: /tor/example.com/tcp/80
<dawuud> or should the /tor/ multiaddr not encapsulate and instead look like this? /tor/example.com:80
Encrypt has quit [Quit: Sleeping time!]
<dawuud> lgierth: resolution happens on the tor exist node... since we are using tor's socks proxy to make the connection via the exit node
<dawuud> s/exist node/exit node/
therealplato has joined #ipfs
<lgierth> mh socks5 might be good to have in the multiaddr too but i feel like it'd get messy
<lgierth> for /cjdns i have multiaddrs like this in mind:
<lgierth> /ip6/fc06:c135:28a5:8c0b:dd4e:bcb6:d4d6:c96d
<lgierth> /cjdns/pp7415rjgfujq5bm58sl98yb1j8fucgtkf18tc3hb03lqqtxldy0
<lgierth> /ether/90:48:9a:92:e5:f7/cjdns/pp7415rjgfujq5bm58sl98yb1j8fucgtkf18tc3hb03lqqtxldy0
<lgierth> /ip4/192.168.4.137/upd/54321/cjdns/pp7415rjgfujq5bm58sl98yb1j8fucgtkf18tc3hb03lqqtxldy0
<lgierth> the last two are for establishing a peering connection, the first two for establishing a data connection
<zml> doesn't that kinda step on what cjdns does itself in the last 2?
dignifiedquire has quit [Quit: dignifiedquire]
<zml> those would normally go in the connectto section of an interface in the cjdroute.conf, yeah?
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<lgierth> zml: yep -- this is gonna be cjdns in golang
<lgierth> dawuud: oh after the comment on the gh issue i think i understand -- it should be /tor/example.com/tcp/80
<zml> a go implementation of cjdns, configuration of cjdns through go, or ipfs suddenly containing cjdns?
<lgierth> or /tor/example.com/ip4/tcp/80
<lgierth> let me come up with one that also includes socks5 and dns
<lgierth> a go implementation of parts of cjdns
<lgierth> dawuud: /ip4/127.0.0.1/tcp/9050/socks5/dns/example.net/ip4/tcp/80 ;)
<zml> that could be interesting
<lgierth> dawuud: that's what /tor/example.net/tcp/80 could expand to. for the application it's kinda transparent that tor is involved, right? i mean it only knows there's a socks5 proxy
<dawuud> so the question is weather to make a generic socks multiaddr or individual ones for each protocol that has a socks like interface
<dawuud> i don't know the answer to that.
<dawuud> but understand the /onion/ case is different
<lgierth> can /tor carry ip4 and ip6?
<dawuud> certainly not. tor only transports streams.
<dawuud> however the exit nodes use ipv4/ipv6
<dawuud> also the relays happen to use that as well...
<lgierth> i think /tor/example.com/ip4/tcp/80 would be fine then
<lgierth> or .../ip6/...
<dawuud> yeah
notduncansmith has joined #ipfs
<dawuud> yeah... the multiaddr doesn't have to represent the protocol stack...
notduncansmith has quit [Read error: Connection reset by peer]
Eudaimonstro has quit [Ping timeout: 252 seconds]
<dawuud> but instead it could represent a stack of address types that might not be layered using end to end encapsulation
<dawuud> in that case perhaps /onion/fufu.onion/tcp/80 makes sense?
<lgierth> is /onion always ip4?
<lgierth> or tcp without ip below?
<dawuud> tor hidden service operators can have a application daemon listen locally (usually on loopback) and the tor process proxies connections to that addr:port
<dawuud> likewise the user of such an onion service connects to their socks proxy usually via ipv4:tcp_port...
<dawuud> however we could put socks on a unix domain socket
<dawuud> so conceptually it's not even ip or tcp it's a stream transport
<lgierth> i see, that sounds like tcp, with ip abstracted away, so /onion/fufu.onion/tcp/80 sounds suitable
<lgierth> mh ok
<dawuud> well it's not pure tcp because the congestion management at each relay on the 3 hops of the circuit don't affect the onion connection in the same way if it was a normal tcp
<dawuud> so in that sense the multiaddr isn't a protocol stack but an addressing stack if we do /onion/fufu.onion/tcp/80
<fleeky> haha
<fleeky> wrong window, doh
tjgillies__ has joined #ipfs
<dawuud> maybe i've gone too philisophical... it's just not clear which conceptual horse to back
<jbenet> hey-- maybe i can help. sec let me read up
<lgierth> maybe even /tcp is superfluous. i.e. /onion/fufu.onion/80 simply gives us a a stream for that "tor host" and "tor port"
<lgierth> showing up at the right time ;)
* lgierth is lagging very badly
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<jbenet> dawuud: let me ask a few questions as its not completely clear to me
<dawuud> ok
<jbenet> so, when using "/onion/fufu.onion", what does that resolve to? that means, use a local tor client, look for hidden service "fufu.onion", open a stream to it?
<jbenet> on the other side, the hidden service operator, how do they specify the listening? they listen on a local addr?
<dawuud> the .onion address never resolves to any ip address... and i forgot to mention last week that it's not meaning without a pot number
<jbenet> i.e. does "/onion/fufu.onion" addess the _ip host_ (all ports) or _specifically the http server_ (just the chosen port the operator chose for the service)
<dawuud> the hidden service operator specifies an ipv4 interface and TCP port number for their service to listen on
<jbenet> (right, not "resolve", but proxy through)
<dawuud> the tor process then forwards connections to that local ip + tcp port
<dawuud> yeah
<jbenet> so i configure, locally on the service, "pls expose <ipv4>:<tcpport> at <onion-hash>.onion" ?
<jbenet> or do i configure, "pls expose <ipv4> at <onion-hash>.onion" ?
<dawuud> "pls expose <ipv4>:<tcpport> at <onion-hash>.onion:<virtport>"
<jbenet> (the latter meaning that the end user _could_ specify another port to hit another port.
<dawuud> virtport is just a port number... but it doesn't have to correspond to the tcp port number of the local service
<jbenet> right, it's a "port on the onion address" sort of
f[x] has joined #ipfs
<dawuud> right
<jbenet> does this apply to udp as well?
<dawuud> we don't yet have a udp transport
<jbenet> are there plans for one?
<dawuud> no
<jbenet> and, the tcp handshake a client of the service sees-- is that sent by the tor proxy? or by the hidden service's tcp listener?
<dawuud> the client sees the handshake from their local tor proxy
<dawuud> the client must speak socks to the tor proc... and so it's basically a stream transport
<jbenet> (the distinction being: "client[http <-> tcp1 <-> tcp1 <-> tor <-> tcp2 ] <------------> [tcp2 <-> tor <-> tcp3 <-> tcp3 <-> http] hidden service" OR "client[http <-> tcp1 <-> tor <-> tcp2 ] <------------> [tcp2 <-> tor <-> tcp1 <-> http] hidden service"
<jbenet> ok, so it's the first one here o/
* jbenet wonders how congestion control happens and so on, but oh well.
f[x] has quit [Ping timeout: 260 seconds]
<jbenet> dawuud: is there any notion of ip here? like, are clients going over ipv4 or ipv6 ? (i think the local client's kernel may demand it's encapsulated as IP only to de-capsulate it immediately, but there may be shortcuts)
<jbenet> dawuud: i'm wondering whether if i have an ipv6 only network stack, can i speak to a node with an ipv4 only network stack (it _should not_ be a problem, tor should be able to handle this completely without touching IP, but i wonder if there's some stupid problems interfacing with kernels easiyl
<dawuud> no... ip isn't involved in the sense that it's just a stream transport
<dawuud> so... we are talking about /onion/...
<dawuud> but if we use /tor/... then ip is used on the exit node
<dawuud> like leif pointed out... eventually we should make a readonly mode for tor users to anonymous look at the ip nodes
<dawuud> jbenet: an ipv4 tor client should be able to talk to a hidden service app listening on a ipv6 addr
<jbenet> yep, ok. another random question, suppose my browser did not use TCP, but a unix domain socket, and it happened to talk to my tor proxy that way... everything should still be fine, eh?
<dawuud> yeah that works too
<jbenet> ok sweet. so it sounds like that port number is fully a "tor port"
<dawuud> yeah
<jbenet> (i wonder why even have port numbers at all and not just do different addresses for everything-- it leaks that two services may be on the same machine)
<jbenet> (maybe to deal with some software that requires talking to <domain>:<port> for some variable <domain> and constant <port>)
<dawuud> i think because the socks client side needs a port number
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<lgierth> yeah i'd figure the port number is there in order for it to look like tcp
<dawuud> exactly
<dawuud> you can't tell a socks proxy to just connect to hostname... it needs a hostname and a port number
<jbenet> but if i chose to go to H.onion:X and H.onion.Y -- i can hit two different services then?
<jbenet> dawuud: ah, i see that's dumb. yay breaking the end to end model!
<dawuud> jbenet: yes... H.onion:X and H.onion.Y could be two different services
<jbenet> ok. just confirming
<jbenet> i think it should be /onion/<key>/<port> (i wouldn't put the .onion there unless there would be other .<tld> endings that would not make sense as root protocols.
<dawuud> ok
<dawuud> sounds good to me
<dawuud> what do you think about the /tor/... stuff?
<dawuud> i guess we can worry about that later
<jbenet> dawuud mind explaining a bit more? so it's for the exit node case?
amstocker has quit [Ping timeout: 255 seconds]
<dawuud> yes... if an ipfs user would like to use tor to hide their identity/location they could read things from the ipv4/ipv6 ipfs nodes
<dawuud> this is a client only mode
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<jbenet> and from the client mode, they would pick an exit node from which to send to/recv from the peer?
<dawuud> yes although most tor users aren't explicit about which exit nodes they use
<dawuud> they user's ipfs connections would connect locally to the tor socks port... and they'd be proxied from the exit node to the ipfs peer