ssbc / patchbay

An alternative Secure Scuttlebutt client interface that is fully compatible with Patchwork
http://www.scuttlebutt.nz
386 stars 78 forks source link

Use ssb-friend-pub #303

Closed arj03 closed 5 years ago

arj03 commented 5 years ago

From the scuttlebot thread a week ago:

Recently I have been working on ssb-friend-pub github git-ssb. The motivation was kawaiipunks Criticisms of Scuttlebutt thread. This is a plugin for sbot that allows an owner of a pub to assert ownership and providing methods to see which pubs are run by your friends or friend of friends.

My understanding is that you want to get ssb-server into a stable state and then do a release of that @mixmix? So it might not be the best time to merge something like this. It should be relatively harmless by default.

I have been running sbot with pubs run by friends for the past 3 weeks and havn't had any trouble with messages not getting through.

mixmix commented 5 years ago

Seems cool. I guess if it's opt in we can merge this and people can explore the vibe of it themselves.

Changes I'd like to consider (I'm reviewing from my phone at 3am after feeding ziva... .)

Other question is how this is going to work with suttle shell where we don't get to load this config.

Does this feature require restarting patchbay to get the new settings running with ssb-server?

On Thu, 17 Jan 2019, 09:52 Anders Rune Jensen, notifications@github.com wrote:

From the scuttlebot thread a week ago:

Recently I have been working on ssb-friend-pub github git-ssb. The motivation was kawaiipunks Criticisms of Scuttlebutt thread. This is a plugin for sbot that allows an owner of a pub to assert ownership and providing methods to see which pubs are run by your friends or friend of friends.

My understanding is that you want to get ssb-server into a stable state and then do a release of that @mixmix https://github.com/mixmix? So it might not be the best time to merge something like this. It should be relatively harmless by default.

I have been running sbot with pubs run by friends for the past 3 weeks and havn't had any trouble with messages not getting through.

You can view, comment on, or merge this pull request online at:

https://github.com/ssbc/patchbay/pull/303 Commit Summary

  • Add tor-only outgoing connections to settings. Currently tor doesn't actually work with npm start because it can't connect to proxy.
  • Merge with mainline
  • Bump deps and add ssb-friend-pub
  • Add settings for friend pub
  • Show which pubs are available within the hops configured
  • Use ssb-friend-pub 1.0.4
  • Remove tor-only (#) support as that is not working yet
  • Update ssb-friends to 3.1.11 to get important bugfixes including layered-graph 1.1.3
  • Don't show specific pubs when using all pubs
  • Merge with master

File Changes

Patch Links:

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ssbc/patchbay/pull/303, or mute the thread https://github.com/notifications/unsubscribe-auth/ACitnjymHeDrXv5IAGJt2MRWW3ppSxAdks5vD5ErgaJpZM4aD7fV .

arj03 commented 5 years ago

Thanks for taking your time mix. Really appreciate it!

I'll fix the technical things, sounds reasonable. The restart/reload is because we need to disable the global gossiping if enabled. I'll see if we can do without that.

About the scuttle shell integration then I'm really interested in hearing what @cryptix has to say. This is similar to a "tor only feature" I have already written in the same style, but currently doesn't work because electron for some reason does not allow proxy connections on the local machine. Probably security related but I can't seem to find anything about it, and if it can be disabled or opened for a specific port. So first question: scuttle-shell is not running electron right? If so, that is a big win right there.

The second point is that I'd be great to have a UI to configure some of these things. Right now I have them in patchbay settings. So I'm interested if one would rather but all of these things in scuttle-shell and if so what kind of UI does it have? Or should I rather create a minimal program that is only used for configuring these things based on patchbay, that somehow would be easily launched from scuttle-shell?

mixmix commented 5 years ago

Restart relay is fine imo, we just need to tell the user that clearly (maybe you did already)

Let's think about scuttle shell later on I guess. In particular I'm mindful that cryptix needs a break from it and I don't want to put more more on him to solve right now.

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

Thanks for taking your time mix. Really appreciate it!

I'll fix the technical things, sounds reasonable. The restart/reload is because we need to disable the global gossiping if enabled. I'll see if we can do without that.

About the scuttle shell integration then I'm really interested in hearing what @cryptix https://github.com/cryptix has to say. This is similar to a "tor only feature" I have already written in the same style, but currently doesn't work because electron for some reason does not allow proxy connections on the local machine. Probably security related but I can't seem to find anything about it, and if it can be disabled or opened for a specific port. So first question: scuttle-shell is not running electron right? If so, that is a big win right there.

The second point is that I'd be great to have a UI to configure some of these things. Right now I have them in patchbay settings. So I'm interested if one would rather but all of these things in scuttle-shell and if so what kind of UI does it have? Or should I rather create a minimal program that is only used for configuring these things based on patchbay, that somehow would be easily launched from scuttle-shell?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ssbc/patchbay/pull/303#issuecomment-455314186, or mute the thread https://github.com/notifications/unsubscribe-auth/ACitnu8HLLPbQenPLMK5fjoUWw8OugBBks5vENgTgaJpZM4aD7fV .

cryptix commented 5 years ago

<3 yea, thanks mix. to be honest: Any UI apart from the systray thingy is totally out of scope for me. The library is just to limited and needs a new pick, like libui that Tim suggested but somebody else needs to start that...

arj03 commented 5 years ago

Really sorry if I said something that comes of the wrong way related to scuttle-shell. I havn't been following the discussions because I have to limit myself. I just got a bit excited because I saw it as a way to solve the tor problem.

arj03 commented 5 years ago

I'd like this merged, as its just after a release. Any objections, I should have fixed all the cases raised and the diff looks quite clean to me :)

christianbundy commented 5 years ago

Just a quick question: when this says "only connect to pubs within X hops" does it really mean "only connect to peers within X hops"? I'm directly connected to a handful of people that aren't pubs, and I'm curious whether this would change that.

arj03 commented 5 years ago

@christianbundy it should say: "Only connect to pubs run by a peer within a certain number of hops". I'm open to other wordings, but for me that seems clear enough?

What do you mean by connected to people directly? Do you use seeds in your .ssb/config? Or do they have private ssb-device-addresses? This does not overwrite seeds, it only disables public gossipping, meaning "random" pubs.

arj03 commented 5 years ago

Ho ho ho, upgrading to socks 2.2.2 makes tor work inside electron and 2.2.3 makes it play better with latest version of tor. :cocktail: :dancer: :tada:

christianbundy commented 5 years ago

What do you mean by connected to people directly?

For example, I see that I often connect to @kas and others who use cjdns, but in my mind those aren't pubs (maybe they are?). Anyway, not a show-stopper, please continue. :upside_down_face:

Regarding Electron, does this mean that we can just spin up Tor inside Patchbay without any host daemon? If so, that's a game-changer.

arj03 commented 5 years ago

Oh, that works because cjdns makes it behave like they are on the same lan right? This shouldn't change how that works.

Sadly you still need tor running outside, but it is enough simple to apt-get install it.

cryptix commented 5 years ago

but in my mind those aren't pubs

pubs never had a really special role. It's just that the other peers never had addresses.

christianbundy commented 5 years ago

This shouldn't change how that works.

Sweet, thanks for taking the time to explain!