Snawoot/hola-proxy

TCP proto

Closed this issue · 17 comments

Hello, please consider adding TCP connection proto in your program. I cant use UDP over here, only TCP is available. :( Thanks in adnvace!

Hi! hola-proxy doesn't do anything with UDP connections. It's already TCP-only HTTP proxy.

HOLa
and I get bunch of

main.go:192: CRITICAL Can't detect latest API version. Try to spec

version=113.0&x=id%3Dgkojfkhlekighikafcpjkiklfbnlmeio%26uc%3D": context deadline exceeded

that's for DNS queries, not for connections. regarding that error -- follow the instructions and specify latest extension version manually and it's gonna be fine.

that's for DNS queries, not for connections. regarding that error -- follow the instructions and specify latest extension version manually and it's gonna be fine.

HOLa2

Already tried, also got failed context deadline exceeded errors

MAIN : 2024/08/29 main.go:204: INFO hola-proxy client version v1.13.3 is starting...
MAIN : 2024/08/29 main.go:205: INFO Constructing fallback DNS upstream...
MAIN : 2024/08/29 main.go:212: INFO Initializing configuration provider...
CRED : 2024/08/29 credservice.go:33: ERROR Configuration bootstrap error: Post "https://client.hola.org/client_cgi/background_init?uuid=": context deadline exceeded. Retrying with the fallback mechanism...
CRED : 2024/08/29 credservice.go:39: CRITICAL Transaction recovery mechanism failure: Get "https://www.dropbox.com/s/jemizcvpmf2qb9v/cloud_failover.conf?dl=1": context deadline exceeded
MAIN : 2024/08/29 main.go:216: CRITICAL Unable to instantiate credential service: Get "https://www.dropbox.com/s/jemizcvpmf2qb9v/cloud_failover.conf?dl=1": context deadline exceeded

If dropbox is not working in your country and that URL can't be loaded, it won't work anyway.

If dropbox is not working in your country and that URL can't be loaded, it won't work anyway.

I can download cloud_failover.conf. As I meantion earlier Im behind tcp- VPN so only TCP connections outside is available

Okay, in that case if your "tcp VPN" has a proxy mode, use this mode and connect hola-proxy to your VPN-proxy as an upstream proxy with option -proxy http://127.0.0.1:PROXY_PORT. E.g. if you use shadowsocks or something like that and it has a proxy port which it is listening, specify it as a -proxy argument for hola-proxy. The second option is to use some kind of DNS proxy to use DoT or DoH DNS upsteam to make DNS requests work on your system.

Okay, in that case if your "tcp VPN" has a proxy mode, use this mode and connect hola-proxy to your VPN-proxy as an upstream proxy with option -proxy http://127.0.0.1:PROXY_PORT. E.g. if you use shadowsocks or something like that and it has a proxy port which it is listening, specify it as a -proxy argument for hola-proxy. The second option is to use some kind of DNS proxy to use DoT or DoH DNS upsteam to make DNS requests work on your system.

I'm use openvpn. I must enter local 10...** address from TAP-interface?

If you're using openvpn in TCP mode that means it should forward all kinds of traffic, including UDP. It is just tunneled inside TCP connection, regarless of payload carried. I have no idea why dropbox URL works in your browser, but doesn't work from golang application, so can't help you with that.

I have no idea why dropbox URL works in your browser

because browsers uses TCP if they failed newer UDP connection protos, like QUIC, QUIRK etc

I have no idea why dropbox URL works in your browser

because browsers uses TCP if they failed newer UDP connection protos, like QUIC, QUIRK etc

You're not paying attention to what I said above.

I have no idea why dropbox URL works in your browser

because browsers uses TCP if they failed newer UDP connection protos, like QUIC, QUIRK etc

You're not paying attention to what I said above.

I paid attention . TCP-openvpn is never worked for me for UDP packets for years. Thats why I reply like this. Twilio test is also failed https://networktest.twilio.com/ (which uses udp)

How DNS name resolution works for you then?

via dhcp-option DNS 10.0.0.1,topology subnet, TCP_NODELAY from Openvpn PUSH: Received control message: 'PUSH_REPLY

Your title doesn't match your question; your OpenVPN tunnel is already using TCP, but the tunnelled data itself is outside OpenVPN's control and even outside your control.

If the game has been written to use UDP, it will use UDP, and more importantly, the game servers expect clients to be using UDP. So if you convert the packets to TCP before they leave the VPN server, the game servers won't know what to do with them.

Your only option in general is to block UDP entirely. If the game supports TCP as an alternative, it'll have no choice but to use it. If the game requires UDP, it won't work at all.

https://superuser.com/a/1464235

and some read up https://superuser.com/questions/1355477/getting-a-udp-only-vpn-to-work-over-tcp#comment2034191_1355477

https://stackoverflow.com/questions/74487955/golang-tcp-connection-works-but-udp-does-not

Why did you brought it here? How's that related?

https://pkg.go.dev/github.com/justlovediaodiao/udp-over-tcp#section-readme

Same question. That's a library wrapping one kind of traffic into another and requires a server to unwrap it on the other side. It's not clear if such wrapping is needed in the first place.

https://superuser.com/a/1464235

and some read up https://superuser.com/questions/1355477/getting-a-udp-only-vpn-to-work-over-tcp#comment2034191_1355477

what you are trying to say with all these links?