Commit Graph

101 Commits

Author SHA1 Message Date
Cameron Gutman f659af29da Fix mDNS detection of hosts with the same IP address
This is the case for PCs running GFE and Sunshine side-by-side.
2023-02-25 20:29:51 -06:00
Cameron Gutman 6550deedbb Fix handling of missing addresses 2023-02-20 22:35:27 -06:00
Karim Mreisi 3a9eabf50b fix: support host names with _
Use a JSON to properly encapsule different computer addresses and their
port, instead of using "_" as separator.

Fix usage of '_' in computer host names / domain names.
2023-02-20 13:32:55 -06:00
Cameron Gutman 3879e57c4c Track network changes to invalidate PC online state appropriately 2022-11-21 23:15:19 -06:00
Cameron Gutman dcc3dcdaba Only match ports if the PC is online 2022-11-21 23:00:51 -06:00
Cameron Gutman cbe602655c Pass active HTTPS port if the HTTP port matches the active address 2022-11-09 20:53:06 -06:00
Cameron Gutman 236d8b7030 Extend timeouts for the PC's active address 2022-11-09 20:31:58 -06:00
Cameron Gutman 392e3c7fe3 Increase connection timeouts when the PC is presumed to be online 2022-11-09 20:22:07 -06:00
Cameron Gutman 7af290b6e1 Implement support for non-default ports with Sunshine
Fixes #1115
2022-11-06 17:36:46 -06:00
TacoTheDank a96e508ffb Use try-with-resources 2022-10-31 00:33:09 -05:00
Cameron Gutman fb09c9692c Fix handling of InterruptedExceptions 2022-05-22 15:31:06 -05:00
Cameron Gutman 4901b0c78f Stop parallel polling threads when we find a working address 2022-05-22 14:56:28 -05:00
Cameron Gutman c127af1e05 Rewrite polling logic to avoid needing to poll using a separate socket first 2022-05-14 18:14:37 -05:00
Cameron Gutman e53a1f90b0 Correct some callers of time functions that expect monotonic clocks 2020-10-18 20:05:09 -05:00
Cameron Gutman fd6675a3a3 Populate the external IP address when a PC is added manually using an RFC 1918 IPv4 address 2020-08-30 18:39:25 -07:00
Cameron Gutman 342515f916 Force remote streaming optimizations if a VPN is active 2019-12-01 20:05:09 -08:00
Cameron Gutman 22d84b5763 Bind to the underlying network when a VPN is connected 2019-11-09 12:57:54 -08:00
Cameron Gutman 371d96ea65 Fix VPN check on KitKat and below 2019-11-04 19:05:34 -08:00
Cameron Gutman e9e332ff85 Don't update the external IP address when connected to a VPN 2019-11-04 19:00:29 -08:00
Cameron Gutman ee46906376 Fix splitting of address string 2019-07-16 20:36:36 -07:00
Cameron Gutman 1d76536e31 Delete PCs by UUID instead of name 2019-07-16 20:35:18 -07:00
Cameron Gutman dc97adc7a1 Fix upgrading from a build prior to cert pinning support 2019-07-16 20:08:41 -07:00
Cameron Gutman a1c659b7b8 Add support for IPv6-only hosts 2019-07-15 01:28:23 -07:00
Cameron Gutman 27f0fd63b3 Add support for IPv6-only mDNS 2019-07-14 14:17:39 -07:00
Cameron Gutman 83b66b19de Add support for zero configuration IPv6 streaming 2019-07-14 00:21:13 -07:00
Cameron Gutman 1174e03885 Fix incorrectly persisting host with missing server cert 2019-01-04 18:18:32 -08:00
Cameron Gutman ff0f54d541 Switch to using stun.moonlight-stream.org for STUN 2019-01-04 18:05:28 -08:00
Cameron Gutman 814964a100 Fix exception adding PCs 2019-01-01 23:32:16 -08:00
Cameron Gutman 7e154292a9 Stop suppressing exceptions 2019-01-01 23:31:38 -08:00
Cameron Gutman 0f9cba1053 Fix crash due to a null computer uuid 2019-01-01 22:34:27 -08:00
Cameron Gutman cd80a94f28 Fix IllegalStateException caused by making HTTPS request without a pinned cert 2018-12-27 23:55:59 -08:00
Cameron Gutman 57c645a291 Change uuid field to String type due to new format UUIDs that fail to parse on GFE 3.16 2018-12-27 23:48:12 -08:00
Cameron Gutman 7e679ff4c6 Fix short window where newly added PC could be incorrectly marked as unpaired 2018-12-23 21:34:20 -08:00
Cameron Gutman db49077b9b Add cert pinning during pairing 2018-12-21 21:00:53 -08:00
Cameron Gutman 8d09f56a0e Fix race condition causing loss of manual IP address after mDNS discovery 2018-11-13 23:16:25 -08:00
Cameron Gutman d4072eb295 Avoid nulling activeAddress during polling 2018-10-27 23:38:11 -07:00
Cameron Gutman 66f0aee3f8 Use STUN to discover WAN address when PC is found using mDNS 2018-10-27 10:46:28 -07:00
Cameron Gutman b690dc5474 Rewrite reachability code and computer DB to bring it inline with other modern Moonlight clients 2018-10-27 02:18:33 -07:00
Cameron Gutman 2d0af6281c Ensure polling threads terminate even when polling resumes immediately 2017-12-29 14:05:29 -08:00
Cameron Gutman cd06559c66 Also count link-local addresses as local 2017-12-27 22:41:21 -08:00
Cameron Gutman d833933aaa Allow up to 1 second for fast poll to address connection flakiness 2017-12-27 22:27:35 -08:00
Cameron Gutman dc3495d59b Improve local vs. remote heuristics 2017-12-27 21:43:12 -08:00
Cameron Gutman 34a11c9262 Correct reachability when restoring a lost address 2017-09-09 16:02:39 -07:00
Cameron Gutman 84a9845c1d Fix polling overwriting manually entered IP addresses 2017-09-09 15:40:07 -07:00
Cameron Gutman 5b05220008 Prevent mDNS from overwriting external IP addresses 2017-09-09 15:21:31 -07:00
Cameron Gutman b2bd7257e1 Fix Lint warnings 2017-09-09 14:12:54 -07:00
Cameron Gutman 46a998c113 Convert address fields to strings to better manage DNS names 2017-09-09 13:39:54 -07:00
Cameron Gutman 60cd951774 Rename localIp/remoteIp fields to localAddress/remoteAddress to prepare for DNS names 2017-09-09 12:47:23 -07:00
Cameron Gutman d4f8d8f689 Switch database storage to use strings for addresses 2017-09-09 12:43:20 -07:00
Cameron Gutman f01a15d182 Removed duplicated current address logic 2017-09-09 11:49:15 -07:00