C# 组合 GeckoFX + Tor.NET 库
C# combining GeckoFX + Tor.NET libraries
我正在尝试结合 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。
谢谢。
Tor 网络不是为即时 HTTP 代理通信而设计的。相反,TOR.NET 实施 Web 代理,默认情况下侦听端口 8182 上的连接。
您也可以使用
分配另一个端口
client.Proxy.Port = 8042;
请记住,如果您更改代理端口,TOR.NET 会关闭现有的 http 侦听器,并创建一个新的。
因此,您需要配置 Gecko,才能在本地主机上使用此 Web 代理。
在初始化浏览器之前,您是否在代码中设置了任何 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相当于"Manual Proxy Configuration"设置。
以下设置将 SOCKS 代理设置配置为在 127.0.0.1:9050 使用 Tor,通过 SOCKS (Tor) 进行 DNS 解析。
这似乎应该正确配置 GeckoFX 以使用 Tor。
我正在尝试结合 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");
//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。 谢谢。
Tor 网络不是为即时 HTTP 代理通信而设计的。相反,TOR.NET 实施 Web 代理,默认情况下侦听端口 8182 上的连接。
您也可以使用
分配另一个端口client.Proxy.Port = 8042;
请记住,如果您更改代理端口,TOR.NET 会关闭现有的 http 侦听器,并创建一个新的。
因此,您需要配置 Gecko,才能在本地主机上使用此 Web 代理。
在初始化浏览器之前,您是否在代码中设置了任何 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相当于"Manual Proxy Configuration"设置。
以下设置将 SOCKS 代理设置配置为在 127.0.0.1:9050 使用 Tor,通过 SOCKS (Tor) 进行 DNS 解析。
这似乎应该正确配置 GeckoFX 以使用 Tor。