mirror of
https://github.com/superseriousbusiness/gotosocial
synced 2024-11-23 21:03:19 +00:00
44 lines
1.6 KiB
Markdown
44 lines
1.6 KiB
Markdown
|
# WebSocket
|
||
|
|
||
|
GoToSocial uses the secure [WebSocket protocol](https://en.wikipedia.org/wiki/WebSocket) (aka `wss`) to allow for streaming updates of statuses and notifications via client apps like Pinafore.
|
||
|
|
||
|
In order to use this functionality, you need to ensure that whatever proxy you've configured GoToSocial to run behind allows WebSocket connections through.
|
||
|
|
||
|
The WebSocket endpoint is located at `wss://example.org/api/v1/streaming` where `example.org` is the hostname of your GoToSocial instance.
|
||
|
|
||
|
The WebSocket endpoint uses the same port as configured in the `port` section of your [general config](../configuration/general.md).
|
||
|
|
||
|
Typical WebSocket **request** headers as sent by Pinafore look like the following:
|
||
|
|
||
|
```text
|
||
|
Host: example.org
|
||
|
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:99.0) Gecko/20100101 Firefox/99.0
|
||
|
Accept: */*
|
||
|
Accept-Language: en-US,en;q=0.5
|
||
|
Accept-Encoding: gzip, deflate, br
|
||
|
Sec-WebSocket-Version: 13
|
||
|
Origin: https://pinafore.social
|
||
|
Sec-WebSocket-Protocol: null
|
||
|
Sec-WebSocket-Extensions: permessage-deflate
|
||
|
Sec-WebSocket-Key: YWFhYWFhYm9vYmllcwo=
|
||
|
DNT: 1
|
||
|
Connection: keep-alive, Upgrade
|
||
|
Sec-Fetch-Dest: websocket
|
||
|
Sec-Fetch-Mode: websocket
|
||
|
Sec-Fetch-Site: cross-site
|
||
|
Pragma: no-cache
|
||
|
Cache-Control: no-cache
|
||
|
Upgrade: websocket
|
||
|
```
|
||
|
|
||
|
Typical WebSocket **response** headers as returned by GoToSocial look like the following:
|
||
|
|
||
|
```text
|
||
|
HTTP/1.1 101 Switching Protocols
|
||
|
Upgrade: websocket
|
||
|
Connection: Upgrade
|
||
|
Sec-WebSocket-Accept: WVdGaFlXRmhZbTl2WW1sbGN3bz0K
|
||
|
```
|
||
|
|
||
|
Whatever your setup, you need to ensure that these headers are allowed through your proxy, which may require extra configuration depending on the exact proxy being used.
|