示例#1
0
文件: Tor.cs 项目: injekt666/Tor4NET
        public Tor(string torDirectory, bool x86 = true, string torControlPassword = null)
        {
            versionRegex = new Regex(@"Tor version (?<version>\S+)", RegexOptions.Compiled);

            var httpHandler = new HttpClientHandler
            {
                AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate,
                SslProtocols           = SslProtocols.Tls11 | SslProtocols.Tls12,
                AllowAutoRedirect      = false,
            };

            var httpClient = new HttpClient(httpHandler);

            httpClient.DefaultRequestHeaders.UserAgent.ParseAdd("Tor4NET (+https://github.com/Zaczerp/Tor4NET)");
            httpClient.DefaultRequestHeaders.Connection.Clear();
            httpClient.DefaultRequestHeaders.ConnectionClose = false;
            httpClient.DefaultRequestHeaders.Connection.Add("Keep-Alive");

            torUpdater = new TorUpdater(httpClient, x86);

            this.torDirectory = torDirectory;
            torExecutable     = $@"{this.torDirectory}\Tor\tor.exe";

            if (!string.IsNullOrEmpty(torControlPassword))
            {
                controlPassword = torControlPassword;
            }
        }
示例#2
0
        public Tor(string torDirectory, bool?x86 = null, int socksPort = 9450, int controlPort = 9451, string controlPassword = "")
        {
            if (!x86.HasValue)
            {
                x86 = !Environment.Is64BitProcess;
            }

            var httpHandler = new HttpClientHandler
            {
                AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate,
                SslProtocols           = SslProtocols.Tls11 | SslProtocols.Tls12,
                AllowAutoRedirect      = false,
            };

            var httpClient = new HttpClient(httpHandler);

            httpClient.DefaultRequestHeaders.UserAgent.ParseAdd("Tor4NET (+https://github.com/Zaczero/Tor4NET)");

            torUpdater = new TorUpdater(httpClient, x86.Value);

            this.torDirectory = torDirectory;
            torExecutable     = $@"{this.torDirectory}\Tor\tor.exe";

            this.socksPort       = socksPort;
            this.controlPort     = controlPort;
            this.controlPassword = controlPassword;
        }