mirror of
https://github.com/liamcottle/reticulum-meshchat.git
synced 2026-04-28 00:20:48 +00:00
start reticulum after sanic app is ready
This commit is contained in:
parent
254177e630
commit
e052eb25b4
1 changed files with 32 additions and 17 deletions
49
web.py
49
web.py
|
|
@ -11,25 +11,16 @@ import base64
|
|||
|
||||
from sanic import Sanic, Request, Websocket, file
|
||||
|
||||
# create sanic app
|
||||
app = Sanic("ReticulumWebChat")
|
||||
|
||||
# init reticulum
|
||||
reticulum = RNS.Reticulum(None)
|
||||
|
||||
# create a new identity and log as base64
|
||||
identity = RNS.Identity()
|
||||
print(base64.b64encode(identity.get_private_key()))
|
||||
|
||||
# init lxmf router
|
||||
message_router = LXMF.LXMRouter(identity=identity, storagepath="storage/lxmf")
|
||||
|
||||
# register lxmf identity
|
||||
local_lxmf_destination = message_router.register_delivery_identity(identity, display_name="ReticulumWebChat")
|
||||
|
||||
# global reference to all connected websocket clients
|
||||
# global references
|
||||
app_name = "ReticulumWebChat"
|
||||
reticulum: RNS.Reticulum
|
||||
message_router: LXMF.LXMRouter
|
||||
local_lxmf_destination: RNS.Destination
|
||||
websocket_clients = []
|
||||
|
||||
# create sanic app
|
||||
app = Sanic(app_name)
|
||||
|
||||
|
||||
async def main():
|
||||
|
||||
|
|
@ -45,10 +36,34 @@ async def main():
|
|||
port=args.port,
|
||||
)
|
||||
|
||||
|
||||
def start_reticulum():
|
||||
|
||||
# init reticulum
|
||||
global reticulum
|
||||
reticulum = RNS.Reticulum(None)
|
||||
|
||||
# create a new identity and log as base64
|
||||
identity = RNS.Identity()
|
||||
print(base64.b64encode(identity.get_private_key()))
|
||||
|
||||
# init lxmf router
|
||||
global message_router
|
||||
message_router = LXMF.LXMRouter(identity=identity, storagepath="storage/lxmf")
|
||||
|
||||
# register lxmf identity
|
||||
global local_lxmf_destination
|
||||
local_lxmf_destination = message_router.register_delivery_identity(identity, display_name="ReticulumWebChat")
|
||||
|
||||
# set a callback for when an lxmf message is received
|
||||
message_router.register_delivery_callback(lxmf_delivery)
|
||||
|
||||
|
||||
@app.after_server_start
|
||||
async def after_server_start(*_):
|
||||
start_reticulum()
|
||||
|
||||
|
||||
@app.get("/")
|
||||
async def hello_world(request):
|
||||
return await file("index.html")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue