blob: 88e9a90b80f2989656d6ef815c474358934c0622 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
// Copyright (c) 2021 Tulir Asokan
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
// Package socket implements a subset of the Noise protocol framework on top of websockets as used by WhatsApp.
//
// There shouldn't be any need to manually interact with this package.
// The Client struct in the top-level whatsmeow package handles everything.
package socket
import "errors"
const (
// Origin is the Origin header for all WhatsApp websocket connections
Origin = "https://web.whatsapp.com"
// URL is the websocket URL for the new multidevice protocol
URL = "wss://web.whatsapp.com/ws/chat"
)
const (
NoiseStartPattern = "Noise_XX_25519_AESGCM_SHA256\x00\x00\x00\x00"
WADictVersion = 2
WAMagicValue = 5
)
var WAConnHeader = []byte{'W', 'A', WAMagicValue, WADictVersion}
const (
FrameMaxSize = 2 << 23
FrameLengthSize = 3
)
var (
ErrFrameTooLarge = errors.New("frame too large")
ErrSocketClosed = errors.New("frame socket is closed")
ErrSocketAlreadyOpen = errors.New("frame socket is already open")
)
|