psanford / wormhole-william

End-to-end encrypted file transfer. A magic wormhole CLI and API in Go (golang).
MIT License
1.08k stars 55 forks source link

add client_version to BIND message #2

Closed warner closed 5 years ago

warner commented 5 years ago

Hey, this is awesome! I'm totally floored that you wrote this.

One thing that might help me manage the server better.. could you add a client_version field to the BIND message that shows the connections as coming from the Go implementation? Probably at https://github.com/psanford/wormhole-william/blob/6689c61ee5b65eec013acbdf74642679bb04e1bd/rendezvous/client.go#L514-L518 , something to match what the python client does at https://github.com/warner/magic-wormhole/blob/7e30b70e2f540e75001dfe1450c60980345bc5bd/src/wormhole/_rendezvous.py#L178 and https://github.com/warner/magic-wormhole/blob/7e30b70e2f540e75001dfe1450c60980345bc5bd/src/wormhole/wormhole.py#L286-L289 . Maybe set the client_version tuple to ("golang-william", "v1.0.0") (or however you've got the released tagged.. maybe use the output of git describe --tags --always if that's convenient, that's what the python version does when you build out of a git checkout).

I've been meaning to set up a monthly "state of the wormhole" email, and I'll include the server's counts of client versions in there. Right now I see 228 connections in the last 24 hours that don't report a client_version, but those might also be python clients from before 0.10.5 (released Feb 2019) when I added the reporting feature.

thanks!

psanford commented 5 years ago

Thanks for the kind words!

I can definitely add version info. (The only reason its not there now is the initial rendezvous work I did was from tcpdumps of a pre 0.10.5 client).

warner commented 5 years ago

And here's the results! (the blue "non-python" bit). This is a 12-hour moving average of client-reported versions on the mailbox server.

wormhole_version_uptake-day-14-sep-2019