It looks like you're creating the share... but there's no listener?
If you don't actually start a listener, there is nothing to connect to and you'll end up getting a 404.
If you look at the full HTTP example, you'll see there is an HTTP server instantiated... that includes a listener:
If you look at the copyto portion of the pastebin example:
...you'll see that it's directly creating a listener:
with zrok.listener.Listener(shr.Token, root) as server:
while not exit_signal.is_set():
conn, peer = server.accept()
with conn:
conn.sendall(data.encode('utf-8'))