Commit Graph
100 Commits
Author SHA1 Message Date
Cameron Gutman 36ea86faaa Configure SCM to restart our service if it crashes 2020-08-29 22:43:41 -07:00
Cameron Gutman 8590a0813b Stop testing after the first IPv6 relay server 2020-08-28 18:46:56 -07:00
Cameron Gutman 51ae1c8770 Fix socket errors being clobbered by closesocket() 2020-08-28 18:46:36 -07:00
Cameron Gutman f1ca6a71f0 Version 5.3 2020-08-14 18:35:19 -07:00
Cameron Gutman ac92212464 Fix flip-flopped HTTP and HTTPS rule IDs 2020-08-14 17:57:45 -07:00
Cameron Gutman dbf43ac7a1 Don't attempt to relocate WoL port 9 2020-08-14 17:54:48 -07:00
Cameron Gutman 893aa76c9c Replace hardcoded constant with #define 2020-08-14 17:52:59 -07:00
Cameron Gutman 21d8c71a2c Log the internal port for the UPnP mappings 2020-08-14 17:51:06 -07:00
Cameron Gutman 41ef072c9b Validate the port number of loopback traffic 2020-08-14 17:48:55 -07:00
Cameron Gutman 53246bd4c5 Don't redirect stdout for standalone exe invocation 2020-08-14 17:48:14 -07:00
Cameron Gutman ac850e79d8 Add firewall rules for GameStream just in case GFE didn't 2020-08-12 20:54:34 -07:00
Cameron Gutman 944c8993e8 Elevate priorities for the UDP relay threads 2020-08-11 01:12:48 -07:00
Cameron Gutman b6508d9024 Remove superfluous select() call 2020-08-11 00:59:13 -07:00
Cameron Gutman ef5bb72d5c Version 5.2 2020-08-10 22:05:43 -07:00
Cameron Gutman 3343ebb225 Don't allow testing while a stream is active 2020-08-10 21:50:52 -07:00
Cameron Gutman 05413a554c Work around IGDs that deduplicate entries based on the internal port
This is a violation of the UPnP IGD specification but we can relay through an alternate port as a workaround.
2020-08-10 21:16:21 -07:00
Cameron Gutman 5f015acdaa Improve robustness for broken UPnP IGDs 2020-08-09 16:01:39 -07:00
Cameron Gutman df286ef56d Use indefinite mappings if the IGD returns unexpected error codes 2020-08-09 15:30:48 -07:00
Cameron Gutman 47d60b9f24 Leave permanent mappings alone during the update cycle 2020-08-09 15:16:05 -07:00
Cameron Gutman 659d3aea23 Open UDP 47009 for WoL
It may work where UDP 9 fails because it's an unprivileged port
2020-08-09 14:00:14 -07:00
Cameron Gutman e4a4d42ece Version 5.1 2020-08-08 16:57:06 -07:00
Cameron Gutman 189e861362 Fix systems where Windows Firewall has been improperly disabled 2020-08-08 16:37:38 -07:00
Cameron Gutman fd022b67d3 Only test on the first reachable IPv4 and IPv6 relay servers 2020-08-07 21:58:36 -07:00
Cameron Gutman 14d27b4cf5 Use WinHTTP timeouts to avoid having to test HTTP ports twice 2020-08-04 02:03:14 -07:00
Cameron Gutman 17cb084968 Improve heuristic for distinguishing CGN vs double-NAT 2020-08-04 01:13:21 -07:00
Cameron Gutman ad8ef228d5 Fix double-close of connection handle on failure 2020-07-19 10:08:26 -07:00
Cameron Gutman 8d2252c4ac Version 5.0 2020-07-18 17:59:54 -07:00
Cameron Gutman 365b3ccd61 Remove redundant print 2020-07-18 17:55:45 -07:00
Cameron Gutman 74140a8511 Switch to the new loopback server protocol 2020-07-18 17:12:35 -07:00
Cameron Gutman a9bf4ffd70 Always run the loopback server test
It appears that in rare cases NAT reflection can work where real WAN traffic fails
2020-07-18 16:13:56 -07:00
Cameron Gutman 164d8b5467 Fix testing on Windows 7 with GFE 3.20.4 2020-07-18 15:53:47 -07:00
Cameron Gutman f1ebefa59c Add missing success print 2020-07-18 15:53:08 -07:00
Cameron Gutman 3e060fae54 Add supportedOS entries to the embedded manifest 2020-07-18 15:47:39 -07:00
Cameron Gutman f97c04a8cc Switch to WinHTTP instead of WinInet for HTTP testing 2020-07-18 13:27:52 -07:00
Cameron Gutman 85cd20005c Pass the port number directly rather than "https" to getaddrinfo()
Apparently, the services file in drivers\etc can be deleted and GFE still works.
2020-04-10 17:40:30 -07:00
Cameron Gutman e3e4bf608f Version 4.4 2020-02-21 18:03:38 -08:00
Cameron Gutman 0be2ca51e9 Send firewall/AV help to Known app compat issues section 2020-02-21 17:43:35 -08:00
Cameron Gutman 3e1ffce16f Add a check for blocked LAN access 2020-02-21 17:33:06 -08:00
Cameron Gutman c7813a7a0b Add specific help text for power option warnings and RDP error 2020-02-21 16:49:28 -08:00
Cameron Gutman 87fd3ad8e2 Check sleep and hibernation settings 2020-02-21 16:48:22 -08:00
Cameron Gutman 9d3ef0a215 Update miniupnpc to 44366328661826603982d1e0d7ebb4062c5f2bfc 2020-02-21 16:05:26 -08:00
Cameron Gutman ae83853a27 Rebuild libnatpmp with VC v16.4.5 2020-02-21 16:04:49 -08:00
Cameron Gutman 0b8b117cb2 Remove unused variables 2020-02-21 15:53:36 -08:00
Cameron Gutman 0050566124 Add a note to attempt restarting your router if UPnP is not detected 2020-02-21 15:52:21 -08:00
Cameron Gutman cc24472193 Add a check for a screen lock due to RDP 2020-02-21 15:51:51 -08:00
Cameron Gutman 4a11ab0f7f Fix firewall detection warning on non-English systems 2019-09-28 20:28:10 -07:00
Cameron Gutman c1c16edf7d Increase STUN retry limit 2019-09-28 20:26:01 -07:00
Cameron Gutman ae2647f36e Fix false firewall warning on Server SKUs 2019-09-28 16:36:40 -07:00
Cameron Gutman 8e40ef80bd Version 4.3 2019-09-28 16:27:25 -07:00
Cameron Gutman 16bb727b99 Update GS-IPv6-Forwarder to 2.3.1 2019-09-28 16:27:14 -07:00
Cameron Gutman 9194b8e22b Detect AV and firewall software that could interfere with GameStream 2019-09-28 16:06:03 -07:00
Cameron Gutman 2805464e86 Detect multiple connections to the same network 2019-09-28 15:24:53 -07:00
Cameron Gutman 20e7374480 Remove privilege restrictions due to app compat issues 2019-09-28 14:17:36 -07:00
Cameron Gutman 0fdbee831b Revert to an unrestricted service SID to address some app-compat issues with 3rd party Winsock providers 2019-09-28 14:11:32 -07:00
Cameron Gutman b37b99e9c3 Remove the "buggy router" warning that was actually caused by a libnatpmp bug 2019-09-28 14:03:32 -07:00
Cameron Gutman 29bbdc5319 Update libnatpmp to cgutman/libnatpmp eca208e3df44072d71bf3cd61753b4e77e1ddab0 2019-09-28 14:02:41 -07:00
Cameron Gutman 09cd50b12a Version 4.2 2019-08-08 01:34:09 -07:00
Cameron Gutman d60eda6fa8 Update GS IPv6 Forwarder for release 2019-08-08 01:33:45 -07:00
Cameron Gutman cda9bc6be7 Add support for testing ZeroTier configurations 2019-08-08 01:31:09 -07:00
Cameron Gutman 0008fbbcdb Try all resolved STUN servers 2019-08-08 00:02:53 -07:00
Cameron Gutman 620aa4b6d1 Version 4.1 2019-07-30 22:20:01 -07:00
Cameron Gutman b93ef55b65 Fix displaying broken ports when running IPv6-only 2019-07-30 22:12:45 -07:00
Cameron Gutman fdb033f550 Reduce wait time for UDP to offset retransmission delays 2019-07-30 21:48:48 -07:00
Cameron Gutman efdcaed4c1 Don't proceed after WSAEADDRINUSE for the loopback relay to avoid false positives 2019-07-30 21:47:29 -07:00
Cameron Gutman 5a2edb9a36 Add note about log for Discord 2019-07-30 21:45:26 -07:00
Cameron Gutman 798be5fd0a Implement heuristics for falling through to v4 detection even with working v6 2019-07-30 21:31:28 -07:00
Cameron Gutman b0941fee90 Update README.md 2019-07-29 22:54:53 -07:00
Cameron Gutman ebc7703bf2 Update error message text 2019-07-29 22:02:27 -07:00
Cameron Gutman bbf16383f5 Fix uninitialized sin_family field returned from CheckWANAccess() 2019-07-29 21:59:18 -07:00
Cameron Gutman dee2daac5a Fix invalid free on getaddrinfo() failure 2019-07-29 21:58:16 -07:00
Cameron Gutman 51e953c092 Test using the relay even if we believe it may be a double-NAT configuration 2019-07-29 21:25:40 -07:00
Cameron Gutman acb3f5a059 Add support for IPv6-only environments 2019-07-29 21:20:30 -07:00
Cameron Gutman 0bd212e6f1 Fix addrinfo leak 2019-07-29 21:06:18 -07:00
Cameron Gutman d076f881eb Print dialog text to the console 2019-07-29 21:04:17 -07:00
Cameron Gutman 46c2236342 Add support for getting local IPv6 address 2019-07-29 21:01:55 -07:00
Cameron Gutman 8158c85a23 Add support for IPv6 testing 2019-07-28 18:33:33 -07:00
Cameron Gutman 6f3898e4b4 Untabify source 2019-07-28 13:25:51 -07:00
Cameron Gutman b1a1352bbf Retransmit UDP test packets a few times to be safe 2019-07-28 13:16:22 -07:00
Cameron Gutman 069b0c7656 Add more periodic test output to avoid looking like the test is hung 2019-07-28 13:11:04 -07:00
Cameron Gutman 42df15c567 Switch stderr and stdout to prevent miniupnp warnings from appearing on the console 2019-07-28 13:09:48 -07:00
Cameron Gutman 96a88b55db Prepare to swap stdout and stderr for console output 2019-07-28 12:46:45 -07:00
Cameron Gutman 2d31cd0420 Rename Internet Streaming Helper to Internet Hosting Tool 2019-07-28 12:33:05 -07:00
Cameron Gutman ebb8c9fb68 Version 4.0 2019-07-13 15:21:23 -07:00
Cameron Gutman b31d257566 Integrate GSv6Fwd into MISH 2019-07-13 15:04:20 -07:00
Cameron Gutman 51dc3142ca Retarget to VS2019 2019-07-13 11:29:55 -07:00
Cameron Gutman c8ab32812f Version 3.0 2019-04-05 01:42:05 -07:00
Cameron Gutman 21802eac19 Improve messages to be less confusing 2019-04-05 01:41:55 -07:00
Cameron Gutman dab033ee3b Avoid testing UDP 48002 and UDP 48010 since they are currently unused 2019-04-05 00:39:51 -07:00
Cameron Gutman 204dde8a73 Avoid attempting to delete UPnP rules if the description doesn't match 2019-04-05 00:39:27 -07:00
Cameron Gutman 3d9e14fb56 Use a loopback relay if NAT reflection is unavailable 2019-04-05 00:38:47 -07:00
Cameron Gutman 771e09973f Print both old and new MISS logs 2019-03-28 19:46:34 -07:00
Cameron Gutman 1bc6cc5634 Fix log rotation 2019-03-28 19:42:09 -07:00
Cameron Gutman 0941cc5bc1 Set additional version attributes 2019-03-28 19:41:14 -07:00
Cameron Gutman a7e41d15f5 Add UTC time prefix to logs 2019-03-28 19:37:46 -07:00
Cameron Gutman 6916cfd0de Version 2.3 2019-03-09 16:03:46 -08:00
Cameron Gutman bae92c6c95 Allow the service access to its log folder 2019-03-09 16:00:10 -08:00
Cameron Gutman c8de19a3b6 Reduce service permissions 2019-03-09 15:02:14 -08:00
Cameron Gutman 1da8f371aa Update miniupnpc build to 4912dc37e30927eefd5d7bf0778d77172ef94803 2019-03-09 15:01:21 -08:00
Cameron Gutman cb55a02599 Fix parsing XOR-MAPPED-ADDRESS if the optional comprehension bit is set 2019-01-22 17:42:09 -08:00
Cameron Gutman dc820bdbf6 Version 2.2 2019-01-04 23:08:44 -08:00