5 releases
0.1.4 | Sep 11, 2023 |
---|---|
0.1.3 | Sep 10, 2023 |
0.1.2 | Sep 9, 2023 |
0.1.1 | Sep 4, 2023 |
0.1.0 | Sep 4, 2023 |
75KB
1.5K
SLoC
vldpipe
A most valid pipe.
Publish and consume TCP services over the Veilid network.
Status
Working, but tends to drop connections and time out. Still improving stability and reliability.
Put this in your valid pipe and smoke it
Publishing host exports a local socket address to Veilid. This form is vldpipe [local address]
.
vldpipe 8080
# Copy "that DHT key"
Consuming hosts can import this service and bind it to local addresses with:
vldpipe [that DHT key] 127.0.0.1:9000
Or serve it on all interfaces (local lan, public wan ingress) with:
vldpipe [that DHT key] 0.0.0.0:9000
Should eventually pair nicely with podman-compose and the like.
Demo
Serving up the project source on port 8000, exporting it to Veilid, importing from Veilid back to the same machine on port 9000. Useless but fun.
TODO
Persistent node identities & DHT addresses.
Patched veilid-core to start nodes faster? Or upstream fix for this... configuration option? There's about a 1m5s delay for the node to go online.
Renegotiating private routes. I've observed persistent InvalidTarget failures, which seems to indicate that routes can churn and need to be rebuilt automatically.
Authenticated encryption like Tor stealth HS.
Security review, this is still experimental.
Credits
Examples in veilid-core and https://gitlab.com/bbigras/netdog were super-helpful in figuring out how to set things up.
Dependencies
~25–66MB
~1M SLoC