If we implement stateful relay, we can get the effect of improving speed, reliability, and bypass the capacity limit setting of the web server (e.g., max_upload_size) to allow large-capacity transmission.
These proposals are messages that the client (e.g., server.py) will send to the server (e.g., index.php).
Proposal: Stateless relay
This is a case where the client cannot expose the port to the outside, it is the same already implemented.
{
"jsonrpc": "2.0",
"method": "relay_request",
"params": {
"data": <base64 encoded data>,
"compressed": <e.g. deflate, none>, // proposal
"client": <address of the client>,
"server": <address of the remote server>,
"port": <port number of the remote server>,
"scheme": <scheme (e.g. http, https, ssl, tls),
"url": <URL>,
"length": <length of data>,
"chunksize": <size of buffer (e.g. 8192)>,
"datetime": <datetime (e.g. %Y-%m-%d %H:%M:%S.%f)>
},
"id": 3
}
Proposal: Stateful relay
This is a case where the client can expose the port to the outside, which works similarly to tunneling.
{
"jsonrpc": "2.0",
"method": "relay_connect",
"params": {
"client": <address of the client>
"port": <port number of the client>,
"chunksize": <size of buffer (e.g. 8192)>,
"datetime": <datetime (e.g. %Y-%m-%d %H:%M:%S.%f)>
},
"id": 3
}
If we implement stateful relay, we can get the effect of improving speed, reliability, and bypass the capacity limit setting of the web server (e.g.,
max_upload_size
) to allow large-capacity transmission.These proposals are messages that the client (e.g.,
server.py
) will send to the server (e.g.,index.php
).Proposal: Stateless relay
This is a case where the client cannot expose the port to the outside, it is the same already implemented.
Proposal: Stateful relay
This is a case where the client can expose the port to the outside, which works similarly to tunneling.