Commit graph

16 commits

Author SHA1 Message Date
Conrad Kramer
7cc1f3119e Simplified process startup on macOS and Linux 2024-01-27 07:53:30 -05:00
Jett Chen
0b46ac57b7 Add tokio console and more debugging feats 2024-01-26 01:13:12 -05:00
Jett Chen
b008762a5b Implement Wireguard
Implements Wireguard
2023-12-23 11:26:05 -08:00
Jett Chen
c9f104e523 Generate NetworkSettings with IPC
This generates and applies NetworkSettings object with unix socket IPC.

- domain socket, json-rpc based communication
- switches to anyhow for burrow crate
- adds support for starting daemons on macos
2023-10-14 10:25:24 -07:00
Jett Chen
e643d9dd41 Switch logging to use tracing instead of log
Tracing has support for intervals and a great os_log integration.
2023-09-03 01:06:34 +08:00
dav
f869cbdb53 Implement sending commands via Unix sockets 2023-08-26 11:51:56 -07:00
JettChenT
beae8c0f79 Add Read and Write for Async TunInterface
Those features are implemented using AsyncFD. While write doesn't
require a mutable reference to self, read does.

Make Async Tun a feature

remove async tun from workspace

rename write/read to send/recv
2023-07-03 09:30:52 -04:00
Sam Poder
da065b503f Log "Set" Actions in Tun (Linux)
I've used the log library and its info method.

I've also added but not used env-logger.
2023-06-27 15:42:36 -04:00
Malted
40cc0ba049 🛂 Check for required permissions
On Linux, checks for the `CAP_NET_ADMIN` capability.
On macOS, checks for root.
2023-06-10 22:01:17 +01:00
Sam Poder
008ea9ec65 Enable derive on Clap
This let's us use the derive feature.
2023-06-06 18:16:08 -04:00
Sam Poder
d65b9a4c68 Begin CLI Work
Uses the Parser module + it sets up a help & version.
2023-06-06 18:16:08 -04:00
JettChenT
82c4d218d7 Add read and write functions for TunInterface
This adds read and write functionality for TunInterface.
2023-06-05 01:15:36 -07:00
Conrad Kramer
9dc10544b9 Embed wintun inside of the Windows binary
Burrow writes the driver to a temporary file and then loads it.
2023-06-05 01:12:21 -07:00
Conrad Kramer
3c226c81cc Use fewer dependencies in Windows build script
This removes the dependencies on the platform crate as well as the
sha256 crate, opting for the sri crate instead to check file integrity.
2023-05-29 17:13:47 -04:00
Conrad Kramer
1378eb7eb3 Implement IPv4 address configuration on Linux
This involved refactoring the crate structure to share code between
macOS and Linux. The new methods have not yet been implemented on
macOS, but they have todo!() placeholders.
2023-04-22 14:28:42 -04:00
Conrad Kramer
c1e7415871 Initial commit 2023-04-10 16:49:23 -04:00