Commit Graph

66 Commits (ab42de58230fbb24a545ca46c05c84412f62cb99)

Author SHA1 Message Date
_ ab42de5823 🚨 clippy pass 2021-12-09 18:22:23 +00:00
_ ed58df2e6b add ini files for both client and server
Long-lived servers can have their nickname configured in `server.ini`.
Clients can have a hosts-file-like nickname lookup in `client.ini`.
2021-12-09 18:15:03 +00:00
_ 73434756b6 this will eventually go into 0.1.6 2021-12-09 17:02:04 +00:00
_ 8aae200ebf add `directories` dep and `--version` subcommand 2021-12-09 17:01:29 +00:00
_ a0a64cd79c 📝 one more pass on README 2021-12-09 16:53:32 +00:00
_ 0815691af2 🐛 bug: fix readme 2021-12-09 16:50:54 +00:00
_ 4f66c0495e add `find-nick` command 2021-12-09 16:46:55 +00:00
_ b261d7ba4a ♻️ refactor: refactor the client a lot so I can reuse its code for new subcommands 2021-12-09 16:21:14 +00:00
_ 5665f484a2 🔇 remove debugging println 2021-12-09 15:49:23 +00:00
_ 814fee2bd5 🚧 2021-12-09 15:46:00 +00:00
_ e7496a7c0e 🚧 wip: add CLI docs 2021-12-09 15:45:22 +00:00
_ 18e38f0611 add `--timeout-ms` for client
Empirical testing shows that 200 ms is probably enough on my LAN, so
I set the default to 500 ms.
2021-12-09 15:34:42 +00:00
_ 30ebb528eb bump to v0.1.5 2021-12-08 21:53:27 -06:00
_ 221a0bef2f ignore errors if an interface can't join multicast
This works okay on my home network, but it's a little more magical than
I wanted - I can't force it to pick up the wifi interface. If the
Ethernet is plugged in, the laptop always and only picks that, even
if I know the server only asked the Ethernet interface.

This is fine, but only because my Ethernet happens to be faster than
my Wifi. I'm not sure how it will behave at work, where WiFi and
Ethernet may be separate networks.

At least the error messages are better now, so I can figure out why
it wasn't auto-starting with systemd.
2021-12-08 21:48:41 -06:00
_ 7a0880fc02 do it similar on the client 2021-12-08 21:40:03 -06:00
_ fd4f70b1c9 🐛 bug: think I figured out the server part
turns out you can join multiple multicast groups on the same socket.
And then I think the OS or the network somehow decides how to route
packets to you. Without touching anything else, if I'm plugged into
Ethernet, it picks that address (when running client on the desktop)
and when I unplug it, it picks the laptop's WiFi.
2021-12-08 21:31:07 -06:00
_ 0bb702f312 🚧 wip: not working the way I expect 2021-12-09 03:11:28 +00:00
_ 1b7c2ce0f4 ♻️ refactor: preparing to serve on multiple interfaces 2021-12-09 02:26:58 +00:00
_ 39bcea54d4 ♻️ refactor: make the self-IP code available within the program 2021-12-09 02:06:01 +00:00
_ 2ba1dc2834 🐛 bug: fix server crashing when you send it a packet of ":V\n" 2021-12-09 01:46:03 +00:00
_ 33e6ae29ca ♻️ refactor: replace all unwraps in my code with question marks 2021-12-09 01:39:54 +00:00
_ c7681ce9f5 ♻️ refactor 2021-12-09 01:28:29 +00:00
_ b620bcfe06 ♻️ refactor: make it a little more idiomatic 2021-12-09 00:45:18 +00:00
_ 5d8bb3282b ♻️ refactor: literal translation to async 2021-12-09 00:34:59 +00:00
_ bf9d185092 🚨 fix all clippy warnings 2021-12-09 00:23:48 +00:00
_ ee51bb7d3d ♻️ refactor: move more Windows-only code behind cfg flags 2021-12-09 00:11:47 +00:00
_ dbedc6083e ♻️ refactor: fix some unused code warnings 2021-12-09 00:03:56 +00:00
_ 50bfd422f9 ditch abort-on-panic 2021-12-08 23:56:22 +00:00
_ 5d6c566317 add Tokio dep
Release build only went from 1.9 to 2.0 MB, but that could cause I'm not really using Tokio yet
2021-12-08 23:55:22 +00:00
_ 2b4695934e add `my-ips` impl for Linux and refactor it into a module 2021-12-08 16:48:43 -06:00
_ cf283a2eaa add `my-ips` subcommand, currently for Windows only 2021-12-08 16:04:45 -06:00
_ 214bbc0da9 📝 add issue 2021-12-08 15:12:13 -06:00
_ 9251dc327d add `--bind-addr` CLI args to both client and server.
This lets you pick an interface. I can't enumerate them automatically yet.
2021-12-08 14:55:27 -06:00
_ c8ed7e5d06 📝 bump to 0.1.4, forgot to update the docs 2021-12-08 02:19:56 +00:00
_ 3871d87a0a bump to 0.1.3 2021-12-08 02:14:23 +00:00
_ aa75119f39 add nicknames 2021-12-08 02:10:58 +00:00
_ ca8fcc1104 add test for old-style Response packets 2021-12-08 00:26:13 +00:00
_ 6dc4eb2771 📝 remove port from readme 2021-12-07 13:55:17 +00:00
_ 42d0557612 release: bump to 0.1.2 2021-12-06 21:21:12 -06:00
_ 494c44fbcf ♻️ refactor: pass address / port params to subcommands
Needed to land CLI arg changes eventually
2021-12-06 21:21:12 -06:00
_ f47fb4f1ba 🐛 bug: flip hashmap key and value so peers are de-duped by IP instead of claimed MAC. 2021-12-06 21:21:12 -06:00
_ 4955119074 📝 add issue for CLI args 2021-12-06 21:21:12 -06:00
_ fd4062416e 💄 hide port from output since it's alwasy 9040 2021-12-06 21:21:12 -06:00
_ 258cab8e4d 📝 brainstorming 2021-12-06 21:21:12 -06:00
_ d0b15c8397 📝 document issue I noticed at work 2021-12-06 21:21:12 -06:00
_ c1992fd562 🐛 bug: forgot to check in Cargo.lock after the version bump 2021-12-06 21:21:12 -06:00
ReactorScram 517052f28b
Create rust.yml 2021-12-05 18:33:50 -06:00
_ f6e80cadf8 release: bump to 0.1.1 2021-12-06 00:18:41 +00:00
_ 2e4b723c18 🔇 remove `dbg!` macro call that looks bad when round-tripped through crates.io 2021-12-06 00:17:26 +00:00
_ 2864a26fe2 📝 fix a couple bugs in the readme 2021-12-06 00:17:05 +00:00