pufferffish / wireproxy

Wireguard client that exposes itself as a socks5 proxy
ISC License
4.11k stars 235 forks source link

Slow single connection speed #55

Open kdurov opened 1 year ago

kdurov commented 1 year ago

Hello.

I've been using wireproxy to convert wireguard VPN to socks proxy for geo restricted websites for few days and I truly appreciate all your hard work.

As I used it to open foreign streaming sites, I've notice that the video quality is downgraded but using wireguard conf to set up a new interface doesn't seem to have this issue. So I did some speed tests with curl curl -x socks5://localhost:1080 -O https://nyc.speedtest.clouvider.net/10g.bin > /dev/null and the speed is indeed much slower. The speed is capped at around 3200k (byte/s)

However, if I set this socks proxy on my browser and test on speedtest.net (multiple thread), it does nearly saturate my local port speed so it looks like single connection is the problem.

Can you reproduce this issue on your end? What's the bottleneck here and is there a fix to this issue?

Thanks in advance.

deixl commented 1 year ago

I don’t know what the speed was in the past. I have only used wireproxy for a few days and found that the speed of YouTube is similar to the 3200k you said

kubrickfr commented 9 months ago

Yes, this is a duplicate of #30 TCP on long distances has a low Bandwidth Delay Product, which would severly limit your available bandwidth on a single connection. UDP/QUIC (used by HTTP3) also suffers from that to some extent but has much better congestion avoidance, but can't work because of the lack of support for UDP proxying in wireproxy.