syncthing/cmd/strelaypoolsrv
greatroar 0941ce76b7
cmd/strelaypoolsrv: Fix relay shuffling (fixes #6936) (#6935)
When cap(permanentRelays) >= len(permanentRelays) + len(knownRelays),

	append(permanentRelays, knownRelays...)

returns a slice of the array underlying permanentRelays. The subsequent
rand.Shuffle then mixes the permanent and known relays. Sequential
requests may cause strelaypoolsrv to forget its permanent relays. Worse,
concurrent requests may cause shuffling of the same slice on multiple
processors concurrently.

Co-authored-by: greatroar <@>
2020-08-27 15:51:58 +02:00
..
auto build: Let "go generate" create assets 2018-06-26 10:29:36 +02:00
gui cmd/strelaysrv: Add note about relay operators 2020-06-06 08:35:01 +02:00
LICENSE Initial commit 2015-09-06 17:29:14 +01:00
main_test.go cmd/strelaypoolsrv: Fix relay shuffling (fixes #6936) (#6935) 2020-08-27 15:51:58 +02:00
main.go cmd/strelaypoolsrv: Fix relay shuffling (fixes #6936) (#6935) 2020-08-27 15:51:58 +02:00
README.md all: Weed out a few other http urls (ref #3976) 2017-02-09 08:04:16 +01:00
stats_test.go cmd/strelaypoolsrv: Prevent scraped metrics moving backwards (#5068) 2018-07-27 07:59:55 +02:00
stats.go all: A few more interesting linter fixes (#5502) 2019-02-02 12:09:07 +01:00

relaypoolsrv

This is the relay pool server for the syncthing project, which allows community hosted relaysrv's to join the public pool.

Servers that join the pool are then advertised to users of syncthing as potential connection points for those who are unable to connect directly due to NAT or firewall issues.

There is very little reason why you'd want to run this yourself, as relaypoolsrv is just used for announcement and lookup of public relay servers. If you are looking to setup a private or a public relay, please check the documentation for relaysrv, which also explains how to join the default public pool.

See relaypoolsrv -help for configuration options.

Third-party attributions

oschwald/geoip2-golang, oschwald/maxminddb-golang, Copyright (C) 2015 Gregory J. Oschwald.

lib/pq, Copyright (C) 2011-2013 'pq' Contributors Portions Copyright (C) 2011 Blake Mizerany.