mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-11-01 01:02:26 -05:00 
			
		
		
		
	This tries to revamp/restructure the installation guide. It's renamed to "Getting Started" as it now contains a few more things than just the installation, especially the deployment considerations which we didn't use to spell out as much ahead of time. Installation is now a section with the guides on their own. I've removed a bit of redundancy like the user creation. I also removed the rogue reverse proxy section in the Docker guide and lifted that into the reverse proxy section.
		
			
				
	
	
		
			43 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			43 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 Semaphore.
 | 
						|
 | 
						|
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.
 |