{"id":13734613,"url":"https://github.com/hrbrmstr/cfhttr","last_synced_at":"2025-10-29T01:30:47.873Z","repository":{"id":141238049,"uuid":"113753563","full_name":"hrbrmstr/cfhttr","owner":"hrbrmstr","description":":construction_worker: Workaround Cloudflare Anti-DDoS Protection","archived":false,"fork":false,"pushed_at":"2017-12-10T13:47:47.000Z","size":9,"stargazers_count":9,"open_issues_count":3,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-02-01T20:51:15.442Z","etag":null,"topics":["cloudflare","ddos","httr","r","rstats","rvest"],"latest_commit_sha":null,"homepage":"","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hrbrmstr.png","metadata":{"files":{"readme":"README.Rmd","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2017-12-10T13:47:30.000Z","updated_at":"2024-08-12T13:39:32.000Z","dependencies_parsed_at":"2024-06-11T19:13:16.930Z","dependency_job_id":"f569169e-4b28-4a38-a3be-760f3aae9622","html_url":"https://github.com/hrbrmstr/cfhttr","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hrbrmstr%2Fcfhttr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hrbrmstr%2Fcfhttr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hrbrmstr%2Fcfhttr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hrbrmstr%2Fcfhttr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hrbrmstr","download_url":"https://codeload.github.com/hrbrmstr/cfhttr/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238752395,"owners_count":19524751,"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","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":["cloudflare","ddos","httr","r","rstats","rvest"],"created_at":"2024-08-03T03:00:58.084Z","updated_at":"2025-10-29T01:30:42.606Z","avatar_url":"https://github.com/hrbrmstr.png","language":"R","funding_links":[],"categories":["Security","R"],"sub_categories":[],"readme":"---\noutput: rmarkdown::github_document\n---\n\n# cfhttr\n\nWorkaround Cloudflare Anti-DDoS Protection\n\n## Description\n\nSome sites use Cloudflare's anti-DDoS protection to, well, avoid being DDoS'd.\n\nHowever, many of these sites also host files that they intended for automated download workflows and often forget to exclude those from the heavy-handed anti-DDoS, javascript + human-required settings.\n\nCloudflare employs a few different anti-DDoS protection schemes. One involves a 503 HTTP response followed by the submission of a \"challenge\" that was solved via a bit of javascript on the page. _That's what this pacakge handles._ If you encounter other Cloudflare anti-DDoS protection schemes (especially the captcha one), then this won't work.\n\n## NOTE\n\nIf this ceases to work it likely means that Cloudflare changed the challenge code. Please [file an issue](https://github.com/hrbrmstr/cfhttr/issues) so I can redo the workaround.\n\n## What's Inside The Tin\n\nThe following functions are implemented:\n\n- `cf_GET`: Cloudflare bypass version of `httr::GET()`\n\n## Installation\n\n```{r eval=FALSE}\ndevtools::install_github(\"hrbrmstr/cfhttr\")\n```\n\n```{r message=FALSE, warning=FALSE, error=FALSE, include=FALSE}\noptions(width=120)\n```\n\n## Usage\n\n```{r message=FALSE, warning=FALSE, error=FALSE}\nlibrary(cfhttr)\n\n# current verison\npackageVersion(\"cfhttr\")\n```\n\n```{r}\nres \u003c- cf_GET(\"https://www.bitmarket.pl/graphs/BTCPLN/90m.json\")\nstr(httr::content(res, as=\"parsed\"))\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhrbrmstr%2Fcfhttr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhrbrmstr%2Fcfhttr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhrbrmstr%2Fcfhttr/lists"}