PySecretHandshake/examples/test_server.py

35 lines
745 B
Python
Raw Normal View History

2023-10-29 08:55:39 +00:00
"""Example SHS server"""
2017-06-04 19:50:49 +00:00
from asyncio import get_event_loop
from base64 import b64decode
2023-10-29 09:47:21 +00:00
import os
2017-06-04 19:50:49 +00:00
from nacl.signing import SigningKey
2023-10-29 09:47:21 +00:00
import yaml
2017-06-04 19:50:49 +00:00
from secret_handshake import SHSServer
2023-10-29 08:55:39 +00:00
with open(os.path.expanduser("~/.ssb/secret"), encoding="utf-8") as f:
config = yaml.safe_load(f)
2017-06-04 19:50:49 +00:00
async def _on_connect(conn):
async for msg in conn:
2017-06-04 19:50:49 +00:00
print(msg)
async def main():
2023-10-29 08:55:39 +00:00
"""Main function to run"""
server_keypair = SigningKey(b64decode(config["private"][:-8])[:32])
server = SHSServer("localhost", 8008, server_keypair)
server.on_connect(_on_connect)
await server.listen()
2017-06-04 19:50:49 +00:00
if __name__ == "__main__":
loop = get_event_loop()
loop.run_until_complete(main())
loop.run_forever()
loop.close()