bpftool
surface-dial-linux
bpftool | surface-dial-linux | |
---|---|---|
3 | 5 | |
315 | 66 | |
10.2% | - | |
9.1 | 0.0 | |
10 days ago | over 1 year ago | |
C | Rust | |
GNU General Public License v3.0 or later | - |
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.
bpftool
-
BPF for Hid Drivers
In the same way out-of-tree kernel modules are enforced to license themselves as GPL if they intend to use a lot (if not most) of the available functionality, eBPF programs fall under the same restrictions.
bpftool[0] allows to see which the programs are currently running in your system, their bpf asm instructions and whether they are GPL-compliant through `bpftool prog show`
Of course, we still need companies to actually release the source code of their eBPF programs somewhere for the promise to be fulfilled.
[0] https://github.com/libbpf/bpftool
-
How to tell what created/owns each BPF program running in my system ?
Your distro might not ship the newer version but source is available on Github so you don't have to pull the entire kernel repo to build it.
surface-dial-linux
-
Surface Dial in a Web Browser
Github | Use Surface Dial on Linux
-
BPF for Hid Drivers
Oh hey, that bit about turning a Surface Dial into a mouse is pretty neat! I wonder if I can use eBPF to simplify my user mode surface dial driver...
https://github.com/daniel5151/surface-dial-linux
-
A setup fit for a systems administrator!
There's a github repo with a systemd service for it.
-
The Fat Controller: simulate mouse and keyboard inputs for automation or custom controllers
Where was this library 4 months ago! I would have loved to use it while working on my surface-dial-linux project (instead of wrestling with uinput directly). Ah ,well, maybe I'll revisit it and remove my terribly hand-rolled fake input code with tfc at some point in the future :)
-
I wrote a simple userspace driver for a controller I bought that didn't work with default drivers
Cool project! I did something similar a couple months ago where I wrote a userspace driver for the Microsoft Surface Dial: https://github.com/daniel5151/surface-dial-linux
What are some alternatives?
libbpf - Automated upstream mirror for libbpf stand-alone build.
Kontroller - An application to control your pc,mac,tv,ipad etc as a mouse or keyboard from your android device using the Bluetooth HID Device profile in Android 9(Pie) & above devices
TripleCross - A Linux eBPF rootkit with a backdoor, C2, library injection, execution hijacking, persistence and stealth capabilities.
traffico - Shape your traffic the BPF way
bmc-cache - In-kernel cache based on eBPF.
bpftune - bpftune uses BPF to auto-tune Linux systems
pwru - Packet, where are you? -- eBPF-based Linux kernel networking debugger
bpf-developer-tutorial - eBPF Developer Tutorial: Learning eBPF Step by Step with Examples
bpfcov - Source-code based coverage for eBPF programs actually running in the Linux kernel
xdp-tutorial - XDP tutorial
honey-potion - Writing eBPF programs with Elixir!