Skip to content
This repository has been archived by the owner on Dec 29, 2021. It is now read-only.

Documentation on NAT traversal and firewall issues #69

Open
aschrijver opened this issue Jul 27, 2017 · 5 comments
Open

Documentation on NAT traversal and firewall issues #69

aschrijver opened this issue Jul 27, 2017 · 5 comments

Comments

@aschrijver
Copy link

Yesterday I answered a question on stackoverflow named Fully Decentralized P2P:

I’m looking at creating a P2P system. During initial research, I’m reading from Peer-to-Peer – Harnessing the Power of Disruptive Technologies. That book states “a fully decentralized approach to instant messaging would not work on today's Internet.” Mostly blaming firewalls and NATs. The copyright is 2001. Is this information old or still correct?

One existing answer stated:

... now in 2010, it is a lot easier to punch holes in firewalls than it was in 2001, as most routers will allow you to automate the opening of ports via UPNP, so you are likely to have a larger pool of unfirewalled clients to work with.

So I answered 'No' and pointed to Dat as an example, then got immediately down-voted. Presumably because I presented a technology, not a direct answer. But it could also be because my answer is wrong.

Point is:

  • I can't find good documentation on firewall, NAT handling with regards to Dat to be sure

Either I missed it, or it would be a good thing to improve the docs.

@joehand
Copy link

joehand commented Jul 27, 2017

Our work is based on the description in this post of UDP Hole Punching. Updating your answer with that info may help clarity.

I'm not sure we have this directly documented anywhere (even in the paper), someone else asked the other day as well. So, yes more docs 😄 !

@aschrijver
Copy link
Author

aschrijver commented Jul 27, 2017

Thanks @joehand I updated the answer on SO 😄

@devxpy
Copy link

devxpy commented Jul 5, 2019

Hey @joehand!

Would it be possible to create a standalone hole punching tool out of DAT?

Could you tell us where we should look in order to achieve that?

@RangerMauve
Copy link

You can use the hole punching API inside hyperswarm, Dat's new networking stack.

@devxpy
Copy link

devxpy commented Jul 6, 2019

@RangerMauve Thanks!

I am a little lost on how to use this API. Could you please help me out?

I created a SO question.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants