Yagizaflow, right now it can't be used for file transfer. But we can write a XEP for it.
winfriedhas joined
mrdoctorwhohas joined
lskdjfhas left
j.rhas joined
flowYagiza, why can't it be used for file transfer?
j.rhas joined
ThibGhas joined
Yagizaflow, because we need a way to provide reliability when using UDP.
ThibGhas joined
ZashSCTP over DTLS over UDP?
ZashLike ... WebRTC?
SamWhitedYagiza: what use case do you ahve for using UDP with some application level reliability stuff that you couldn't just use TCP for?
intosihas joined
fippozash: old fashioned, quic is the next big thing ther
fippoxep-0343 provides a mapping of the sdp stuff to jingle
YagizaSamWhited, when entities are behind NAT (common case) the need a relay to use TCP. Using a relay make them depend on the realy. UDP could be used directly without a relay.
ZashWhy isn't there a XEP for bittorrent?
ZashYagiza: DUP hole punching stuff?
fippoyagiza: that is true only ~70% of the time.
ZashDidn't that need an outside 3rd party anyway?
Link MauveZash, you know I’ve wanted to write one? :D
YagizaZash, there is no problem in finding a public STUN server over internet. There are hundreds of them. But it's a real problem to find TURN or even SOCKS5 server.
fippobecause those things are expensive.
ZashDon't a lot of XMPP servers provide a XEP-0065 SOCKS5 proxy for this?
YagizaZash, there are not so many people, who want to run a server, which channels are used by unknown people.
ZashYagiza: [citation needed]
YagizaZash, yes. Nowadays it's hard to find a public working XEP-0065 server.
ZashOnly because everyone's using HTTP upload instead
fippobecause xep-65 proxies are expensive to run too?
matlaghas left
thorstenhas joined
ZashLink Mauve: Do it. I think I've even got a mod_bittorrent tracker somewhere.
Link MauveZash, but as a XEP or as a BEP, or both?
blablahas left
Zash:D
Yagizafippo, yes. Unlike a STUN server.
MarandaYagiza: "public"?
YagizaMaranda, yes.
Marandahas proxy65 runnin' on his service 🤔
YagizaMaranda, most of working XEP-065 servers caould be used only with accounts, registered on the server where it hosted.
MarandaAh of course
YagizaMaranda, so, they re private.
lskdjfhas left
ZashBut then they don't get the green checkmark on https://compliance.conversations.im/
fippoyagiza: stun servers cost < 1000 bytes per call.
vaulorhas joined
Yagizafippo, yeah.
guusdkhas left
guusdkhas joined
Yagizafippo, that's why they could be preferred over relays.
MarandaYagiza: well it would be not very *cool* to have an open socks5 proxy either tbh
YagizaMaranda, yes. And that's why it's a good idea to transfer files over UDP.
Guushas left
fippoyagiza: that is what ice (rfc 5245 / xep-0176) does. try everything, prefer the cheapest
intosihas joined
Yagizafippo, I didn't find a way of using UDP thru NAT without a relay described in RFC 5245.
fippoyagiza: that is what stun does in that context. you gather public ips, then do holepunching. works 70% of the time
Zash70% of the time it works every time
fippounless you are in chrome where it depends on the direction of the connection -- but google folks won't bother investigating :-)
Yagizafippo, hey! Don't mix srflx and relay addresses. You won't be able to establish a TCP connection with srflx candidates and UDP do not provide reliability!
fippoyagiza: ice-tcp doesn't work for p2p, that is well-known.
Steve Killehas joined
Yagizafippo, yes! So we go back to my first sentence.
fippoyagiza: FYI: i am running a hundreds of turn servers all around the world.
Yagizafippo, we need a XEP for using UDP for file transfer.
ZashOh, can you anycast such?
fippoyagiza: run it over ice if you want it to work. jingle also has a raw udp mode but i doubt anyone bothers anymore
Yagizafippo, are they free to use?
fippoyagiza: no.
Yagizafippo, and that's enough to think they are not exist.
fippoyagiza: would you please explain that to the people sending me bills for datatransfer over their network?
intosihas joined
Yagizafippo, why do I need that?
Guushas left
fippoi would prefer not to pay those bills :-)
Yagizafippo, yes. That's why I tell that we need a way to perform file transfer over UDP.
ZashThere is no such thing as a free byte
fippoyagiza: https://www.twilio.com/stun-turn/pricing -- just to give you an impression of cost. they make a good margin on that...
YagizaZash, yes. That's why we need to save traffic thru servers. 'cause their owners do not want pay for other people's traffic.
ZashYagiza: *networks*
ZashBandwidth usage costs too
fippoyes. that is why using TURN is only a fallback in ice.
efrithas left
Yagizafippo, yes. But it's impossible to use TCP in ICE without TURN when entities are behind their NAT's.
Yagizafippo, so once again: we need a way to perform file transfer with UDP.
ZashYagiza: Write the XEP then? :)
fippoyagiza: use xep-0343 which runs over ice.
YagizaZash, yes. That's what I suggest.
fippohttps://github.com/legastero/jingle-interop-demos/ -- the stanza.io demo allowed that five years ago.
lhas left
Yagizafippo, thanx. I'll investigate it.
fippoi wouldn't be surpised if that particular version was broken due to changes in webrtc.
matlaghas left
winfriedhas joined
Yagizafippo, but I guess relying on things like WebRTC is not a good idea at all. We can just create a simple transport protocol just to provide reliability when sending data stream over UDP.
lhas left
Steve Killehas left
fippoyagiza: people didn't come up with RFC 5245 (or its successor) for fun.
Link Mauveedhelas, have you tested Movim against these five clients, btw?
Link MauveYagiza, another benefit of WebRTC is that you suddenly are compatible with web clients too.
Link MauveOf which there are actually quite a few already.
Yagizafippo, what do you mean?
fippoyagiza: NATs are a bit more complicated to traverse than you expect
Yagizafippo, NATs are easily traversed by ICE. Do I suggest not to use ICE for NAT traversing or something?
fippoyes.
labdsfhas left
Yagizafippo, please, sho me the place where I told such things.
fippoif you don'T like browsers, there are libs like https://github.com/rawrtc/rawrtc or https://github.com/jlaine/aiortc/
fippoyagiza: ah... i missed a "not". but you keep saying "udp" and ice is not just udp
Yagizafippo, I strongly suggest using ICE for NAT traversing. And that's why I suggest to make a XEP for file transfer over UDP.
fippoyagiza: 0343 + 0234
labdsfhas joined
fippo(0234 can use 0176, 0343 provides datachannels for reliability)
Yagizafippo, ok. If you think WebRTC is the best way to provide reliability over UDP, let's agree on this.
fippotechnically what provides reliability is sctp over dtls over sctp but saying its webrtc leaves a hole for quic to sneak in :-)
lorddavidiiihas left
lovetoxhas left
lorddavidiiihas joined
YagizaI just don't like so many unfamiliar abbreviations. It suggests me that each of them add some overhead.
fippoit was easier in the old days of ircs DCC
Yagizafippo, yeah. I used DCC, but never thought about how it works.
intosihas joined
lovetoxhas joined
lovetoxhas left
lorddavidiiihas left
valohas joined
Marandahas joined
intosihas left
intosihas joined
lnjhas left
matlaghas left
blablahas joined
Yagizahas left
!xsf_martinhas left
valohas joined
efrithas joined
ralphmhas joined
Guushas left
intosihas joined
intosihas joined
Ge0rGDCC was notoriously broken with NAT. And then you had mod_conntrack_irc and then you connected to a non standard port and it was all bad again.