beet icon indicating copy to clipboard operation
beet copied to clipboard

My ISP router DNS forwarder filters 127.0.0.1 by default

Open abitmore opened this issue 4 years ago • 14 comments

$ nslookup local.get-beet.io 192.168.0.1
Server:		192.168.0.1
Address:	192.168.0.1#53

Non-authoritative answer:
*** Can't find local.get-beet.io: No answer

No sure what the consequence is or how serious the issue is.

I think it's a common issue. Everyone using the same type of device may encounter the same issue. Asking everyone to change their default DNS settings is not the solution IMHO.

abitmore avatar Jun 09 '21 13:06 abitmore

I'm not sure about this, but have you tried adding beet.bitshares.org 127.0.0.1 in hosts file in OS ?

dls-cipher avatar Jun 16 '21 13:06 dls-cipher

Sure I know how to work around locally. But it's not the key point of this issue. New users will likely simply give up if an app does not work.

Asking everyone to change their default DNS settings is not the solution IMHO.

abitmore avatar Jun 16 '21 14:06 abitmore

Is 192.168.0.1 the IP of your local machine that woudl run beet in that case?

sschiessl-bcp avatar Jun 17 '21 10:06 sschiessl-bcp

Check if it does it for all localhost addresses or just 127.0.0.1....(i.e. 127.0.0.2 or 3 or 4 etc)

clockworkgr avatar Jun 17 '21 10:06 clockworkgr

Is 192.168.0.1 the IP of your local machine that woudl run beet in that case?

192.168.0.1 is my modem / router / WiFi AP with built-in DHCP server and DNS forwarder - the default settings.

Interestingly,

$ nslookup localhost 192.168.0.1
Server:		192.168.0.1
Address:	192.168.0.1#53

Name:	localhost
Address: 127.0.0.1

$ nslookup localhost123 192.168.0.1
Server:		192.168.0.1
Address:	192.168.0.1#53

Non-authoritative answer:
*** Can't find localhost123: No answer

$ nslookup local.get-beet.io 192.168.0.1
Server:		192.168.0.1
Address:	192.168.0.1#53

Non-authoritative answer:
*** Can't find local.get-beet.io: No answer

$ nslookup loca.get-beet.io 192.168.0.1
Server:		192.168.0.1
Address:	192.168.0.1#53

** server can't find loca.get-beet.io: NXDOMAIN

$ nslookup get-beet.io 192.168.0.1
Server:		192.168.0.1
Address:	192.168.0.1#53

Non-authoritative answer:
Name:	get-beet.io
Address: 185.199.111.153
Name:	get-beet.io
Address: 185.199.108.153
Name:	get-beet.io
Address: 185.199.110.153
Name:	get-beet.io
Address: 185.199.109.153

abitmore avatar Jun 17 '21 12:06 abitmore

Is 192.168.0.1 the IP of your local machine that woudl run beet in that case?

192.168.0.1 is my modem / router / WiFi AP with built-in DHCP server and DNS forwarder - the default settings.

Interestingly,

$ nslookup localhost 192.168.0.1
Server:		192.168.0.1
Address:	192.168.0.1#53

Name:	localhost
Address: 127.0.0.1

$ nslookup localhost123 192.168.0.1
Server:		192.168.0.1
Address:	192.168.0.1#53

Non-authoritative answer:
*** Can't find localhost123: No answer

$ nslookup local.get-beet.io 192.168.0.1
Server:		192.168.0.1
Address:	192.168.0.1#53

Non-authoritative answer:
*** Can't find local.get-beet.io: No answer

$ nslookup loca.get-beet.io 192.168.0.1
Server:		192.168.0.1
Address:	192.168.0.1#53

** server can't find loca.get-beet.io: NXDOMAIN

$ nslookup get-beet.io 192.168.0.1
Server:		192.168.0.1
Address:	192.168.0.1#53

Non-authoritative answer:
Name:	get-beet.io
Address: 185.199.111.153
Name:	get-beet.io
Address: 185.199.108.153
Name:	get-beet.io
Address: 185.199.110.153
Name:	get-beet.io
Address: 185.199.109.153

I'm not quite sure why you still getting get-beet.io as response when we updated it for a new domain ... hmmm

Have you tried lately to use it ?

dls-cipher avatar Aug 03 '21 08:08 dls-cipher

$ nslookup beet.bitshares.org
Server:		127.0.0.53
Address:	127.0.0.53#53

Non-authoritative answer:
*** Can't find beet.bitshares.org: No answer

$ nslookup beet.bitshares.org 192.168.0.1
Server:		192.168.0.1
Address:	192.168.0.1#53

Non-authoritative answer:
*** Can't find beet.bitshares.org: No answer

As I've said, the point of this issue is not what domain name you are using in the code, but what the IP address is used.

abitmore avatar Aug 03 '21 18:08 abitmore

Alternatively perhaps there are tunneling solutions which can address this issue? It does introduce risk as the traffic between app and beet wallet would be proxied.

grctest avatar Sep 09 '22 14:09 grctest

Might any of these tunneling solutions resolve your https localhost routing issues? https://github.com/anderspitman/awesome-tunneling

grctest avatar Sep 13 '22 20:09 grctest

@grctest thanks for your suggestion. Technically I have many options to solve the issue for myself, however it's just me. As mentioned in OP,

I think it's a common issue. Everyone using the same type of device may encounter the same issue. Asking everyone to change their default DNS settings is not the solution IMHO.

In other words, what I was looking for is a solution for average end users, but not developers.

abitmore avatar Sep 13 '22 21:09 abitmore

We could allow the user to select a preferred communications method (Either HTTPS+get-beet.io || HTTP).

Selecting HTTP communications preference would solve OP issue.

HTTP only is less secure, but it's over localhost not through ISP so middleman risk is low & so HTTPS justification is lessened.

We could also look into some form of URI or Deeplinking as a completely optional alternative communications method to websockets.

grctest avatar Sep 21 '22 14:09 grctest

We use HTTPS for beet, because if the user is on a HTTPS page already, (IIRC) the browser will refuse to connect to beet using HTTP.

abitmore avatar Sep 21 '22 19:09 abitmore

With the new TOTP, Raw Deeplink, QR codes and Local JSON upload features, perhaps we can now close this issue?

Users with the localhost blockage can use the above features instead of beet comms over wss.

grctest avatar Sep 13 '23 21:09 grctest

The latest beeteos release has a dedicated page for web requests, meaning that the ISP blocked ip address and ports will not be launched/opened unless you explicitly navigate to the web request page. https://github.com/beetapp/beeteos

grctest avatar Mar 10 '24 01:03 grctest