go-playit
Golang playit.gg agent
Playit.gg protocol and tunnel docs
Documentação do protocolo do playit.gg por Sirherobrine23
Autenticação do Agente no servidor controlador
Este é forma que o tunnel se conecta e conversam, são usados tunneis UDP para autenticações e novas conexoes do tipo UDP sobre o mesmo tunnel de controle e conexoes TCP são enviados para criar uma novo tunnel de forma mais rasoavel
sequenceDiagram
Agent ->> Api: Send request to api to get tunnel controll address
Api ->> Agent: Return IPv4 and IPv6 addresses
Agent ->> Listen: Connect to IPv6 if avaible or IPv4 address
Listen ->> Listen: Attemp with next address
Listen --x Agent: Return error with controllerd not accessible
Listen -->> Controller: Send Ping RPC With ID 1
Controller ->> Agent: Wait Pong response from Server with ID 1
Agent ->> Api: /proto/register + with agent info
Api ->> Agent: return session key in hexadecimal
Agent ->> Controller: Send Decoded key (RequestID 10 + Key)
Controller ->> AuthController: RequestID 10 + Key
AuthController ->> AuthController: Waiting for ControlFeed response with ID 10
AuthController --x Agent: If return InvalidSignature end connection
AuthController --x Agent: If return Unauthorized close and return error
AuthController -->> Agent: If return AgentRegistered return AuthenticatedControl struct
Description
Languages
Go
100%