{"id":13988502,"url":"https://github.com/FlareSolverr/FlareSolverrSharp","last_synced_at":"2025-07-22T09:31:01.958Z","repository":{"id":39855956,"uuid":"273951785","full_name":"FlareSolverr/FlareSolverrSharp","owner":"FlareSolverr","description":"FlareSolverr .Net / Proxy server to bypass Cloudflare protection","archived":false,"fork":false,"pushed_at":"2024-03-19T14:08:23.000Z","size":69,"stargazers_count":216,"open_issues_count":10,"forks_count":36,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-05-20T03:09:45.104Z","etag":null,"topics":["api","chrome","chromium","cloudflare","csharp","netcore","proxy","puppeteer"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FlareSolverr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-06-21T17:24:01.000Z","updated_at":"2025-05-18T14:57:51.000Z","dependencies_parsed_at":"2024-03-19T15:01:37.103Z","dependency_job_id":"f2c3d71a-9934-4927-b6e7-cd3929087ec4","html_url":"https://github.com/FlareSolverr/FlareSolverrSharp","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/FlareSolverr/FlareSolverrSharp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FlareSolverr%2FFlareSolverrSharp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FlareSolverr%2FFlareSolverrSharp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FlareSolverr%2FFlareSolverrSharp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FlareSolverr%2FFlareSolverrSharp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FlareSolverr","download_url":"https://codeload.github.com/FlareSolverr/FlareSolverrSharp/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FlareSolverr%2FFlareSolverrSharp/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266465041,"owners_count":23933048,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","chrome","chromium","cloudflare","csharp","netcore","proxy","puppeteer"],"created_at":"2024-08-09T13:01:08.922Z","updated_at":"2025-07-22T09:31:01.627Z","avatar_url":"https://github.com/FlareSolverr.png","language":"C#","funding_links":["https://www.paypal.com/paypalme/diegoheras0xff"],"categories":["C#","C\\#"],"sub_categories":[],"readme":"# FlareSolverrSharp\n\n[![Latest version](https://img.shields.io/nuget/v/FlareSolverrSharp.svg)](https://www.nuget.org/packages/FlareSolverrSharp)\n[![NuGet downloads](https://img.shields.io/nuget/dt/FlareSolverrSharp)](https://www.nuget.org/packages/FlareSolverrSharp)\n[![GitHub issues](https://img.shields.io/github/issues/FlareSolverr/FlareSolverrSharp.svg)](https://github.com/FlareSolverr/FlareSolverrSharp/issues)\n[![GitHub pull requests](https://img.shields.io/github/issues-pr/FlareSolverr/FlareSolverrSharp.svg)](https://github.com/FlareSolverr/FlareSolverrSharp/pulls)\n[![Donate PayPal](https://img.shields.io/badge/Donate-PayPal-yellow.svg)](https://www.paypal.com/paypalme/diegoheras0xff)\n[![Donate Bitcoin](https://img.shields.io/badge/Donate-Bitcoin-f7931a.svg)](https://www.blockchain.com/btc/address/13Hcv77AdnFWEUZ9qUpoPBttQsUT7q9TTh)\n[![Donate Ethereum](https://img.shields.io/badge/Donate-Ethereum-8c8c8c.svg)](https://www.blockchain.com/eth/address/0x0D1549BbB00926BF3D92c1A8A58695e982f1BE2E)\n\nFlareSolverr .Net DelegatingHandler / interceptor. [FlareSolverr](https://github.com/FlareSolverr/FlareSolverr) is a proxy server to bypass Cloudflare protection.\n\n## Installation\nFull-Featured library:\n\n`PM\u003e Install-Package FlareSolverr`\n\n## Dependencies\n- [.NET Standard 1.3](https://github.com/dotnet/standard/blob/master/docs/versions/netstandard1.3.md)\n\nYou need a running [FlareSolverr](https://github.com/FlareSolverr/FlareSolverr) service.\n\n## Issues\nCloudflare regularly modifies their protection challenge and improves their bot detection capabilities.\n\nIf you notice that the anti-bot page has changed, or if library suddenly stops working, please create a GitHub issue so that I can\nupdate the code accordingly.\n\nBefore submitting an issue, just be sure that you have the latest version of the library.\n\n## Usage\nA [DelegatingHandler](https://docs.microsoft.com/en-us/dotnet/api/system.net.http.delegatinghandler?view=netstandard-1.3) that\nhandles the challenge solution automatically.\n\n\u003e A type for HTTP handlers that delegate the processing of HTTP response messages to another handler, called the inner handler.\n\nIt checks on every request if the clearance is required or not, if required, it solves the challenge in background then returns the response.\n\nWebsites not using Cloudflare will be treated normally. You don't need to configure or call anything further, and you can effectively treat\nall websites as if they're not protected with anything.\n\n```csharp\nvar handler = new ClearanceHandler(\"http://localhost:8191/\")\n{\n    MaxTimeout = 60000,\n    ProxyUrl = \"http://127.0.0.1:8888\",\n    ProxyUsername = \"cool_username\",\n    ProxyPassword = \"password4\"\n};\n\nvar client = new HttpClient(handler);\nvar content = await client.GetStringAsync(\"https://uam.hitmehard.fun/HIT\");\nConsole.WriteLine(content);\n```\n\n**Full example [here](https://github.com/FlareSolverr/FlareSolverrSharp/tree/master/sample/FlareSolverrSharp.Sample)**\n\n## Options\n### FlareSolverr Service API\nYou have to set the FlareSolverr service API in the ClearanceHandler constructor. If you set an empty or null endpoint,\nFlareSolverrSharp will be able to detect challenges, but it will not be able to solve them.\n\nExample: http://localhost:8191/\n\n### MaxTimeout\nMax timeout to solve the challenge.\n\n**MaxTimeout should be greater than 15000 (15 seconds) because starting the web browser and solving the challenge takes time.**\n\nExample: 60000\n\n### ProxyUrl\nThe ProxyUrl which will be sent to FlareSolverr.\n\nExample: http://127.0.0.1:8888\n\n### ProxyUsername\nThe ProxyUsername which will be sent to FlareSolverr. (Only if ProxyUrl has been set)\n\nUse this if the proxy you're using requires authentication.\n\n### ProxyPassword\nThe ProxyPassword which will be sent to FlareSolverr. (Only if ProxyUrl has been set)\n\nUse this if the proxy you're using requires authentication.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FFlareSolverr%2FFlareSolverrSharp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FFlareSolverr%2FFlareSolverrSharp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FFlareSolverr%2FFlareSolverrSharp/lists"}