router7
mkfs
router7 | mkfs | |
---|---|---|
5 | 1 | |
2,655 | 10 | |
0.2% | - | |
4.4 | 10.0 | |
20 days ago | over 1 year ago | |
Go | Go | |
Apache License 2.0 | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
router7
-
Securely Chaining Wi-Fi Routers (2022)
An "advert" for a BSD-licensed open-source codebase? Pointers to a comparable OSS networking project, implemented in memory-safe golang or rust, would be appreciated. There is https://router7.org, but for a narrow use case.
-
Gokrazy Is Cool
I'm also a fan of router7[0] which is based on gokrazy. I'd love to build my own router like it some day.
[0] https://router7.org/
- Surprising result while transpiling C to Go
-
Building Rust code for my OpenWrt Wi-Fi router
You can do more in a single binary, in the style of BusyBox / router7. Of course, you'd still have to ship BusyBox for admin/debug purposes, but you can save some disk space and probably boot performance too if you don't spawn new processes for every write to /proc or whatever.
-
random question from a beginner, has anyone written an OS in Go?
maybe https://github.com/rtr7/router7
mkfs
-
Gokrazy Is Cool
What a coincidence! I've just been playing with Gokrazy a couple weeks ago, and just kept thinking "this is so cool". If you're building some sort of an appliance, and want the least amount of reliance on / hassle maintaining the base OS, it definitely is a viable choice.
It can also run programs that are not written in go, by using a little neat hack to build/embed a binary inside a Go package; this is e.g. how Gokrazy sets up persistent storage: https://github.com/gokrazy/mkfs
I don't think it's for everyone; if you're relying on your base OS / package manager for a lot of stuff, or just want to run Docker containers, I think there are simpler/better ways to set things up. But it's absolutely great at what it's made for; doubly so with the Raspberry Pi's finally being back in stock.
What are some alternatives?
gopher-os - A proof of concept OS kernel written in Go
ground-init - Install a Linux machine locally with something that is almost, but not quite, cloud-init
eggos - A Go unikernel running on x86 bare metal
consrv - Command consrv is a SSH to serial console bridge server, originally designed for deployment on gokrazy.org devices. Apache 2.0 Licensed.
u-root - A fully Go userland with Linux bootloaders! u-root can create a one-binary root file system (initramfs) containing a busybox-like set of tools written in Go.
juicefs - JuiceFS is a distributed POSIX file system built on top of Redis and S3.
go - The Go programming language with support for bare-matal programing
gocryptfs - Encrypted overlay filesystem written in Go
bigfile - Bigfile -- a file transfer system that supports http, rpc and ftp protocol https://bigfile.site
gvisor - Application Kernel for Containers