Website with public discosrv database

hi guys.

what do you think of a litte nice website, where everybody could share the address of his own discosrv? I’m planning to send a second raspberry pi to a datacenter to run a second discosrv.

kind of public dns network

What would be the point of that?

decentralization

Also a nice way to let people you don’t know or trust harvest your device id :smile:

I don’t see this working, unfortunately. Global discovery only works as long as people talk to the same authority. That authority may become distributed in various ways, but this isn’t it.

dns: nice way to let people know your ip address

syncthings disco: do you know what happens with the ids on announce.syncthing.net?

tor: nice way to let people know your ip address and surfing behaviour…

etc etc etc

right… the discoservers should not talk to eachother… but everybody should be able chose a discosrv of his trust.

would it be a problem to encrypt the device ids on disco?

How would that work, and what are you protecting against?

(I don’t mean work cryptography-wise, just what are you trying to keep secret from whom.)

abuse - first of all not from you :wink: but centralization always is a risk…

everyone should have a choice - like using open/public dns systems - like using tor nodes etc

Sorry, I don’t get it. You’ll have to provide an example of the kind of abuse you’re envisioning and how we could protect against it I think.

syncthing is a great tool to securely sync files. But the first point of attack (to get ids & ips or to take down a large part of syncthing nodes) would be the discosrv… Let me compare the problem with centralized networks with the discussions about whatsapp and their centralisation policy. Two years ago they did not encrypt anything and routed all(!) messages unencrypted thru their central server. another example could be lastpass.com (online password manager) - they saved all(!) userpasswords on their servers and one of them has been hacked. Imagine announce.syncthing.net is (taken) down or infiltrated…

so this is what I’m seeing as a maybe (hopefully not) upcoming problem with centralization… my idea is a decentralized network of discosrvers (like tor)

for the first throw, encrypting the ids on a discosrv would be great.

everybody could run its own disco and share the address with other users.

Another point could be: Would you like to host announce.syncthing.net for the next 10 years? the development of syncthing ist in the hands of the community - why not hosting disco too?

1 Like

So infiltrating or taking down the discovery server yields you nothing, as infiltrating only gives you ID to IP mappings, which is not a lot of use as you cannot abuse anything by knowing the IP (if the user has brain), and taking it down is pointless as you can have thousands of others spun up easily.

I guess what you are referring is other people publicising their alternative disosrv’s for public use, which you can already do in the forum.

Well, as I said, decentralization would be good. In one way or another. But posting a list of servers, when all parties need to talk to the same to be able to see each other, is not decentralization it’s just fragmentation.

As for the encryption, I just don’t understand how it would work and what it would protect against. Say I want to connect to the device with ID A - how do I ask the discovery server for an address, without telling it A or having already had some other contact with A?

(There are of course ways that don’t use device ids, with single use tokens or whatever, but that doesn’t fit with “encrypting device ids”.)l

As to this, yeah, that’d be nice. We’re changing the discovery system to use tls in v0.12 (so, encrypted in transfer and authenticated). If someone can contribute a nice distributed variant we’ll surely merge it.

(Otherwise, yes, I’ll make sure it’s hosted somewhere that works for the foreseeable future. Or until that gets painful enough that I’m motivated to make it distributed myself ;))

right

I’m not talking about a distributed network for disco purposes (the disco servers do not need to talk to eachother) - just talking about building up a community network of disco servers with encrypted id’s & ip’s…

only? that’s pretty much :wink:

It’s rather necessary if you want to connect to someone though. And I still don’t get the “encrypted” part. This stuff needs to be in clear text, as there is no trust relationship between the client doing the lookup and the discovery server.

1 Like

could these info not been encrypted like the data between the nodes? I’m worring about the day when all ids are compromised… this would be a nice mess :smile:

Why would it?

There is nothing inherently revealing about an ID, other than knowing that it uniquely identifies an instance of Syncthing, and that that device can be found at a certain IP address (or has been at that IP address in the past).

That information isn’t particularly useful, compared to say looking up the peers in the BitTorrent Mainline DHT, which tells you the IP addresses and the content they are hosting…

As I understand it, the discovery server doesn’t contain data on which devices talk to one another (although a compromised server could be made to log that information).