syncthing/cmd/discosrv
Cedric Staniewski a58f69be04 cmd/discosrv: Respect the listen address scheme (fixes #3346)
If the listen address scheme is set to tcp4:// or tcp6://, it needs to be
made sure that the remote address matches this scheme before it is added to
the database.

This prevents invalid URIs like tcp4://<IPv6 address>:<port> or tcp6://<IPv4
address>:<port>.

GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3378
2016-07-03 11:19:12 +00:00
..
clean.go Remove explicit relay handling 2016-04-26 07:46:43 +00:00
db.go Add relay support, add ql support 2015-07-23 19:12:40 +01:00
LICENSE GPL->MIT 2015-03-25 08:07:33 +01:00
main.go cmd/discosrv: Fix lint warnings 2016-06-07 07:33:11 +00:00
psql.go Remove explicit relay handling 2016-04-26 07:46:43 +00:00
ql.go Remove explicit relay handling 2016-04-26 07:46:43 +00:00
querysrv.go cmd/discosrv: Respect the listen address scheme (fixes #3346) 2016-07-03 11:19:12 +00:00
README.md Correct example DSN (fixes #29) 2015-11-08 14:53:39 +01:00
stats.go Use atomics for statistics handling (fixes #45) 2016-05-22 09:24:11 +09:00

discosrv

Latest Build

This is the global discovery server for the syncthing project.

To get it, run go get github.com/syncthing/discosrv or download the latest build from the build server.

Usage

The discovery server supports ql and postgres backends. Specify the backend via -db-backend and the database DSN via -db-dsn.

By default it will use in-memory ql backend. If you wish to persist the information on disk between restarts in ql, specify a file DSN:

$ discosrv -db-dsn="file:///var/run/discosrv.db"

For postgres, you will need to create a database and a user with permissions to create tables in it, then start the discosrv as follows:

$ export DISCOSRV_DB_DSN="postgres://user:password@localhost/databasename"
$ discosrv -db-backend="postgres"

You can pass the DSN as command line option, but the value what you pass in will be visible in most process managers, potentially exposing the database password to other users.

In all cases, the appropriate tables and indexes will be created at first startup. If it doesn't exit with an error, you're fine.

See discosrv -help for other options.