44 lines
1.0 KiB
Python
44 lines
1.0 KiB
Python
#!/usr/bin/env python
|
|
|
|
import os
|
|
import json
|
|
import asyncio
|
|
import websockets
|
|
|
|
|
|
async def echo(websocket, path):
|
|
handshake = False
|
|
authenticated = False
|
|
|
|
async for message in websocket:
|
|
print(message)
|
|
|
|
if not handshake:
|
|
response = {
|
|
"action": "auth/handshake/ok",
|
|
"body": {
|
|
"data": {
|
|
"nonce": "MTI0Njg4NTAyMjYxMzgxMzgzMg==",
|
|
"version": "0.0.24"
|
|
}
|
|
},
|
|
"id": 1
|
|
}
|
|
await websocket.send(json.dumps(response))
|
|
handshake = True
|
|
|
|
elif not authenticated:
|
|
response = {
|
|
"action": "auth/authenticate/ok",
|
|
"body": {},
|
|
"id": 2
|
|
}
|
|
|
|
await websocket.send(json.dumps(response))
|
|
authenticated = True
|
|
|
|
|
|
asyncio.get_event_loop().run_until_complete(
|
|
websockets.serve(echo, 'localhost', 5678))
|
|
asyncio.get_event_loop().run_forever()
|