goonism / hyperproxy

Hyperproxy aims to establish connection from WebRTC nodes to TCP/UDP DAT nodes
https://goonism.github.io/hyperproxy
MIT License
74 stars 5 forks source link

TURN in scope? #1

Open max-mapper opened 6 years ago

max-mapper commented 6 years ago

Hey, awesome project :) @mafintosh and I have been talking a while about the need for a TURN style proxy... use case is basically:

I was wondering if this use case is close enough to the bridging protocols use case to put into this module. What do you think? (also what do you think @mafintosh?)

louisgv commented 6 years ago

@maxogden I was researching the use case you described as well as TURN/STUN setup. Specifically looking at TURN's RFC abstract and there seems to be bunch of them. Got somewhat confused along the road. Can you point me to the relevant RFCs that I should focus on?

Thanks in advance :)

louisgv commented 6 years ago

Also, from what I read, TURN could be an independent piece and is mainly depended on by simple-peer of webrtc-swarm for throwing packets through firewalls. Wonder if we could use something like https://github.com/coturn/coturn and just run it as a separate process together with hyperproxy. hyperproxy could def just bring up the subprocess.

Or are you thinking more along the line of implementing TURN within the proxy server?

max-mapper commented 6 years ago

@louisgv I believe we wouldn't actually use the TURN protocol (or any of the webrtc protocols as they are quite complicated) but would rather roll our own similar thing that is based on the existing dat protocol. @mafintosh I think has a plan for this. I think the main idea of using our own is we can reuse the dat keypair and discovery network that way

ColdSauce commented 6 years ago

@maxogden Sorry for such a late response, we had spring break this past week. I think that is a really awesome idea but I feel like it might be out of scope of this project.

I think it would be really cool to work on it though, so maybe if nobody has taken on that effort when we're done with this project, we can take that on, too!