【问题标题】:C# combining GeckoFX + Tor.NET librariesC# 结合 GeckoFX + Tor.NET 库
【发布时间】:2016-12-29 09:58:43
【问题描述】:

我正在尝试将 GeckoFx 库和 Tor.NET 库结合起来。

在我的代码中我都在准备使用tor网络,

ClientCreateParams createParameters = new ClientCreateParams();
createParameters.ConfigurationFile = ConfigurationManager.AppSettings["torConfigurationFile"];
createParameters.ControlPassword = ConfigurationManager.AppSettings["torControlPassword"];
createParameters.ControlPort = Convert.ToInt32(ConfigurationManager.AppSettings["torControlPort"]);
createParameters.DefaultConfigurationFile = ConfigurationManager.AppSettings["torDefaultConfigurationFile"];
createParameters.Path = Path.Combine(root, ConfigurationManager.AppSettings["torPath"]);

createParameters.SetConfig(ConfigurationNames.AvoidDiskWrites, true);
createParameters.SetConfig(ConfigurationNames.GeoIPFile, Path.Combine(root, @"Tor\Data\Tor\geoip"));
createParameters.SetConfig(ConfigurationNames.GeoIPv6File, Path.Combine(root, @"Tor\Data\Tor\geoip6"));

client = Client.Create(createParameters);


  <appSettings>
    <add key="torConfigurationFile" value=""/>
    <add key="torControlPassword" value=""/>
    <add key="torControlPort" value="9051"/>
    <add key="torDefaultConfigurationFile" value=""/>
    <add key="torPath" value="Tor\Tor\tor.exe"/>
 </appSettings>

WebBrowser1 是一个简单的浏览器,它适用于 Tor 设置。 但是浏览器是GeckoFx,它不工作。

webBrowser1.Navigate("https://duckduckgo.com/?q=my+ip&t=h_&ia=answer");
browser.Navigate("https://duckduckgo.com/?q=my+ip&t=h_&ia=answer");

如您所见,ip 应与左侧控件相同。 您可以从here 下载和测试完整的项目。它是 WinForms 项目,只是从解决方案中运行“Gecko”项目。 知道如何设置 GeckoFx 使用 Tor 网络吗? 或者我可能需要以某种方式设置 GeckoFx 以使用代理?

        //GeckoPreferences.User["network.proxy.type"] = 1;
        //GeckoPreferences.User["network.proxy.socks"] = "127.0.0.1";
        //GeckoPreferences.User["network.proxy.socks_port"] = 9150;
        //GeckoPreferences.User["network.proxy.socks_version"] = 5;
        //GeckoPreferences.User["network.proxy.socks_remote_dns"] = true;

VisualStudio 2015。 谢谢。

【问题讨论】:

    标签: c# .net proxy tor geckofx


    【解决方案1】:

    在初始化浏览器之前,您是否在代码中设置了Firefox Preferences

    试试:

    GeckoPreferences.Default["network.proxy.type"] = 1;
    GeckoPreferences.Default["network.proxy.socks = "127.0.0.1"
    GeckoPreferences.Default["network.proxy.socks_port"] = 9050
    GeckoPreferences.Default["network.proxy.socks_remote_dns"] = 1
    GeckoPreferences.Default["network.proxy.socks_version"] = 5
    

    network.proxy.type 值 1 相当于“手动代理配置”设置。

    以下设置将 SOCKS 代理设置配置为使用位于 127.0.0.1:9050 的 Tor,并通过 SOCKS (Tor) 进行 DNS 解析。

    这似乎应该正确配置 GeckoFX 以使用 Tor。

    【讨论】:

      【解决方案2】:

      Tor 网络不是为即时 HTTP 代理通信而设计的。相反,TOR.NET 实现了 Web 代理,默认情况下侦听端口 8182 上的连接。

      您也可以使用

      分配另一个端口

      client.Proxy.Port = 8042;

      请记住,如果您更改代理端口,TOR.NET 会关闭现有的 http 侦听器,并创建一个新的。

      因此,您需要配置 Gecko,以在 localhost 上使用此 Web 代理。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-10-02
        • 1970-01-01
        • 1970-01-01
        • 2014-10-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多