Getting started with Dat: two things I find confusing
rauschma opened this issue · comments
- Hashbase only worked after I opened port 3282 on my router’s firewall. Is this really necessary? I couldn’t find anything in the docs regarding ports, only a mention of Dat Doctor.
- If opening this port is necessary: does Dat support UPnP or PCP? Then it could open and close that port itself, as/when necessary.
- With the port open, when I run Dat Doctor’s basic test, it gets stuck at “Checking Dat Public Connections via UTP”. What does that mean?
- It’s not clear to me what “ERROR: symmetric nat” means, either.
This is the full output:
Welcome to Dat Doctor!
Software Info:
darwin x64
Node v12.8.0
Dat Doctor v2.1.2
dat v13.13.1
Running Basic Tests (Checks your Dat installation and network setup)
✖ Who am I?
The default Dat port (3282) in use, using random port.
This may impact Dat's connectivity if you have a firewall.
ERROR: symmetric nat
✔ Loaded native modules
✔ Resolved Dat Doctor Server
✔ Successful data transfer with Dat Doctor via TCP
⠹ Checking Dat Public Connections via UTP
Other than that: I love how easy it is to get started with Dat!
👋 Hey @rauschma. Answering inline:
Hashbase only worked after I opened port 3282 on my router’s firewall. Is this really necessary?
Hopefully not. We're wrapping up dat 2.0 right now which includes a rewrite of the connections code. The new hole-punching (which opens a p2p connection through the firewall/NAT) has been more reliable, so hopefully the answer will be- no, not necessary.
If opening this port is necessary: does Dat support UPnP or PCP? Then it could open and close that port itself, as/when necessary.
We have UPnP try to open a port in Beaker thanks to a PR, but I haven't dug deeply into it to make sure it's the best implementation (or that it's making a difference). I've been waiting for dat 2 before I dig deeper. AFAIK other dat clients aren't using UPnP yet but they could.
With the port open, when I run Dat Doctor’s basic test, it gets stuck at “Checking Dat Public Connections via UTP”. What does that mean?
Not sure - maybe it's stalling out because it's failing to make a connection. (UTP is an alternative to TCP.)
It’s not clear to me what “ERROR: symmetric nat” means, either.
Probably shouldn't be an "error" but a "symmetric nat" is a kind of router configuration that's uniquely difficult to hole-punch. I'm going to pass it to @mafintosh to see if he has thoughts on whether UPnP or some other mechanism could help here.
Yuh symmetric nats are hard to hole punch as @pfrazee mention. How about we ping you back here in a week or so to try to run this on Dat 2.0?
Thanks @pfrazee & @mafintosh!
How about we ping you back here in a week or so to try to run this on Dat 2.0?
Good plan!
I’m using a Fritz!Box, the same router as almost everyone in Germany, so it’d be great if it worked automatically. Fingers crossed!
For Dat Doctor: would it make sense to have some kind of timeout plus an informative message that suggests a fix. It could also be a URL pointing to further troubleshooting material.
So far these are the docs we have for help with troubleshooting. https://docs.datproject.org/docs/troubleshooting
If you have time, I'd be happy to review a PR that links to these docs in dat-doctor.
Also if you have ideas for stuff that should be added in the docs. 😁
Also if you have ideas for stuff that should be added in the docs.
The answers to my questions I got in this thread were very helpful.