pufferffish / wireproxy

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

DNS leakage #1

Closed MuratovAS closed 2 years ago

MuratovAS commented 2 years ago

I wanted to use your application as Socks5 Proxy on your server. Carefully packed in Docker container. Detected such effects:

pufferffish commented 2 years ago

There are no options to specify as the SOCKS5 0.0.0.0 server address, thereby make the server with the weights of network cards

Can you elaborate on this? You can set the socks5 server address to 0.0.0.0 via something like


[Socks5]
BindAddress = 0.0.0.0:25344
MuratovAS commented 2 years ago

I rechecked. In case of such a parameter

[Socks5]
BindAddress = 0.0.0.0:25344

i got an error:

panic: listen tcp 0.0.0.0:25344: bind: address already in use
goroutine 52 [running]:
log.Panic({0x40001affb8, 0x1, 0x1})
    /usr/local/go/src/log/log.go:354 +0x98
main.socks5Routine.func1(0x400006e140)
    /go/wireproxy/main.go:216 +0x15c
created by main.main
    /go/wireproxy/main.go:391 +0x234

Apparently this is a feature of docker. In the case below, everything is fine.

[Socks5]
BindAddress = 0.0.0.0:2534

P.S. Can I PR with Dockerfile to your repository? When I'm done with it.

pufferffish commented 2 years ago

Yeah sure, I'm open to all PRs. I'll fix the DNS leakage as soon as I have time. I think what's happening is that some other program is occupying the port 25344, maybe another instance of wireproxy? Then again I'm not familiar with docker so I wouldn't know.

pufferffish commented 2 years ago

I've pushed a commit that would fix dns leakage in the branch dnsleak. Can you test it and see if it fixes the problem?