Skip to content
master
Switch branches/tags
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 

CloudflareUn

Help Pharo pass through to Cloudflare guarded website.
Background discussed at blog.openinworld.com

Responsibilities

I gather the magic keys required to enter a Cloudflare guarded site. Give me a URL to knock on, and I'll return a factory for generating ZnClients configured with the magic keys.

Collaborators

cloudscraper is a nodejs library. Its where the magic happens to obtain the Cloudflare keys.
OSProcess is used to shell out to nodejs.

Class-side Public API and Key Messages

knockURL: aHostUrlString provides the url used for initial access.

Instance-side Public API and Key Messages

client returns a new ZnClient configured with the magic keys.

Usage

|client response| 
client := (CloudflareUn knockUrl: 'http://bittrex.com') client.
client url: 'https://bittrex.com/home/markets'. 
(response := client get) inspect. 
"Note: Cloudflare enforces a five second delay, so unless you fork, expect UI to block for 5 to 10 seconds"

Installation

On Ubuntu 16.04...

$ sudo apt-get update  
$ sudo apt-get install nodejs  
$ sudo apt-get install npm  
$ npm install cloudscraper  

In Pharo 6 or 7...

  1. Start Iceberg, click <Clone repository> and fill in the following details, then click <Create repository>
  Remote URL = git@github.com:Traadh/cloudflareun.git
  Local directory = (use default)
  Code subdirectory = src
  1. In Iceberg main panel, click on "clourdflareun", then its [pacakges] tab. You'll see "CloudflareUn" status "Not loaded". Right-click on it and select <Load package>

  2. Since there is not yet a Baseline, in Playground evaluate...
    CloudflareUn installOSProcess

  3. Verify requirements, in Playground evaluate...
    CloudflareUn checkInstallNodeJs

About

Unlock a website's Cloudflare guard

Resources

Releases

No releases published

Packages

No packages published