Commit graph

16 commits

Author SHA1 Message Date
Jett Chen
cade672806 Add Support for IPV6 and Arbitrary Server Address
Add IPV6 support for Apple Devices
Note: Works in GUI not CLI
Adds Support for Arbitrary Server Address
2024-02-17 10:44:24 -08:00
Conrad Kramer
7cc1f3119e Simplified process startup on macOS and Linux 2024-01-27 07:53:30 -05:00
Jett Chen
b008762a5b Implement Wireguard
Implements Wireguard
2023-12-23 11:26:05 -08: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
Sam Poder
1907b11545 Move tests into a separate directory
Also run these tests on Github Actions as part of the PR request
flow.
2023-08-08 08:03:15 -07:00
Sam Poder
9eb661ebd5 Log when TunInterface is configured
This uses info from the log package.
2023-07-03 09:39:24 -04: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
dav
d3882bd008 TunInterfaceOptions -> TunOptions 2023-06-28 16:13:08 -04:00
dav
84f1d91d5c Implement TunInterfaceOptions 2023-06-28 16:13:08 -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
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
JettChenT
5baf86d975 add cfg test
this adds cfg-test for
test modules
2023-05-26 14:02:10 -04:00
JettChenT
727798a7da TunInterface implementations for MacOS
This adds TunInterface Implementations for MacOS.
With reference to the XNU kernel source and the
linux implementation
2023-05-25 00:01:39 -04:00
Conrad Kramer
8007e88b53 Enable IPv4 configuration on macOS
This enables getting and setting the IPv4 address on tun interfaces
on macOS
2023-05-13 13:15:41 -04:00
Conrad Kramer
cf95ac819c Share *RawFd trait implementations on Unix
They were previously only present on Apple platforms.
2023-05-09 23:01:36 -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