ssbc / ssb-config

standard configuration for ssb
MIT License
23 stars 18 forks source link

default host for windows breaks #35

Open mixmix opened 5 years ago

mixmix commented 5 years ago

The default host for incoming connections is ::

On Windows 10 this leads to an error when trying to stat patchbay: Error: connect EADDNOTAVAIL :::8008

Changing the host to '127.0.0.1' works.

Should ssb-config know about this and choose default/ fallback host based on OS ?

arj03 commented 5 years ago

@mixmix I ran into a related issue yesterday when I upgraded my pub to ssb-server 14. On the server I have tor configured to relay external onions connection on port 8008 to 127.0.0.1. The 127.0.0.1 part was from the default tor config. And this doesn't work with an ipv6 address for host that ssb-config now picks by default.

christianbundy commented 5 years ago

@mixmix

Personally, I'd love to see this supported in ssb-config so we don't have to hack it into each client.

arj03 commented 5 years ago

I'll have a further look at this tonight

arj03 commented 5 years ago

Log of my debugging session:

Setting incoming.net[0].host to :: actually works best on my pub in that it works with both tor and ssb-viewer.

This is output of console.log(nonPrivate):

{ [Function]
  private:
   { [Function] v4: '10.8.66.21', v6: 'fe80::dc2b:48ff:fe13:900a' },
  v4: undefined,
  v6: '2001:bc8:4700:2300::e:c15',
  all:
   { public: { v4: undefined, v6: '2001:bc8:4700:2300::e:c15' },
     private: { v4: '10.8.66.21', v6: 'fe80::dc2b:48ff:fe13:900a' } } }

I wonder why it picks the ipv6 addr when host is not defined, but incoming is. Like this one I had before:

{ "port": 8008, "scope": "public", "transform": "shs", "external": ["between-two-worlds.dk"] }

Also what is it? This appears to be multiserver-scopes. Actually this line. In a way it makes sense that it will return my public ipv6 when I configured it to public scope.

@mixmix as for your specific case with listening to the unspecified IPv6 address (::), this link seems to suggest that Windows behaves the same way as unix (linux & mac) in that it also listens on 0.0.0.0 (ipv4 equivalent).

mixmix commented 5 years ago

Oh you got v14 ssb-server running? I got Dominic to share publish rights on modules it was using. I'll go back and see if I can get it going too.

I'm actually really impressed by some of the docs work that came out of v14 cc @dominictarr (great work, I just didn't know a bunch of the apis previously)

Le sigh (to the rest of the bits)

On Fri, 25 Jan 2019, 09:14 Anders Rune Jensen, notifications@github.com wrote:

Log of my debugging session:

Setting incoming.net[0].host to :: actually works best on my pub in that it works with both tor and ssb-viewer.

This is output of console.log(nonPrivate):

{ [Function] private: { [Function] v4: '10.8.66.21', v6: 'fe80::dc2b:48ff:fe13:900a' }, v4: undefined, v6: '2001:bc8:4700:2300::e:c15', all: { public: { v4: undefined, v6: '2001:bc8:4700:2300::e:c15' }, private: { v4: '10.8.66.21', v6: 'fe80::dc2b:48ff:fe13:900a' } } }

I wonder why it picks the ipv6 addr when host is not defined, but incoming is. Like this one I had before:

{ "port": 8008, "scope": "public", "transform": "shs", "external": ["between-two-worlds.dk"] }

Also what is it? This appears to be multiserver-scopes. Actually this line https://github.com/ssbc/multiserver-scopes/blob/master/index.js#L9. In a way it makes sense that it will return my public ipv6 when I configured it to public scope.

@mixmix https://github.com/mixmix as for your specific case with listening to the unspecified IPv6 address (::), this https://github.com/nodejs/node/pull/11134 link seems to suggest that Windows behaves the same way as unix (linux & mac) in that it also listens on 0.0.0.0 (ipv4 equivalent).

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ssbc/ssb-config/issues/35#issuecomment-457340233, or mute the thread https://github.com/notifications/unsubscribe-auth/ACitnmzq3YwINsY2fvLQRdxHdVfcxa5Cks5vGhQbgaJpZM4aQHrb .