Commit graph

82 commits

Author SHA1 Message Date
dav
26d97c6a11 Super Basic RPM Install Config 2023-10-07 23:37:44 -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
60cfd95789 Add rust build caching to ci 2023-08-26 12:23:41 -07:00
dav
f869cbdb53 Implement sending commands via Unix sockets 2023-08-26 11:51:56 -07:00
Sam Poder
c8df4b860d Set/get broadcast address in TunInterface
Modelled after TunInterface's IPV4 logic.
Uses SIOCGIFBRDADDR & SIOCSIFBRDADDR.
View https://man7.org/linux/man-pages/man7/netdevice.7.html.
2023-08-26 10:00:18 -07:00
Jett Chen
22e41203fb Update project structure in readme
Async tun is now located at tun/src/tokio .
2023-08-16 13:41:21 -04:00
Jett Chen
3ef13b09a3 Add C Swift Bindings
This adds C Swift bindings for burrow via compiling burrow
with a matching header file.
2023-08-16 13:28:20 -04:00
Sam Poder
d821f3d03c Only run Tokio tests on non-Windows platforms 2023-08-08 08:03:15 -07:00
Conrad Kramer
17af030893 Run tests on Github Actions 2023-08-08 08:03:15 -07: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
Conrad Kramer
a2e93278c1 Create Dockerfile
Also adds a Github workflow to publish a Docker image
2023-07-04 20:15:27 -04:00
Sam Poder
631bbc8fb3 Expand description about Hack Club
This description is more inline with our copy in other places
2023-07-03 19:22:39 -04: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
f20f56062c Fix unused import warning for Windows 2023-06-28 16:13:08 -04:00
dav
84f1d91d5c Implement TunInterfaceOptions 2023-06-28 16:13:08 -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
Conrad Kramer
32e4e9d1d7 Refactored MenuView into MenuItemToggleView
This change fixes some subtle state bugs in the switch handling by
making isOn a direct function of the Tunnel.
2023-06-23 20:29:52 -04:00
SerenityUX
5438542284 Added initial menu bar to macOS 2023-06-23 20:29:52 -04:00
Sam Poder
923bc9511d Ignore body is missing errors
It seems excessive to require an extended description to each commit,
such as the extended description being given here.
2023-06-23 16:21:58 -04:00
Dev380
e1b03fd0a8 Delete empty queue.rs
The queue.rs seems to be empty with no apparent purpose even as a stub so this commit removes it.
2023-06-23 16:02:16 -04:00
Soumya Kushwaha
efee4afc8d Add contributors section to README
This highlights people's contributions to Burrow.
2023-06-11 17:05:42 +02:00
Malted
f3d086effc 📝 Add long description to clap help
Replaces the None value with a descriptive str
2023-06-11 15:46:26 +01:00
Malted
1ec7ea7d3c 🐛 Update the target for the nix crate
I'm a silly little goose and forger 💀  it before
2023-06-10 22:01:17 +01:00
Malted
ba22ebc79f 🐛 Include function on all Darwin platforms
Builds the relevant ensure root function on all Apple devices
2023-06-10 22:01:17 +01: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
Malted
6bd8051c78 🔧 Add cargo release aliases
Adds the alias field with bb and rr defined as release aliases
2023-06-10 22:01:17 +01:00
Cara Salter
45fc74a3ba Add period to end of line
Improves consistency and grammatical correctness
2023-06-06 19:08:37 -04:00
Andromeda
4cc13ac2d3 Update README.md
Fixed git lint, implemented recommended changes
2023-06-06 19:08:37 -04:00
Andromeda
a73599c268 Update README.md
Co-authored-by: Cara Salter <cara@devcara.com>
2023-06-06 19:08:37 -04:00
Andromeda
a99fd36081 Update README.md
Fixed git lint, implemented recommended changes
2023-06-06 19:08:37 -04:00
Andromeda
a030a12bea Update README.md
Co-authored-by: Cara Salter <cara@devcara.com>
2023-06-06 19:08:37 -04:00
Andromeda
8221c224fd Update README.md
Fixed git lint, implemented recommended changes
2023-06-06 19:08:37 -04:00
Andromeda
a4f8b61f53 Update README.md
Fixed git lint, implemented recommended changes
2023-06-06 19:08:37 -04:00
Andromeda
ee066a2d36 Update README.md
Fixed git lint, implemented recommended changes
2023-06-06 19:08:37 -04:00
Andromeda
706024617d Update README.md
Fixed git lint, implemented recommended changes
2023-06-06 19:08:37 -04:00
Sam Poder
f2af721deb Update tun/src/unix/linux/mod.rs
This fixes an accidental change I made, sorry!
2023-06-06 18:16:08 -04:00
Sam Poder
a73228cee0 Add Start Command
Command that will start burrow.
2023-06-06 18:16:08 -04:00
Sam Poder
e8704a2560 Add Start Command
This uses the subcommands feature, it was requested by Conrad.
2023-06-06 18:16:08 -04: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
9aa1951575 Update CODEOWNERS
It should include Cara and Ben now
2023-06-05 01:12:21 -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
a502e2132c Only run build script when necessary
The build script should only run if one of the generated files
is changed.
2023-06-05 01:12:21 -07:00
Conrad Kramer
cc30fcd34c Create set_ipv6_addr
This adds a new method for setting an ipv6 address on an interface
2023-06-03 13:14:47 -04:00
Conrad Kramer
b94356dfb7 Set clippy as the default build task
Also configure CodeLLDB as a recommended extension.
2023-06-03 13:00:06 -04:00
Conrad Kramer
e51f9eb4fd Update Getting Started document
This adds Windows and macOS instructions among other improvements.
2023-06-03 13:00:06 -04:00
sporeball
bf36a822a0 Create initial GETTING_STARTED.md
This is the very first draft
2023-06-03 13:00:06 -04:00