Skip to content
Snippets Groups Projects
Select Git revision
  • HEAD
  • master default
  • webrtc
  • fac-build
  • bug9349_server_combined2
  • bug9349_server_combined
  • bug9349_client_side
  • bug9349_server
  • node.js
  • code_dup
  • py2exe
  • url_reg
  • allow-log
  • extor
  • transport
  • opt-in
  • make_exe
  • managed
  • email
  • js
  • rtmfp
  • 1.7
  • 1.6
  • 1.5
  • 1.4
  • 1.3
  • 1.2
  • 1.1
  • 1.0
  • 0.12
  • 0.11
  • 0.10
  • 0.9
  • 0.8
  • 0.7
  • 0.6
  • 0.5
  • 0.4
  • 0.3
  • 0.2
  • 0.1
41 results

flashproxy

  • Clone with SSH
  • Clone with HTTPS
  • Forked from The Tor Project / Anti-censorship / Pluggable Transports / flashproxy
    Up to date with the upstream repository.
    user avatar
    David Fifield authored
    0c5ea1b0
    History
    == Quick start for users
    
    All the flashproxy programs and source code can be downloaded this way:
    	git clone https://git.torproject.org/flashproxy.git
    
    You must be able to receive TCP connections; unfortunately means that
    you cannot be behind NAT. See the section "Using a public client
    transport plugin" below to try out the system even behind NAT.
    
    Run Tor using the included torrc file:
    	$ tor -f torrc
    By default the transport plugin listens on Internet-facing TCP port
    9000. If you have to use a different port (to get through a firewall,
    for example), edit the ClientTransportPlugin line of the torrc to give a
    different port number:
    	ClientTransportPlugin flashproxy exec ./flashproxy-client --register :0 :8888
    If the flashproxy-client program is in a different directoy (after being
    installed, for example), use the full path in the ClientTransportPlugin
    line:
    	ClientTransportPlugin flashproxy exec /usr/local/bin/flashproxy-client --register
    
    You should receive a flash proxy connection within about 60 seconds. See
    "Troubleshooting" below if it doesn't work.
    
    
    == Overview
    
    This is a set of tools that make it possible to connect Tor through an
    browser-based proxy running on another computer. The flash proxy can be
    run just by opening a web page in a browser. Flash proxies are one of
    several pluggable transports for Tor.
    
    There are five main parts.
    1. The Tor client, running on someone's localhost.
    2. A client transport plugin, which is a program that waits for
       connections from a flash proxy and connects them to the Tor client.
    3. A flash proxy, which is a JavaScript program running in someone's web
       browser.
    4. A facilitator, which is a server that keeps a list of clients that
       want a connection and assigns those addresses to proxies.
    5. A Tor relay running a server transport plugin capable of receiving
       WebSocket connections.
    
    The purpose of this project is to create many ephemeral bridge IP
    addresses, with the goal of outpacing a censor's ability to block them.
    Rather than increasing the number of bridges at static addresses, we aim
    to make existing bridges reachable by a larger and changing pool of
    addresses.
    
    
    == Demonstration page
    
    This page has a description of the project; viewing it also turns your
    computer into a flash proxy as long as the page is open.
    
    http://crypto.stanford.edu/flashproxy/
    
    
    == Troubleshooting
    
    Make sure someone is viewing http://crypto.stanford.edu/flashproxy/, or
    another web page with a flash proxy badge on it.
    
    You can add the --log option to the ClientTransportPlugin command line
    in order to save debugging log messages.
    
    If tor hangs at 10% with these messages:
    	[notice] Bootstrapped 10%: Finishing handshake with directory server.
    	[notice] no known bridge descriptors running yet; stalling
    as a last resort you can try deleting the files in ~/.tor and
    /var/lib/tor, and then restarting tor.
    
    If tor apparently hangs here:
    	[notice] Bootstrapped 50%: Loading relay descriptors.
    	[notice] new bridge descriptor '...' (fresh)
    wait a few minutes. It can take a while to download relay descriptors.
    
    If you suspect that the facilitator has lost your client registration, you can
    re-register:
    	$ flashproxy-reg-email
    	$ flashproxy-reg-http
    
    
    == How to run a relay
    
    Proxies talk to a relay running the websocket pluggable transport.
    Source code and documentation for the server transport plugin are in the
    Git repository at
    https://git.torproject.org/pluggable-transports/websocket.git.
    
    
    == How to put a flash proxy badge on a web page
    
    Paste in this HTML where you want the badge to appear:
    
    <iframe src="//crypto.stanford.edu/flashproxy/embed.html" width="80" height="15" frameborder="0" scrolling="no"></iframe>