Skip to content
This repository has been archived by the owner on Jul 9, 2023. It is now read-only.

ProxyServer request via another adapter need support for both IpV4 and IpV6 #951

Open
laipg91 opened this issue Feb 10, 2023 · 1 comment

Comments

@laipg91
Copy link

laipg91 commented Feb 10, 2023

I have 2 network adapters, 1 is LAN adapter and 1 is 4G dongle with Hi-Link support. All internet can access both IpV4 and Ipv6. i was tested my dongle IpV6 support via https://v6.ipv6-test.com/ and it's ok

Here is my example code:

`string upStreamIpv4 = "192.168.2.2"; //dongle 4G ipv4
string upStreamIpv6 = "2401:d800:e90:b798:717b:719b:5043:e193";//dongle 4G ipv6

        ProxyServer server = new ProxyServer();
        ExplicitProxyEndPoint httpEndpoint = new ExplicitProxyEndPoint(IPAddress.Any, httpPort, false);
        ExplicitProxyEndPoint httpEndpointV6 = new ExplicitProxyEndPoint(IPAddress.IPv6Any, httpPort, false);
        server.AddEndPoint(httpEndpoint);
        server.AddEndPoint(httpEndpointV6);
        server.UpStreamEndPoint = new IPEndPoint(upStreamIpv4, 0);
        server.Start(false);`

When replace UpStreamEndPoint with IpV4's Endpoint, my server only support Ipv4, and when replace with IpV6's Endpoint, my server support IpV6 only (all website use IpV4 cannot accessed)

How to make my server support both IpV4 and IpV6 in this case ?

@trontronicent
Copy link

trontronicent commented May 21, 2023

What hinders you from creating actually 2 ProxyServers wihin your app? One for Ipv4 and one for IPv6? Thats what makes the library so powerful, you can very efficiently run and handle 100s of different proxy servers within one app barely consuming any resources....


ProxyServer serverIpv4 = new ProxyServer();
ProxyServer serverIpv6 = new ProxyServer();
ExplicitProxyEndPoint httpEndpoint = new ExplicitProxyEndPoint(IPAddress.Any, httpPort, false);
ExplicitProxyEndPoint httpEndpointV6 = new ExplicitProxyEndPoint(IPAddress.IPv6Any, httpPort, false);
serverIpv4.AddEndPoint(httpEndpoint);
serverIpv6.AddEndPoint(httpEndpointV6);
serverIpv4.UpStreamEndPoint = new IPEndPoint(upStreamIpv4, 0);
serverIpv4.Start(false);
serverIpv6.Start(false);

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants