cachebrowser

A proxy-less censorship resistance tool

Github星跟踪图

Merged Into MassBrowser

CacheBrowser has been merged into our new censorship circumvention tool called MassBrowser. Please visit the MassBrowser project's website and its git repository.

CacheBrowser

The current CacheBrowser software is a research prototype implementation, and is not yet ready for end-users. If you are a researcher or developer check it out and give us feedback, otherwise please be patient while we work on an end-user version of the code.
Thanks for your understanding and support!

https://cachebrowser.net

Installation

pip install cachebrowser

Running CacheBrowser

To run the CacheBrowser process simply enter the cachebrowser command

cachebrowser

You can then use CacheBrowser by using the CacheBrowser plugin for your browser or by setting the HTTP and HTTPS proxy on your browser to localhost:8080

Bootstrapping

In order to be able to browse a page using CacheBrowser, the page must first be bootstrapped.
What this means is that CacheBrowser must first find out what CDN the page is hosted on and also obtain some edge server addresses for that CDN.

CacheBrowser supports local and remote bootstrapping sources. Local bootstrapping sources are files in YAML format which provide bootstrapping information for hosts and CDNs. Remote bootstrapping sources are RESTful services which provide bootstrapping information through HTTP requests.

Configuring Bootstrapping Sources

Any number of local or remote bootstrapping sources may be defined in the CacheBrowser configuration file. When bootstrapping a host or host, CacheBrowser will go through the provided sources in the specified order until the information is found.

Bootstrapping sources can be specified in the configuration file using the bootstrapper_sources key, for example:

boostrapper_sources:
	- type: local
	  path: local_bootstrapper.yaml
	- type: remote
	  url: https://bootstrap.cachebrowser.net/api

Local Boostrapping Files

A local bootstrapping file is a YAML file containing a list of Host or CDN information.

For example:

- type: cdn
  id: akamai
  name: Akamai
  edge_servers:
    - 23.208.91.198
    - 23.218.210.7

- type: host
  name: www.nbc.com
  ssl: false
  cdn: akamai

- type: host
  name: www.bloomberg.com
  ssl: false
  cdn: akamai

For each CDN provided in the bootstrapping file the following information should be provided:

Key, Value
---------------------------, ---
type, cdn
id, A unique ID to be used for the CDN
name, The CDN Name
edge_servers, List of edge server addresses for the CDN

For each Host provided in the bootstrapping file the following information should be provided:

Key, Value
---------------------------, ---
type, host
name, The hostname
cdn, The ID of the CDN which provides this host
ssl, Whether the pages supports HTTPS connections or not

CacheBrowser Commands

You could also run a command with CacheBrowser:

cachebrowser <command>

These are the valid commands you could give:

Command, Description
---------------------------------------------------------------------------, ---
bootstrap , Bootstrap
get url [target], Retrieve url using CacheBrowser. If target is specified CacheBrowser uses the given target. If not, CacheBrowser uses the bootstrapped target if the host has been bootstrapped or makes a normal request to the host if not.
host list, Lists the bootstrapped hosts
host add, Add host info
cdn list, Lists the bootstrapped CDNs
cdn add, Add host info

Example

cachebrowser bootstrap www.nbc.com
cachebrowser get http://www.nbc.com

cachebrowser get https://www.istockphoto.com 69.31.76.91

主要指标

概览
名称与所有者CacheBrowser/cachebrowser
主编程语言Python
编程语言Python (语言数: 1)
平台
许可证MIT License
所有者活动
创建于2015-11-04 04:34:42
推送于2018-04-12 08:03:12
最后一次提交2018-04-12 08:03:11
发布数0
用户参与
星数1k
关注者数89
派生数138
提交数84
已启用问题?
问题数19
打开的问题数9
拉请求数1
打开的拉请求数0
关闭的拉请求数1
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?