mirror of
https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake.git
synced 2025-10-13 20:11:19 -04:00
Begin the Broker sub-README page
This commit is contained in:
parent
6fb2e4753f
commit
4acff9983c
1 changed files with 39 additions and 0 deletions
|
@ -0,0 +1,39 @@
|
|||
This is the Broker component of Snowflake.
|
||||
|
||||
### Overview
|
||||
|
||||
The Broker handles the rendezvous by matching Snowflake
|
||||
Clients with Proxies, and passing their WebRTC Session Descriptions
|
||||
(the "signaling" step). This allows Clients and Proxies to establish
|
||||
a Peer connection.
|
||||
|
||||
It is analogous to Flashproxy's
|
||||
[Facilitator](https://trac.torproject.org/projects/tor/wiki/FlashProxyFAQ),
|
||||
but bidirectional and domain-fronted.
|
||||
|
||||
The Broker expects:
|
||||
|
||||
- Clients to send their SDP offer in a POST request, which will then block
|
||||
until the Broker responds with the answer of the matched Proxy.
|
||||
- Proxies to announce themselves with a POST request, to which the Broker
|
||||
responds with some Client's SDP offer. The Proxy should then send a second
|
||||
POST request soon after containing its SDP answer, which the Broker passes
|
||||
back to the same Client.
|
||||
|
||||
### Running your own
|
||||
|
||||
You can run your own Broker on either localhost or appengine.
|
||||
(Other CDNs will be supported soon.)
|
||||
|
||||
|
||||
To run on localhost, run `dev_appserver.py` or equivalent from this
|
||||
directory. (on arch, I use the wrapper script `dev_appserver-go`)
|
||||
|
||||
To run on appengine, you can spin up your own instance with an arbitrary
|
||||
name, and use `appcfg.py`.
|
||||
|
||||
In both cases, you'll need to provide the URL of the custom broker
|
||||
to the client plugin using the `--url $URL` flag.
|
||||
|
||||
See more detailed appengine instructions
|
||||
[here](https://cloud.google.com/appengine/docs/go/).
|
Loading…
Add table
Add a link
Reference in a new issue