mirror of
https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake.git
synced 2025-10-13 20:11:19 -04:00
Update documents for broker messages
This commit is contained in:
parent
0ae4d821f0
commit
e5b799d618
2 changed files with 31 additions and 9 deletions
|
@ -24,15 +24,16 @@ var KnownProxyTypes = map[string]bool{
|
||||||
"iptproxy": true,
|
"iptproxy": true,
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Version 1.2 specification:
|
/* Version 1.3 specification:
|
||||||
|
|
||||||
== ProxyPollRequest ==
|
== ProxyPollRequest ==
|
||||||
{
|
{
|
||||||
Sid: [generated session id of proxy],
|
Sid: [generated session id of proxy],
|
||||||
Version: 1.2,
|
Version: 1.3,
|
||||||
Type: ["badge"|"webext"|"standalone"],
|
Type: ["badge"|"webext"|"standalone"],
|
||||||
NAT: ["unknown"|"restricted"|"unrestricted"],
|
NAT: ["unknown"|"restricted"|"unrestricted"],
|
||||||
Clients: [number of current clients, rounded down to multiples of 8]
|
Clients: [number of current clients, rounded down to multiples of 8],
|
||||||
|
AcceptedRelayPattern: [a pattern representing accepted set of relay domains]
|
||||||
}
|
}
|
||||||
|
|
||||||
== ProxyPollResponse ==
|
== ProxyPollResponse ==
|
||||||
|
@ -44,7 +45,8 @@ HTTP 200 OK
|
||||||
type: offer,
|
type: offer,
|
||||||
sdp: [WebRTC SDP]
|
sdp: [WebRTC SDP]
|
||||||
},
|
},
|
||||||
NAT: ["unknown"|"restricted"|"unrestricted"]
|
NAT: ["unknown"|"restricted"|"unrestricted"],
|
||||||
|
RelayURL: [the WebSocket URL proxy should connect to relay Snowflake traffic]
|
||||||
}
|
}
|
||||||
|
|
||||||
2) If a client is not matched:
|
2) If a client is not matched:
|
||||||
|
@ -60,7 +62,7 @@ HTTP 400 BadRequest
|
||||||
== ProxyAnswerRequest ==
|
== ProxyAnswerRequest ==
|
||||||
{
|
{
|
||||||
Sid: [generated session id of proxy],
|
Sid: [generated session id of proxy],
|
||||||
Version: 1.2,
|
Version: 1.3,
|
||||||
Answer:
|
Answer:
|
||||||
{
|
{
|
||||||
type: answer,
|
type: answer,
|
||||||
|
|
|
@ -100,6 +100,24 @@ Metrics data from the Snowflake broker can be retrieved by sending an HTTP GET r
|
||||||
A count of the total number of unique IP addresses of snowflake
|
A count of the total number of unique IP addresses of snowflake
|
||||||
proxies that have an unknown NAT type.
|
proxies that have an unknown NAT type.
|
||||||
|
|
||||||
|
"snowflake-proxy-poll-with-relay-url-count" NUM NL
|
||||||
|
[At most once.]
|
||||||
|
|
||||||
|
A count of snowflake proxy polls with relay url extension present.
|
||||||
|
This means this proxy understands relay url, and is sending its
|
||||||
|
allowed prefix.
|
||||||
|
"snowflake-proxy-poll-without-relay-url-count" NUM NL
|
||||||
|
[At most once.]
|
||||||
|
|
||||||
|
A count of snowflake proxy polls with relay url extension absent.
|
||||||
|
This means this proxy is not yet updated.
|
||||||
|
"snowflake-proxy-rejected-for-relay-url-count" NUM NL
|
||||||
|
[At most once.]
|
||||||
|
|
||||||
|
A count of snowflake proxy polls with relay url extension rejected
|
||||||
|
based on broker's relay url extension policy.
|
||||||
|
This means an incompatible allowed relay pattern is included in the
|
||||||
|
proxy poll message.
|
||||||
2. Broker messaging specification and endpoints
|
2. Broker messaging specification and endpoints
|
||||||
|
|
||||||
The broker facilitates the connection of snowflake clients and snowflake proxies
|
The broker facilitates the connection of snowflake clients and snowflake proxies
|
||||||
|
@ -177,10 +195,11 @@ POST /proxy HTTP
|
||||||
|
|
||||||
{
|
{
|
||||||
Sid: [generated session id of proxy],
|
Sid: [generated session id of proxy],
|
||||||
Version: 1.1,
|
Version: 1.3,
|
||||||
Type: ["badge"|"webext"|"standalone"|"mobile"],
|
Type: ["badge"|"webext"|"standalone"|"mobile"],
|
||||||
NAT: ["unknown"|"restricted"|"unrestricted"],
|
NAT: ["unknown"|"restricted"|"unrestricted"],
|
||||||
Clients: [number of current clients, rounded down to multiples of 8]
|
Clients: [number of current clients, rounded down to multiples of 8],
|
||||||
|
AcceptedRelayPattern: [a pattern representing accepted set of relay domains]
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -195,7 +214,8 @@ HTTP 200 OK
|
||||||
{
|
{
|
||||||
type: offer,
|
type: offer,
|
||||||
sdp: [WebRTC SDP]
|
sdp: [WebRTC SDP]
|
||||||
}
|
},
|
||||||
|
RelayURL: [the WebSocket URL proxy should connect to relay Snowflake traffic]
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -220,7 +240,7 @@ POST /answer HTTP
|
||||||
|
|
||||||
{
|
{
|
||||||
Sid: [generated session id of proxy],
|
Sid: [generated session id of proxy],
|
||||||
Version: 1.1,
|
Version: 1.3,
|
||||||
Answer:
|
Answer:
|
||||||
{
|
{
|
||||||
type: answer,
|
type: answer,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue