Snawoot / hola-proxy

Standalone Hola proxy client
MIT License
495 stars 43 forks source link

Temporary ban bypass doesn't work #38

Closed Denniso2 closed 3 years ago

Denniso2 commented 3 years ago

After getting temporarily banned from hola which the scripts detects the new proxy doesn't work.


MAIN    : 2021/03/17 08:30:35 main.go:110: INFO     Constructing fallback DNS upstream...
MAIN    : 2021/03/17 08:30:35 main.go:116: INFO     Initializing configuration provider...
CRED    : 2021/03/17 08:30:35 credservice.go:30: ERROR    Configuration bootstrap error: temporary ban detected. Retrying with the fallback mechanism...
MAIN    : 2021/03/17 08:30:38 main.go:129: INFO     Endpoint: https://zagent590.hola.org:22225
MAIN    : 2021/03/17 08:30:38 main.go:130: INFO     Starting proxy server...
MAIN    : 2021/03/17 08:30:38 main.go:132: INFO     Init complete.
PROXY   : 2021/03/17 08:30:45 handler.go:56: INFO     Request: 127.0.0.1:49393 CONNECT //accounts.google.com:443
PROXY   : 2021/03/17 08:30:45 handler.go:56: INFO     Request: 127.0.0.1:56578 CONNECT //www.google.com:443
PROXY   : 2021/03/17 08:30:45 handler.go:56: INFO     Request: 127.0.0.1:65287 CONNECT //www.google.com:443
PROXY   : 2021/03/17 08:30:45 handler.go:56: INFO     Request: 127.0.0.1:50240 CONNECT //www.google.com:443
PROXY   : 2021/03/17 08:30:48 handler.go:56: INFO     Request: 127.0.0.1:59128 CONNECT //accounts.google.com:443
PROXY   : 2021/03/17 08:30:55 handler.go:56: INFO     Request: 127.0.0.1:59325 GET http://login.aliexpress.com/
PROXY   : 2021/03/17 08:30:55 handler.go:56: INFO     Request: 127.0.0.1:51307 CONNECT //update.googleapis.com:443
PROXY   : 2021/03/17 08:31:04 handler.go:56: INFO     Request: 127.0.0.1:57091 CONNECT //ssl.gstatic.com:443
PROXY   : 2021/03/17 08:31:09 handler.go:68: ERROR    Can't dial upstream: dial tcp 161.35.52.15:22225: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
PROXY   : 2021/03/17 08:31:11 handler.go:56: INFO     Request: 127.0.0.1:61026 CONNECT //accounts.google.com:443
PROXY   : 2021/03/17 08:31:16 handler.go:68: ERROR    Can't dial upstream: dial tcp 161.35.52.15:22225: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
PROXY   : 2021/03/17 08:31:16 handler.go:173: ERROR    HTTP fetch error: proxyconnect tcp: dial tcp 161.35.52.15:22225: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
PROXY   : 2021/03/17 08:31:17 handler.go:56: INFO     Request: 127.0.0.1:59325 GET http://login.aliexpress.com/favicon.ico
PROXY   : 2021/03/17 08:31:25 handler.go:68: ERROR    Can't dial upstream: dial tcp 161.35.52.15:22225: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
PROXY   : 2021/03/17 08:31:32 handler.go:68: ERROR    Can't dial upstream: dial tcp 161.35.52.15:22225: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
PROXY   : 2021/03/17 08:31:38 handler.go:173: ERROR    HTTP fetch error: proxyconnect tcp: dial tcp 161.35.52.15:22225: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
PROXY   : 2021/03/17 08:31:41 handler.go:56: INFO     Request: 127.0.0.1:56578 CONNECT //accounts.google.com:443
PROXY   : 2021/03/17 08:32:02 handler.go:68: ERROR    Can't dial upstream: dial tcp 161.35.52.15:22225: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
PROXY   : 2021/03/17 08:32:27 handler.go:56: INFO     Request: 127.0.0.1:57580 CONNECT //accounts.google.com:443
PROXY   : 2021/03/17 08:32:48 handler.go:68: ERROR    Can't dial upstream: dial tcp 161.35.52.15:22225: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
rany2 commented 3 years ago

@Snawoot Does hola-proxy connect to endpoint via fallback hola proxy?

Snawoot commented 3 years ago

@rany2 No, it doesn't

Snawoot commented 3 years ago

@Denniso2 not sure if it has something to do with temporary ban.

dial upstream: dial tcp 161.35.52.15:22225: connectex: error looks more like network timeout.

rany2 commented 3 years ago

@Snawoot yes i can confirm, it doesn't block via firewall if temporary ban. Seems like an issue on their end...

tested by doing torsocks -u $RANDOM -p $RANDOM curl https://zagent868.hola.org:22225 -v a couple times and it always succeeded

Snawoot commented 3 years ago

@Denniso2 by the way, what operating system do you use? Windows?

Snawoot commented 3 years ago

@rany2 Thanks, good to know!

Denniso2 commented 3 years ago

@Snawoot I am running windows and it is indeed a problem with a hola ban.When I changed my routers ip adress everything was working correctly.I was only getting timeouts on that ip adress.I have been banned before so this was similar but its the first time I was banned with the updated version.If it happens again I will provide more detailed logs.

rany2 commented 3 years ago

Please do because what you're reporting is certainly weird. I can't get it to happen on my end.

The good part is that you were getting proxy credentials. Could it be that a few of Hola's server went down?

Denniso2 commented 3 years ago

I am not able to reproduce the problem.Should I close the issue and reopen if it happens again?

Snawoot commented 3 years ago

Yep!

Denniso2 commented 3 years ago

I was able to recreate the problem.What logs should I provide?

Snawoot commented 3 years ago

What logs should I provide?

All available

Denniso2 commented 3 years ago

(c) 2020 Microsoft Corporation. All rights reserved.

C:\Users\denni>proxy.exe -verbosity 10
MAIN    : 2021/03/19 11:11:41 main.go:109: INFO     hola-proxy client version v1.4.5 is starting...
MAIN    : 2021/03/19 11:11:41 main.go:110: INFO     Constructing fallback DNS upstream...
MAIN    : 2021/03/19 11:11:41 main.go:116: INFO     Initializing configuration provider...
CRED    : 2021/03/19 11:11:41 credservice.go:30: ERROR    Configuration bootstrap error: temporary ban detected. Retrying with the fallback mechanism...
MAIN    : 2021/03/19 11:11:45 main.go:129: INFO     Endpoint: https://zagent652.hola.org:22225
MAIN    : 2021/03/19 11:11:45 main.go:130: INFO     Starting proxy server...
MAIN    : 2021/03/19 11:11:45 main.go:132: INFO     Init complete.
PROXY   : 2021/03/19 11:11:55 handler.go:56: INFO     Request: 127.0.0.1:57105 CONNECT //www.google.com:443
PROXY   : 2021/03/19 11:11:55 handler.go:56: INFO     Request: 127.0.0.1:65058 CONNECT //www.google.com:443
PROXY   : 2021/03/19 11:11:55 handler.go:56: INFO     Request: 127.0.0.1:63976 CONNECT //accounts.google.com:443
PROXY   : 2021/03/19 11:11:56 handler.go:56: INFO     Request: 127.0.0.1:50203 CONNECT //www.google.com:443
PROXY   : 2021/03/19 11:11:56 handler.go:56: INFO     Request: 127.0.0.1:54438 CONNECT //www.google.com:443
PROXY   : 2021/03/19 11:11:57 handler.go:56: INFO     Request: 127.0.0.1:57907 CONNECT //accounts.google.com:443
PROXY   : 2021/03/19 11:12:00 handler.go:56: INFO     Request: 127.0.0.1:54440 CONNECT //update.googleapis.com:443
PROXY   : 2021/03/19 11:12:06 handler.go:56: INFO     Request: 127.0.0.1:53509 CONNECT //www.google.com:443
PROXY   : 2021/03/19 11:12:07 handler.go:56: INFO     Request: 127.0.0.1:58582 CONNECT //www.google.com:443
PROXY   : 2021/03/19 11:12:08 handler.go:91: ERROR    Can't read response from upstream: unexpected EOF
PROXY   : 2021/03/19 11:12:08 handler.go:56: INFO     Request: 127.0.0.1:51609 CONNECT //www.google.com:443
PROXY   : 2021/03/19 11:12:08 handler.go:91: ERROR    Can't read response from upstream: unexpected EOF
PROXY   : 2021/03/19 11:12:08 handler.go:56: INFO     Request: 127.0.0.1:62849 CONNECT //www.google.com:443
PROXY   : 2021/03/19 11:12:09 handler.go:56: INFO     Request: 127.0.0.1:58334 CONNECT //www.google.com:443
PROXY   : 2021/03/19 11:12:09 handler.go:56: INFO     Request: 127.0.0.1:59282 CONNECT //www.google.com:443
PROXY   : 2021/03/19 11:12:11 handler.go:56: INFO     Request: 127.0.0.1:59583 GET http://google.com/
PROXY   : 2021/03/19 11:12:18 handler.go:68: ERROR    Can't dial upstream: dial tcp 161.35.50.91:22225: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
PROXY   : 2021/03/19 11:12:21 handler.go:56: INFO     Request: 127.0.0.1:55603 CONNECT //accounts.google.com:443
PROXY   : 2021/03/19 11:12:21 handler.go:68: ERROR    Can't dial upstream: dial tcp 161.35.50.91:22225: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
PROXY   : 2021/03/19 11:12:27 handler.go:68: ERROR    Can't dial upstream: dial tcp 161.35.50.91:22225: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
PROXY   : 2021/03/19 11:12:28 handler.go:68: ERROR    Can't dial upstream: dial tcp 161.35.50.91:22225: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
PROXY   : 2021/03/19 11:12:29 handler.go:68: ERROR    Can't dial upstream: dial tcp 161.35.50.91:22225: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
PROXY   : 2021/03/19 11:12:29 handler.go:68: ERROR    Can't dial upstream: dial tcp 161.35.50.91:22225: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
PROXY   : 2021/03/19 11:12:30 handler.go:68: ERROR    Can't dial upstream: dial tcp 161.35.50.91:22225: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
PROXY   : 2021/03/19 11:12:30 handler.go:68: ERROR    Can't dial upstream: dial tcp 161.35.50.91:22225: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
PROXY   : 2021/03/19 11:12:32 handler.go:173: ERROR    HTTP fetch error: proxyconnect tcp: dial tcp 161.35.50.91:22225: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
PROXY   : 2021/03/19 11:12:32 handler.go:56: INFO     Request: 127.0.0.1:59583 GET http://google.com/favicon.ico
Denniso2 commented 3 years ago

@Snawoot If I can do tests or provide anything more let me know.

Snawoot commented 3 years ago

@Denniso2 Thanks!

Looks like sometimes they can filter you with firewall.

What kind of activity from your side was taking place before such ban? Did it happened suddenly or you were hitting many proxy instances from single PC?

Are you able to connect to 161.35.50.91:22225 from your IP address? You can test it with a telnet or something. Will you be able to connect to same address if you'll reload your router to get new IP address?

When such happens, does hola-proxy restart has any effect?

Denniso2 commented 3 years ago

@Snawoot I got this ban by running many proxy instances at the same time.The previous time I was not running many instances but I was restarting the instance a lot.Connecting to 161.35.50.91:22225 fails on telnet but I can connect just fine by changing my ip adress.Hola-proxy restart has no effect only chaning my ip adress.It seems to be an ip ban.

rany2 commented 3 years ago

@Snawoot I got myself banned by intentionally getting rate limited and:

$ hola-proxy
MAIN    : 2021/03/19 12:03:03 main.go:109: INFO     hola-proxy client version v1.4.3-26-g55788d8 is starting...
MAIN    : 2021/03/19 12:03:03 main.go:110: INFO     Constructing fallback DNS upstream...
MAIN    : 2021/03/19 12:03:03 main.go:116: INFO     Initializing configuration provider...
CRED    : 2021/03/19 12:03:04 credservice.go:30: ERROR    Configuration bootstrap error: temporary ban detected. Retrying with the fallback mechanism...
MAIN    : 2021/03/19 12:03:06 main.go:129: INFO     Endpoint: https://zagent688.hola.org:22225
MAIN    : 2021/03/19 12:03:06 main.go:130: INFO     Starting proxy server...
MAIN    : 2021/03/19 12:03:06 main.go:132: INFO     Init complete.
rany2 commented 3 years ago

I'll report if I get @Denniso2 's errors

rany2 commented 3 years ago

@Snawoot I got this ban by running many proxy instances at the same time.The previous time I was not running many instances but I was restarting the instance a lot.Connecting to 161.35.50.91:22225 fails on telnet but I can connect just fine by changing my ip adress.Hola-proxy restart has no effect only chaning my ip adress.It seems to be an ip ban.

How many proxy instances? "many" is subjective

Denniso2 commented 3 years ago

@rany2 I was running 10 in order to reproduce the ban.I got banned before with running 3.

rany2 commented 3 years ago

@Denniso2 I'm running 10 and so far no IP ban like yours. I'll keep you all posted! Thanks

Denniso2 commented 3 years ago

@rany2 I seem to be able to reproduce the ban very easily.Maybe it is country dependant,website dependant or has to do something with my ip range?I can do any necessary tests you want and provide logs.

rany2 commented 3 years ago

Honestly the only solution would be to do a proxychain-like thing by making endpoint connect via fallback hola proxy. I can't get it to
firewall block me

On 3/20/21 3:28 AM, Denniso2 wrote:

@rany2 https://github.com/rany2 I seem to be able to reproduce the ban very easily.Maybe it is country dependant,website dependant or has to do something with my ip range?I can do any necessary tests you want and provide logs.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Snawoot/hola-proxy/issues/38#issuecomment-803216670, or unsubscribe https://github.com/notifications/unsubscribe-auth/AQ6I4DNRI6RSJIBWCVADYV3TEP25NANCNFSM4ZJ66NSA.

Snawoot commented 3 years ago

Closing issue because we can't have influence on it. However, it can be workarounded with use of chained proxy (-proxy option, introduced in v1.5.0 via #42 )