Run goimports

This commit is contained in:
Tulir Asokan 2023-06-30 12:55:49 +03:00
parent 02ef5ab82c
commit cdf9b1e4a0
16 changed files with 127 additions and 130 deletions

View file

@ -2,6 +2,7 @@ package binary
import (
"fmt"
"google.golang.org/protobuf/proto"
)
@ -19,4 +20,4 @@ func DecodeProtoMessage(data []byte, message proto.Message) error {
return fmt.Errorf("failed to decode proto message: %v", err)
}
return nil
}
}

View file

@ -1,8 +1,7 @@
package cache
type Settings struct {
CarrierName string `json:"carrierName,omitempty"`
HexHash string `json:"hexHash,omitempty"`
Version string `json:"version,omitempty"`
}
HexHash string `json:"hexHash,omitempty"`
Version string `json:"version,omitempty"`
}

View file

@ -15,27 +15,27 @@ func EncodeBase64(data []byte) string {
}
func Base64Decode(input string) ([]byte, error) {
padding := len(input) % 4
if padding > 0 {
input += strings.Repeat("=", 4-padding)
}
padding := len(input) % 4
if padding > 0 {
input += strings.Repeat("=", 4-padding)
}
data, err := base64.URLEncoding.DecodeString(input)
if err != nil {
return nil, err
}
return data, nil
data, err := base64.URLEncoding.DecodeString(input)
if err != nil {
return nil, err
}
return data, nil
}
func Base64DecodeStandard(input string) ([]byte, error) {
decoded, err := base64.StdEncoding.DecodeString(input)
if err != nil {
fmt.Println("decode error:", err)
return nil, err
}
return decoded, nil
decoded, err := base64.StdEncoding.DecodeString(input)
if err != nil {
fmt.Println("decode error:", err)
return nil, err
}
return decoded, nil
}
func Base64Encode(input []byte) string {
return base64.StdEncoding.EncodeToString(input)
}
}

View file

@ -11,14 +11,14 @@ import (
)
type JWK struct {
Kty string `json:"kty"`
Crv string `json:"crv"`
D string `json:"d"`
X string `json:"x"`
Y string `json:"y"`
Ext bool `json:"ext"`
KeyOps []string `json:"key_ops"`
PrivateBytes []byte `json:"privateBytes,omitempty"`
Kty string `json:"kty"`
Crv string `json:"crv"`
D string `json:"d"`
X string `json:"x"`
Y string `json:"y"`
Ext bool `json:"ext"`
KeyOps []string `json:"key_ops"`
PrivateBytes []byte `json:"privateBytes,omitempty"`
}
// Returns a byte slice containing the JWK and an error if the generation or export failed.
@ -26,13 +26,13 @@ func (t *JWK) Marshal() ([]byte, error) {
JWKJSON, err := json.Marshal(t)
if err != nil {
fmt.Printf("Failed to marshal JWK: %v", err)
return nil,err
return nil, err
}
fmt.Printf("%s\n", JWKJSON)
return JWKJSON,err
return JWKJSON, err
}
func (t *JWK) PrivKeyB64Bytes() ([]byte, error){
func (t *JWK) PrivKeyB64Bytes() ([]byte, error) {
decodedPrivateKey, err2 := Base64Decode(t.D)
return decodedPrivateKey, err2
}
@ -97,7 +97,7 @@ func GenerateECDSA_P256_JWK() (*JWK, error) {
privKey, err := ecdsa.GenerateKey(elliptic.P256(), rand.Reader)
if err != nil {
fmt.Printf("Failed to generate private key: %v", err)
return nil,err
return nil, err
}
JWK := &JWK{
@ -109,5 +109,5 @@ func GenerateECDSA_P256_JWK() (*JWK, error) {
Ext: true,
KeyOps: []string{"sign"},
}
return JWK,nil
}
return JWK, nil
}

View file

@ -24,4 +24,4 @@ func GenerateKeys() ([]byte, []byte) {
log.Fatal(err2)
}
return key, key2
}
}

View file

@ -75,7 +75,7 @@ func (ic *ImageCryptor) Decrypt(iv []byte, data []byte, aad []byte) ([]byte, err
func (ic *ImageCryptor) EncryptData(data []byte) ([]byte, error) {
rawChunkSize := 1 << 15
chunkSize := rawChunkSize-28
chunkSize := rawChunkSize - 28
var tasks []chan []byte
chunkIndex := 0
@ -191,4 +191,4 @@ func (ic *ImageCryptor) calculateAAD(index, end, total int) []byte {
}
return aad
}
}

View file

@ -3,21 +3,22 @@ package debug
import (
"fmt"
"time"
"github.com/mattn/go-colorable"
zerolog "github.com/rs/zerolog"
)
var colors = map[string]string{
"text": "\x1b[38;5;6m%s\x1b[0m",
"text": "\x1b[38;5;6m%s\x1b[0m",
"debug": "\x1b[32mDEBUG\x1b[0m",
"gray": "\x1b[38;5;8m%s\x1b[0m",
"info": "\x1b[38;5;111mINFO\x1b[0m",
"gray": "\x1b[38;5;8m%s\x1b[0m",
"info": "\x1b[38;5;111mINFO\x1b[0m",
"error": "\x1b[38;5;204mERROR\x1b[0m",
"fatal": "\x1b[38;5;52mFATAL\x1b[0m",
}
var output = zerolog.ConsoleWriter{
Out: colorable.NewColorableStdout(),
Out: colorable.NewColorableStdout(),
TimeFormat: time.ANSIC,
FormatLevel: func(i interface{}) string {
name := fmt.Sprintf("%s", i)
@ -40,4 +41,4 @@ var output = zerolog.ConsoleWriter{
func NewLogger() zerolog.Logger {
return zerolog.New(output).With().Timestamp().Logger()
}
}

View file

@ -1,22 +1,22 @@
package events
type QRCODE_UPDATED struct {
Image []byte
Image []byte
Height int
Width int
Width int
googleUrl string
}
func NewQrCodeUpdated(image []byte, height int, width int, googleUrl string) *QRCODE_UPDATED {
return &QRCODE_UPDATED{
Image: image,
Height: height,
Width: width,
Image: image,
Height: height,
Width: width,
googleUrl: googleUrl,
}
}
func (q *QRCODE_UPDATED) GetGoogleUrl() string {
return q.googleUrl
}
}

View file

@ -1,6 +1,5 @@
package events
type BROWSER_ACTIVE struct {
SessionId string
}
@ -11,14 +10,14 @@ func NewBrowserActive(sessionId string) *BROWSER_ACTIVE {
}
}
type BATTERY struct {}
type BATTERY struct{}
func NewBattery() *BATTERY {
return &BATTERY{}
}
type DATA_CONNECTION struct {}
type DATA_CONNECTION struct{}
func NewDataConnection() *DATA_CONNECTION {
return &DATA_CONNECTION{}
}
}

View file

@ -57,44 +57,44 @@ import (
)
func Serialize(m protoreflect.Message) ([]interface{}, error) {
maxFieldNumber := 0
for i := 0; i < m.Descriptor().Fields().Len(); i++ {
fieldNumber := int(m.Descriptor().Fields().Get(i).Number())
if fieldNumber > maxFieldNumber {
maxFieldNumber = fieldNumber
}
}
maxFieldNumber := 0
for i := 0; i < m.Descriptor().Fields().Len(); i++ {
fieldNumber := int(m.Descriptor().Fields().Get(i).Number())
if fieldNumber > maxFieldNumber {
maxFieldNumber = fieldNumber
}
}
serialized := make([]interface{}, maxFieldNumber)
for i := 0; i < m.Descriptor().Fields().Len(); i++ {
fieldDescriptor := m.Descriptor().Fields().Get(i)
fieldValue := m.Get(fieldDescriptor)
fieldNumber := int(fieldDescriptor.Number())
switch fieldDescriptor.Kind() {
case protoreflect.MessageKind:
if m.Has(fieldDescriptor) {
serializedMsg, err := Serialize(fieldValue.Message().Interface().ProtoReflect())
if err != nil {
return nil, err
}
serialized[fieldNumber-1] = serializedMsg
}
case protoreflect.BytesKind:
if m.Has(fieldDescriptor) {
serialized[fieldNumber-1] = fieldValue.Bytes()
}
case protoreflect.Int32Kind, protoreflect.Int64Kind:
if m.Has(fieldDescriptor) {
serialized[fieldNumber-1] = fieldValue.Int()
}
case protoreflect.StringKind:
if m.Has(fieldDescriptor) {
serialized[fieldNumber-1] = fieldValue.String()
}
default:
// ignore fields of other types
}
}
serialized := make([]interface{}, maxFieldNumber)
for i := 0; i < m.Descriptor().Fields().Len(); i++ {
fieldDescriptor := m.Descriptor().Fields().Get(i)
fieldValue := m.Get(fieldDescriptor)
fieldNumber := int(fieldDescriptor.Number())
switch fieldDescriptor.Kind() {
case protoreflect.MessageKind:
if m.Has(fieldDescriptor) {
serializedMsg, err := Serialize(fieldValue.Message().Interface().ProtoReflect())
if err != nil {
return nil, err
}
serialized[fieldNumber-1] = serializedMsg
}
case protoreflect.BytesKind:
if m.Has(fieldDescriptor) {
serialized[fieldNumber-1] = fieldValue.Bytes()
}
case protoreflect.Int32Kind, protoreflect.Int64Kind:
if m.Has(fieldDescriptor) {
serialized[fieldNumber-1] = fieldValue.Int()
}
case protoreflect.StringKind:
if m.Has(fieldDescriptor) {
serialized[fieldNumber-1] = fieldValue.String()
}
default:
// ignore fields of other types
}
}
return serialized, nil
}
return serialized, nil
}

View file

@ -1 +1 @@
package payload
package payload

View file

@ -7,10 +7,10 @@ import (
)
type ResponseChan struct {
responses []*Response
responses []*Response
receivedResponses int64
wg sync.WaitGroup
mu sync.Mutex
wg sync.WaitGroup
mu sync.Mutex
}
func (s *SessionHandler) addRequestToChannel(requestId string, opCode int64) {
@ -42,7 +42,6 @@ func (s *SessionHandler) addRequestToChannel(requestId string, opCode int64) {
}
}
func (s *SessionHandler) respondToRequestChannel(res *Response) {
requestId := res.Data.RequestId
reqChannel, ok := s.requests[requestId]
@ -99,4 +98,4 @@ func (s *SessionHandler) WaitForResponse(requestId string, opCode int64) ([]*Res
responseChan.wg.Wait()
return responseChan.responses, nil
}
}

View file

@ -1,9 +1,8 @@
package util
var GOOG_API_KEY = "AIzaSyCA4RsOZUFrm9whhtGosPlJLmVPnfSHKz8"
var USER_AGENT = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36"
var OS = "Linux"
var X_USER_AGENT = "grpc-web-javascript/0.1"
var QR_CODE_URL = "https://support.google.com/messages/?p=web_computer#?c="
var TENOR_API_KEY = "YR0F99AJ65AV"
var TENOR_API_KEY = "YR0F99AJ65AV"

View file

@ -2,11 +2,10 @@ package util
import "fmt"
type InstructionNotFound struct {
Opcode int64
}
func (e *InstructionNotFound) Error() string {
return fmt.Sprintf("Could not find instruction for opcode %d", e.Opcode)
}
}

View file

@ -8,17 +8,17 @@ import (
"net/http"
"time"
"github.com/nu7hatch/gouuid"
uuid "github.com/nu7hatch/gouuid"
)
var Charset = []rune("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890")
func RandStr(length int) string {
b := make([]rune, length)
for i := range b {
b[i] = Charset[rand.Intn(len(Charset))]
}
return string(b)
for i := range b {
b[i] = Charset[rand.Intn(len(Charset))]
}
return string(b)
}
func GenerateImageId() string {
@ -35,8 +35,8 @@ func GenerateTmpId() string {
}
func ParseTimestamp(unixTs int64) time.Time {
seconds := unixTs / int64(time.Second / time.Microsecond)
nanoseconds := (unixTs % int64(time.Second / time.Microsecond)) * int64(time.Microsecond / time.Nanosecond)
seconds := unixTs / int64(time.Second/time.Microsecond)
nanoseconds := (unixTs % int64(time.Second/time.Microsecond)) * int64(time.Microsecond/time.Nanosecond)
return time.Unix(seconds, nanoseconds).UTC()
}
@ -52,13 +52,13 @@ func RandomUUIDv4() string {
}
func RemoveFromSlice(s []string, v string) []string {
newS := []string{}
for _, i := range s {
if i != v {
newS = append(newS, i)
}
}
return newS
newS := []string{}
for _, i := range s {
if i != v {
newS = append(newS, i)
}
}
return newS
}
func BuildRelayHeaders(req *http.Request, contentType string, accept string) {
@ -132,4 +132,4 @@ func NewMediaUploadHeaders(imageSize string, command string, uploadOffset string
headers.Add("accept-encoding", "gzip, deflate, br")
headers.Add("accept-language", "en-US,en;q=0.9")
return headers
}
}

View file

@ -2,22 +2,22 @@ package util
var MESSAGES_GOOGLE_BASE_URL = "https://messages.google.com"
var MESSAGES_GOOGLE_AUTHENTICATION = MESSAGES_GOOGLE_BASE_URL+"/web/authentication"
var MESSAGES_GOOGLE_TIMESOURCE = MESSAGES_GOOGLE_BASE_URL+"/web/timesource"
var MESSAGES_GOOGLE_AUTHENTICATION = MESSAGES_GOOGLE_BASE_URL + "/web/authentication"
var MESSAGES_GOOGLE_TIMESOURCE = MESSAGES_GOOGLE_BASE_URL + "/web/timesource"
var INSTANT_MESSAGING = "https://instantmessaging-pa.googleapis.com"
var UPLOAD_MEDIA = INSTANT_MESSAGING+"/upload"
var UPLOAD_MEDIA = INSTANT_MESSAGING + "/upload"
var PAIRING = INSTANT_MESSAGING+"/$rpc/google.internal.communications.instantmessaging.v1.Pairing"
var REGISTER_PHONE_RELAY = PAIRING+"/RegisterPhoneRelay"
var REFRESH_PHONE_RELAY = PAIRING+"/RefreshPhoneRelay"
var GET_WEB_ENCRYPTION_KEY = PAIRING+"/GetWebEncryptionKey"
var PAIRING = INSTANT_MESSAGING + "/$rpc/google.internal.communications.instantmessaging.v1.Pairing"
var REGISTER_PHONE_RELAY = PAIRING + "/RegisterPhoneRelay"
var REFRESH_PHONE_RELAY = PAIRING + "/RefreshPhoneRelay"
var GET_WEB_ENCRYPTION_KEY = PAIRING + "/GetWebEncryptionKey"
var MESSAGING = INSTANT_MESSAGING+"/$rpc/google.internal.communications.instantmessaging.v1.Messaging"
var RECEIVE_MESSAGES = MESSAGING+"/ReceiveMessages"
var SEND_MESSAGE = MESSAGING+"/SendMessage"
var ACK_MESSAGES = MESSAGING+"/AckMessages"
var MESSAGING = INSTANT_MESSAGING + "/$rpc/google.internal.communications.instantmessaging.v1.Messaging"
var RECEIVE_MESSAGES = MESSAGING + "/ReceiveMessages"
var SEND_MESSAGE = MESSAGING + "/SendMessage"
var ACK_MESSAGES = MESSAGING + "/AckMessages"
var TENOR_BASE_URL = "https://api.tenor.com/v1"
var TENOR_SEARCH_GIF = TENOR_BASE_URL+"/search"
var TENOR_SEARCH_GIF = TENOR_BASE_URL + "/search"