diff --git a/FastGithub.DomainResolve/DomainResolver.cs b/FastGithub.DomainResolve/DomainResolver.cs index b64b550..8d26d6b 100644 --- a/FastGithub.DomainResolve/DomainResolver.cs +++ b/FastGithub.DomainResolve/DomainResolver.cs @@ -15,7 +15,7 @@ namespace FastGithub.DomainResolve /// sealed class DomainResolver : IDomainResolver { - private const int MAX_IP_COUNT = 3; + private const int MAX_IP_COUNT = 10; private readonly DnsClient dnsClient; private readonly PersistenceService persistence; private readonly IPAddressService addressService; @@ -82,6 +82,7 @@ namespace FastGithub.DomainResolve /// public async Task TestSpeedAsync(CancellationToken cancellationToken) { + int count = 0; foreach (var keyValue in this.dnsEndPointAddress.OrderBy(item => item.Value.Length)) { var dnsEndPoint = keyValue.Key; @@ -92,6 +93,8 @@ namespace FastGithub.DomainResolve var oldSegmentums = oldAddresses.Take(MAX_IP_COUNT); var newSegmentums = newAddresses.Take(MAX_IP_COUNT); + count++; + this.logger.LogInformation($"{count}- {dnsEndPoint.Host}:{dnsEndPoint.Port}"); if (oldSegmentums.SequenceEqual(newSegmentums) == false) { var addressArray = string.Join(", ", newSegmentums.Select(item => item.ToString())); diff --git a/FastGithub/appsettings/appsettings.me.json b/FastGithub/appsettings/appsettings.me.json new file mode 100644 index 0000000..ad4b109 --- /dev/null +++ b/FastGithub/appsettings/appsettings.me.json @@ -0,0 +1,15 @@ +{ + "FastGithub": { + "DomainConfigs": { + "missav.com": { + "TlsSni": true + }, + "yazhouse8.com": { + "TlsSni": true + }, + "theporndude.com": { + "TlsSni": true + } + } + } + } \ No newline at end of file diff --git a/FastGithub/appsettings/appsettings.unreal.json b/FastGithub/appsettings/appsettings.unreal.json new file mode 100644 index 0000000..a379844 --- /dev/null +++ b/FastGithub/appsettings/appsettings.unreal.json @@ -0,0 +1,9 @@ +{ + "FastGithub": { + "DomainConfigs": { + "unrealengine.org": { + "TlsSni": true + } + } + } +} \ No newline at end of file diff --git a/FastGithub/cacert/fastgithub.cer b/FastGithub/cacert/fastgithub.cer new file mode 100644 index 0000000..ecd4a63 --- /dev/null +++ b/FastGithub/cacert/fastgithub.cer @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDBjCCAe6gAwIBAgIQAMXOy3YN+vV+bjGWxArl7zANBgkqhkiG9w0BAQsFADAV +MRMwEQYDVQQDDApGYXN0R2l0aHViMB4XDTIzMDExMjAwMDAwMFoXDTMzMDExMzAw +MDAwMFowFTETMBEGA1UEAwwKRmFzdEdpdGh1YjCCASIwDQYJKoZIhvcNAQEBBQAD +ggEPADCCAQoCggEBAMSWY8teYuiBNX2dkQhza8RaMciK1bfeCb2/Xn1O02n9rTOn +cxTWuSql94/nr64u0lThOoHM0SKojAhYuookQMfbWJ2acoj3XaMEiOiD56xyB8Dj +oKAa6W2nHRcB3VogQhQ58GugWE7oul74ntYJad4AIjjaYNDhYTIadJqp0wspcBFH +xLjxa4LgHSKzqoEAZikgjwHJmN7HkYF2kv8V7N/i3p3K+kF8goWRGKojXBen6gS8 +mLOQLAXnk8q7+/QDbx1IYR3p3CFpCnGMGtt0o8OnoAIsjcKXAhyXAt+kFR/7CelV +1Zrs+sxbIY1AzPRXYh1KQfC/9Scw5x/YfM1JHxcCAwEAAaNSMFAwEgYDVR0TAQH/ +BAgwBgEB/wIBATALBgNVHQ8EBAMCAYYwFgYDVR0lAQH/BAwwCgYIKwYBBQUHAwEw +FQYDVR0RBA4wDIIKRmFzdEdpdGh1YjANBgkqhkiG9w0BAQsFAAOCAQEAS5lUQu8J +eqydeSmuFsNO5Zk4TCPG2Bkt5LhYyu1EQqKVavpUI8kMHqgjNBWb91cDCcA5nUUy +RXTLS8dxtsJfwpWgj/MsmWmWwiP0Zr/01g4lXW9fg7SESdUKhlU9MOqqLI/mOeTV +w+7Q7hv4QBsxCtCUVhqUyvtpd+ixwePFarvAuu76Ss/EKGB0fz0zpAwvjh1nTImj +zPw2nP3rXEGKp9LSl+RxpBFRsUpOQqWuNCfpCnS3zNa+ntANCGdxztxJtN2rDHYH +15Qej1qnNqKKaTk9lTl3nFk/gWcO+tZwEv8sX1lELpPEuwnC/P+9bBBU6ee9t+d0 +SUAZqw1RRp1Zgw== +-----END CERTIFICATE----- diff --git a/FastGithub/cacert/fastgithub.key b/FastGithub/cacert/fastgithub.key new file mode 100644 index 0000000..2451852 --- /dev/null +++ b/FastGithub/cacert/fastgithub.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAxJZjy15i6IE1fZ2RCHNrxFoxyIrVt94Jvb9efU7Taf2tM6dz +FNa5KqX3j+evri7SVOE6gczRIqiMCFi6iiRAx9tYnZpyiPddowSI6IPnrHIHwOOg +oBrpbacdFwHdWiBCFDnwa6BYTui6Xvie1glp3gAiONpg0OFhMhp0mqnTCylwEUfE +uPFrguAdIrOqgQBmKSCPAcmY3seRgXaS/xXs3+Lencr6QXyChZEYqiNcF6fqBLyY +s5AsBeeTyrv79ANvHUhhHencIWkKcYwa23Sjw6egAiyNwpcCHJcC36QVH/sJ6VXV +muz6zFshjUDM9FdiHUpB8L/1JzDnH9h8zUkfFwIDAQABAoIBAB8ka961rxmCDoU9 +xtH95t6OI0DPrZeZFxX2EPPs3tT1mNCMAFEWyvKUpCkp3MzNIgjMPUZ+ucqxxK01 +0Sc9Iv4GI32kD+zesvi2KTIcY0EQN2Y5KSLz4HK8fIE+jGBQp+coXovONO8bMxsE +a7UgfKLshn9XKOsuKQWU50/xAzvLJ5Sz2yBAIHVsDlIgSdyETnpcFSAndGtYSUZ8 +ZIJevUEAn7VbWLkzwnkIAIHvG1jeBbugWiui4erGLGjbckUpQA1Z5jQshouYzmNE +rzMag+revDO52n00ACBf7Twa5xyYZWHdDqw/ARCco+r73K2hqWDcu2oY1mMNYXq3 +rf4pyjECgYEA6GGmSLMLnadktF0YsofiFEXaCpYFn1OSIePdxbE0IL1jE5MeF2TA +LCSssvdL1kRCUsZUamYBlTf6BVLniBIcoMpxWhBB3q2ydxxV+faXWouEFWGBjwlV +BFHOC/zGrfnR3RlpXNF/y9NG+/NZ3dRNIBRrGaFJqkFIZmD9I2YArysCgYEA2JFp +9W/MPasKe09ty545hJF+2VZlt6/h7bKpvf9XB/YqwS3PzM3tzzuY9HhpauZZivkE +XrtPCBeOAILIGIizVt14AaBzy70DT9E3DdBbHZb1KG2GmCtc+9wLWoEErYkZ4znk +qqmgJN9ka6OsDxgwv7qBczN+XlTTboujW6BlecUCgYBBY2DP6hmlpfmPSvbtHZE/ +FRyyh95TI8fl42F/BErfv4rGckowWPg+M5+oyC89vn1PH2GXgtaFL3gZ0Wc3Aamu +kOhuaE6wov2pyH5k1L9oCgQDpCk5n22dxosNEnaxc69a4JCmPokQSIYb1TD/W4LM +ORKd5qV809vUewwfzs74ewKBgEN6a41x3C2K0aVCRm+fSUSpIOEPLnphbv/lH0Z3 +/OIaLZAregfSUjqz0yC5M/9+7n+Cv33U1vcqf7BhD3+1eEukjfPTzsC4kAOaqJDB +TuKVWqXSGpHnUP2YvmDgulhn040dSMZ0O9XBVUTEpqO9YdMbhaIjdUhnHcnf8HJo +M7YRAoGBAOCu/J306KlxsUbluLCwtM+QGK38ml02IF1Cx//kxsH3TlzyOF3m7tbs +OLt7udPgk0ZcrUcxyU+7DXIJ0d9tOogbDY9ET9v9EFmYJdRI3j5q2W2pzgIObaS/ +pL33l2R6MsN5SaVgRaKgiC5Jt4ES/kRdNfL5ZB5EVMD9ogHfF/K3 +-----END RSA PRIVATE KEY-----