Commit Graph

97 Commits

Author SHA1 Message Date
Sandro ff960c22b3
Remove duplicated argument 2020-09-09 14:46:08 +02:00
Joachim Bauch 767d283600
Handle case where etcd cluster is not available during startup. 2020-09-09 14:42:18 +02:00
Joachim Bauch adce45162e
Default to proxy url type "static" if none is configured. 2020-09-07 17:07:48 +02:00
Joachim Bauch 198117a8d0
Fix commented default value of "urltype". 2020-09-07 17:06:40 +02:00
Joachim Bauch dbcbad8b99
Add changelog. 2020-09-07 09:46:45 +02:00
Joachim Bauch a9b6b44b14
Update syntax to match other commented values. 2020-09-07 09:44:39 +02:00
Joachim Bauch 5206490fef
Change log message if session was resumed. 2020-09-07 09:12:32 +02:00
Joachim Bauch 1e11eac284
proxy: Check complete session id when resuming. 2020-09-07 09:10:33 +02:00
Joachim Bauch bde0301637
proxy: Generate random session hash keys.
This is to ensure that session ids are only valid until the proxy is restarted.
2020-09-07 09:01:34 +02:00
Joachim Bauch 73903315a9
Handle "bye" proxy messages. 2020-09-07 08:56:17 +02:00
Joachim Bauch b6a0597fb7
"curl" and "python3" are no longer required to build the server.
Since #29 the continent map is included in the repository and doesn't get
downloaded on each build.
2020-09-01 13:47:56 +02:00
Joachim Bauch 34de2b9b58
Merge pull request #47 from strukturag/proxy-list-etcd
Add support for fetching proxy URLs from etcd cluster.
2020-09-01 12:48:46 +02:00
Joachim Bauch c4d2bbe21f
Merge pull request #48 from strukturag/geoip-overrides
Add option to override GeoIP lookups (e.g. for local addresses).
2020-09-01 12:46:18 +02:00
Joachim Bauch 64991a0a0e
Add option to override GeoIP lookups (e.g. for local addresses). 2020-09-01 12:41:00 +02:00
Joachim Bauch dcf533b8f1
Add support for fetching proxy URLs from etcd cluster. 2020-08-31 17:24:04 +02:00
Joachim Bauch 744b514e9f
Support multiple token key formats in proxy configurations. 2020-08-31 17:23:47 +02:00
Joachim Bauch 18bfb0daa1
Update logging flags.
Timestamp already enabled by etcd logger, so only add filename.
2020-08-31 15:51:53 +02:00
Joachim Bauch 804e558e96
Switch to builtin "context" package now that we can assume Go 1.7 2020-08-31 13:58:28 +02:00
Joachim Bauch b7d5f2a639
Merge pull request #44 from strukturag/proxy-tokens-etcd
Add support for fetching proxy tokens from etcd cluster.
2020-08-31 13:47:36 +02:00
Joachim Bauch 28241f5f87
Merge pull request #46 from strukturag/reload-proxy-list
Reload list of proxy URLs on SIGHUP.
2020-08-31 13:44:46 +02:00
Joachim Bauch 116188c3e3
Reload list of proxy URLs on SIGHUP. 2020-08-31 13:07:03 +02:00
Joachim Bauch c6892dcb2a
Update config parameter name to match other options. 2020-08-28 17:09:57 +02:00
Joachim Bauch 66d860bd79
Add support for fetching proxy tokens from etcd cluster. 2020-08-28 17:09:57 +02:00
Joachim Bauch ebfd774d40
Add go.etcd.io/etcd v3.4.13 2020-08-28 17:09:56 +02:00
Joachim Bauch 7a50e2da93
Drop support for Golang < 1.10 2020-08-28 17:09:56 +02:00
Joachim Bauch eeb3d356af
Merge pull request #45 from strukturag/ci-golang-1.15
CI: Also test with Go 1.15
2020-08-28 17:09:22 +02:00
Joachim Bauch a0e2de367a
CI: Also test with Go 1.15 2020-08-28 17:06:18 +02:00
Joachim Bauch 85d6726d59
proxy: Prepare for different token storages. 2020-08-28 10:31:11 +02:00
Joachim Bauch 2d73b97882
Move member definition to get consistent formatting across Go versions. 2020-08-28 09:50:52 +02:00
Joachim Bauch 0dcb9f6b2d
Unregister / remove subscriber if reconnection didn't work.
Partial fix from #15.
2020-08-13 14:51:07 +02:00
Joachim Bauch beb84b9cad
Merge pull request #41 from strukturag/revert-15-keep-mcu-deferred-processing
Revert "Move processing of deferred method to dedicated DeferredExecutor."
2020-08-13 14:43:27 +02:00
Joachim Bauch dc1bf2bc9b
Revert "Move processing of deferred method to dedicated DeferredExecutor." 2020-08-13 14:40:06 +02:00
Joachim Bauch 238b355e79
Merge pull request #40 from strukturag/geoip-from-file
Support loading a GeoIP database from a local file.
2020-08-13 14:12:53 +02:00
Joachim Bauch 5e3164b5a4
Support loading a GeoIP database from a local file. 2020-08-13 14:07:26 +02:00
Joachim Bauch 2734197e8d
CI: Set "MAXMIND_GEOLITE2_LICENSE" variable to enable GeoIP tests. 2020-08-13 14:03:16 +02:00
Joachim Bauch 968913e32d
Merge pull request #15 from strukturag/keep-mcu-deferred-processing
Move processing of deferred method to dedicated DeferredExecutor.
2020-08-13 13:22:42 +02:00
Joachim Bauch 015fa3565d
Merge pull request #36 from strukturag/multiple-mcu-support
Support connecting to multiple Janus servers
2020-08-13 13:20:28 +02:00
Joachim Bauch ea74a54d11
Select proxy based on country of publisher (if known).
The connections that have been sorted by load are also sorted by country
of publisher and continent of publisher, e.g. for worldwide proxies, the
ones closest to the publisher will be preferred.
2020-08-13 13:17:09 +02:00
Joachim Bauch d9d11b58e1
Shutdown a proxy gracefully on SIGUSR1.
No new publishers will be created by the proxy, existing publishers can
still be subscribed. After all clients have disconnected, the process
will terminate.
2020-08-13 13:17:09 +02:00
Joachim Bauch 2626b1ac6c
Add note on using multiple Janus servers. 2020-08-13 13:17:08 +02:00
Joachim Bauch b7c258b459
Add proxy service implementation. 2020-08-13 13:17:08 +02:00
Joachim Bauch 4446b07951
Add MCU type "proxy" that delegates to one or multiple MCU proxies. 2020-08-13 13:17:06 +02:00
Joachim Bauch 0052c45f69
Merge pull request #39 from strukturag/nacks-lost-reporting
Update "janus-go" dependency to handle changed slowlink message.
2020-08-13 13:05:56 +02:00
Joachim Bauch 178006faba
Update "janus-go" dependency to handle changed slowlink message.
Janus no longer reports `nacks` since 0.7.3 but changed the field to `lost`.
2020-08-12 16:44:44 +02:00
Joachim Bauch acbb47a100
Add callback on received RTT. 2020-08-07 11:40:35 +02:00
Joachim Bauch f4d4d5fb4d
Add callbacks for when MCU connection is established/list. 2020-08-07 10:23:47 +02:00
Joachim Bauch 5a553fcc2d
Move some signaling-specific functions of client to hub to allow reuse. 2020-08-07 10:22:27 +02:00
Joachim Bauch e14ba2f39f
Merge pull request #35 from strukturag/process-nats
Process NATS messages directly without passing to separate channel in client.
2020-08-03 14:35:31 +02:00
Joachim Bauch d23a392a1b
Process NATS messages directly without passing to channel in client.
Already in per-client/-session goroutines, so won't block others.
2020-08-03 14:30:43 +02:00
Joachim Bauch 2278a5ffba
Merge pull request #33 from strukturag/lint-cleanup
Various cleanups found by golangci-lint
2020-07-31 15:38:03 +02:00