-
Notifications
You must be signed in to change notification settings - Fork 50
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
maybe cloudflare change there code again #28
Comments
they change
to
|
Would be awesome if you could push an Update like you did last week when you got it working :) |
Do you know what exactly needs to be changed in the code? |
I know some change but my regular expression is not good xd |
Same for me. xD |
Someone has the old HTML challenge to compare with the new one? |
anyone can share regex? :) |
i change this |
i found the problem xd : they add new operator |
Cloudflare decide to block all of scraper and ddos attack :( |
already fix new update Cloudflare but i use third party dependency so you can use it as temporary. |
is it working now? |
thank u sir! cool |
hey @longcharmroeun can u update solution on ur github too? Thanks. |
sure xd |
@longcharmroeun Thank you for the HTML. I was working in a different solution but using Jint too. Take a look, I think this approach will survive most Cloudflare changes. Only the form fields are hardcoded and those are unlikely to change because that implies changes in his servers/backend. Code and package => #29 |
could u update in your repos? |
Is in branch v1.0.7 I want to keep master aligned with this project by now. https://github.com/ngosang/CloudflareSolverRe/tree/feature/v1.0.7 |
@ngosang you should try another ways without using third party dependency xd. |
I think using Jint is correct. It doesn't make much sense to maintain our own Javascript interpreter. It is a very small dependency (compiled it takes less than 100KB) and it is very popular. I have made this development for the Jackett project and I share it with the rest. If someone has a better solution I would like to hear it. |
@ngosang |
Another change (May 3rd) => challenge page returns with a 200 (OK) status code and not a 503 one... thus CloudflareSolverRe let it pass without trying anything. And by the way, @ngosang I agree with your approach about Jint |
@Eric898989 Could you share the url that is not working? |
It was https://wvv.zone-annuaire.com/, but today the page is again providing a 403 status code. |
Captcha. I have the same problems with my service. |
I just noticed that the 200 status code is still given in case you have already a cf_clearance cookie, but for whatever reasons the website or cloudflare ask you again a hcaptcha! in this specific case the app is not detecting that a new clearance is required in spite of the cf_clearance cookie. Maybe we should also include in the CloudflareDetector.IsClearanceRequired this case, in checking if standard sentence"Please complete the security check to access" or "Attention Required! | Cloudflare" are present or not in the body response. |
The most weird is that even if you just managed to get a cf_clearance cookie thanks to the chrome privacypass extension for example, it will still ask you a hcaptcha on your next request! What is the point of a cf_clearance cookie... |
@Eric898989 you can try this https://www.nuget.org/packages/TemporaryWebclient/1.0.0 It the same as the old one |
i think we should find new solution to resolve uam. i tried to load uam page on WebBrowser control and export cookie. change user agent to chrome but it show me captcha after uam. in fiddler, user agent is working. anyone know how to solve this problem? |
@Eric898989 HCaptcha solving support is live on my fork by the way https://github.com/openbullet/CloudflareSolverRe |
@openbullet are you going to keep the fork updated? |
@ngosang In the foreseeable future yeah. My application entirely depends on it and I need it working so if you want to help out when CF changes its js you can submit a PR to my fork and I'll merge it. I already merged your last changes as they were good, so thank you for that. |
@openbullet |
@openbullet thank you for fixing it! I ran sample in your fork and while |
Update in #29 |
`var target = new Uri("https://kissasian.sh/");
Unhandled exception. System.AggregateException: One or more errors occurred. (Input string was not in a correct format.)
(String[] args)---> System.FormatException: Input string was not in a correct format.
at System.Number.ThrowOverflowOrFormatException(ParsingStatus status, TypeCode type)
at System.Double.Parse(String s)
at CloudflareSolverRe.Types.Javascript.JsFuck.DecodeNumber(String encodedNumber)
at CloudflareSolverRe.Types.Javascript.JsCalculation.Solve()
at CloudflareSolverRe.Types.Javascript.JsCalculation.get_Result()
at CloudflareSolverRe.Types.Javascript.JsChallenge.ApplyCalculation(Double number, IJsCalculation calculation)
at System.Linq.Enumerable.Aggregate[TSource,TAccumulate](IEnumerable
1 source, TAccumulate seed, Func
3 func)at CloudflareSolverRe.Types.Javascript.JsChallenge.Solve()
at CloudflareSolverRe.Solvers.JsChallengeSolver.SolveChallenge(String html)
at CloudflareSolverRe.Solvers.JsChallengeSolver.Solve()
at CloudflareSolverRe.CloudflareSolver.SolveJavascriptChallenge(Nullable
1 jsDetectResult) at CloudflareSolverRe.CloudflareSolver.SolveWithJavascript(Int32 tries) at CloudflareSolverRe.CloudflareSolver.Solve() at CloudflareSolverRe.CloudflareSolver.Solve(HttpClient httpClient, CloudflareHandler cloudflareHandler, Uri siteUrl, CancellationToken cancellationToken) at CloudflareSolverRe.CloudflareSolver.<>c__DisplayClass30_0.<<Solve>b__0>d.MoveNext() --- End of stack trace from previous location where exception was thrown --- at CloudflareSolverRe.Utilities.SemaphoreLocker.LockAsync[T](Func
1 worker)at CloudflareSolverRe.CloudflareSolver.Solve(HttpClient httpClient, HttpClientHandler httpClientHandler, Uri siteUrl, CancellationToken cancellationToken, Boolean randomUserAgent)
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task
1.GetResultCore(Boolean waitCompletionNotification) at System.Threading.Tasks.Task
1.get_Result()at KissAsianData.Program.Main(String[] args) in C:\Users\Long charmroeun\source\repos\kisscambodia\KissAsianData\Program.cs:line 287
at KissAsianData.Program.
C:\Users\Long charmroeun\source\repos\kisscambodia\KissAsianData>
The text was updated successfully, but these errors were encountered: