busybox
hush
Our great sponsors
busybox | hush | |
---|---|---|
9 | 7 | |
1,526 | 626 | |
2.8% | 0.5% | |
1.7 | 2.9 | |
4 months ago | 8 months ago | |
C | Rust | |
GNU General Public License v3.0 or later | MIT 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.
busybox
-
Ash: A Gentle Primer
Also known as Dash in Debian (it's satandard POSIX shell) and sh in Busybox that sadly tainted the original BSD source file with GPL2.
https://github.com/mirror/busybox/blob/master/shell/ash.c
-
Everything I wish I knew when learning C
More Good projects to learn from:
- Busybox (https://github.com/mirror/busybox)
-
what are some tiny c programs I can play about with?
Also, it's barebones POSIX, and not the Linux extensions you commonly think of. But, that means the processes are a lot simpler, and the code is often less complex. So it's a good place for a beginner to dip into to see how .e.g mv works, compared to GNU mv.
-
Looking for a simpler version of BusyBox for educational purposes
Sure... There are symlinks in the installation, and there's a small main() function that dispatches execution to the appropriate function based on argv[0], but that doesn't significantly impact the C implementation of each individual tool. Those seem pretty straightforward, to me. A developer reading.. e.g. chmod.c isn't going to see any evidence of symlinks, and minimal impact from the external main() function.
-
Any good resources on making a C implementation of the Unix ls command?
BusyBox: https://github.com/mirror/busybox/blob/master/coreutils/ls.c
-
/* Act like "true" by default; false.c overrides this. */
true false
-
ISC DHCP Server has reached EOL
Ok here is my followup. I didn't go into detail about kea hooks [0] because I didn't write any kea hook before, but from what I can tell it should cover all your needs. You have to write c code which I find absurd tbh, but if it has the functionality you are looking for it could be a solution.
I already posted my dnsmasq "solution" so I will skip this. If you want a code example I could whip you one up.
Then there is coredhcp [1] and you can write plugins written in go for it.
From time to time some hobby dhcp server pop up, but most fade away since (I guess) the existing solutions are "good enough". I for instance implement a automatic provisioning and configurating dhcp setup with tftp and pxe boot using dnsmasq. It automatically creates pxe configs based on the mac address and some other stuff (tm). Kea seemed overkill for this usecase and I'm quite happy with what I got.
Your use case of automatically fixing hostnames through ISC seems a bit overkill to me as well to be frank. My home network has a few VLANs and every device in it is managed manually. It's a one time setup and most automation is unnecessary (and some devices in my network flatout ignore some dhcp options....). Aaaaanyway I still think that most dhcp servers out there support some form of scripting (heck even udhcpcd has a lease notify script that could be hacked to offer some of that functionality even though this gets only executed after the fact so a bit useless [2]).
> oh wait, I wonder how much ISC was paid … to do exactly this EOL … by these major ISPs?
I don't know. Nothing?
> Plausible future: I can envision a special DHCP vendor-specific OPTION to use time-based blockchain hash to further solidify their hold.
Reading your cynic banter I'm quite happy of not having your DHCP problems. Looking through your github repositories I can find a bunch of configuration files for dhclient, but not much in form of ISC configs (only the nintendo fix you posted in your first post). Would be really interested in your setup.
[0] https://kea.readthedocs.io/en/latest/arm/hooks.html
[1] https://github.com/coredhcp/coredhcp
[2] https://github.com/mirror/busybox/blob/master/examples/udhcp...
- A Little Story About the `Yes` Unix Command
-
How good is a router without a hardware clock as a NTP server?
https://github.com/mirror/busybox/blob/121b02d6b6c9f276e7f8da560e5996d3e389cd63/networking/ntpd.c#L175
hush
-
Why should I care wether my shell is POSIX compliant?
If we're detaching from POSIX, why not get more wild? Why not xonsh or something? Also I found this lua inspired shell which could be cool: https://github.com/hush-shell/hush
-
Working with JSON in traditional and next-gen shells like Elvish, NGS, Nushell, Oil, PowerShell and even old-school Bash and Windows Command Prompt
Maybe hush (https://github.com/hush-shell/hush) should be included in this list.
- Hush – Unix shell based on the Lua programming language
- Hush - unix shell based on the Lua programming language
-
Guide: Hush Shell-Scripting Language
While being extremely small is a worthy goal, I suppose the aim of Hush is to make writing larger shell scripts easier and less error-prone. It's more for the niche of Perl of old than of minimal shells like ash.
For a very limited device, a very limited shell like that in Busybox is sufficient, because it likely does not need large shell scripts, or a lot of interactive work.
Looking at [1], current Hush is under 700k, which is still way smaller than Python or Perl, with much of its expressiveness.
[1]: https://github.com/hush-shell/hush/releases
-
Announcing Hush, a modern shell scripting language
Official guide: https://hush-shell.github.io/ Repository: https://github.com/hush-shell/hush
-
If you're not using a lexer generator for your compiler, why?
Yes, you can check the code here: https://github.com/gahag/hush
What are some alternatives?
u-boot - "Das U-Boot" Source Tree
busybox - Docker Official Image packaging for Busybox
coreutils - upstream mirror
hush - hush (a Bourne-style shell) for the GNO multitasking environment on the Apple IIgs
barebox - The barebox bootloader - Mirror of ssh://[email protected]/barebox
gcc
logos - Create ridiculously fast Lexers
lash - A modern, robust glue language
parsegen - An LR parser generator, implemented as a proc macro
freebsd-src - The FreeBSD src tree publish-only repository. Experimenting with 'simple' pull requests....
ngs - Next Generation Shell (NGS)