[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-5826":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":19,"compositeScore":20,"rankGlobal":10,"rankLanguage":10,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":22,"hasPages":24,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":31,"readmeContent":32,"aiSummary":33,"trendingCount":16,"starSnapshotCount":16,"syncStatus":34,"lastSyncTime":35,"discoverSource":36},5826,"aya","aya-rs\u002Faya","aya-rs","Aya is an eBPF library for the Rust programming language, built with a focus on developer experience and operability.","https:\u002F\u002Faya-rs.dev\u002Fbook\u002F",null,"Rust",4597,434,39,128,0,17,66,5,75.02,"Apache License 2.0",false,"main",true,[26,27,28,29,30],"bpf","ebpf","observability","rust","security","2026-06-12 04:00:27","# [![Aya](assets\u002Flogo.svg)](https:\u002F\u002Faya-rs.dev)\n\n[![Crates.io][crates-badge]][crates-url]\n![License][license-badge]\n[![Build status][build-badge]][build-url]\n[![Book][book-badge]][book-url]\n[![Gurubase][gurubase-badge]][gurubase-url]\n\n[crates-badge]: https:\u002F\u002Fimg.shields.io\u002Fcrates\u002Fv\u002Faya.svg?style=for-the-badge&logo=rust\n[crates-url]: https:\u002F\u002Fcrates.io\u002Fcrates\u002Faya\n[license-badge]: https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT%2FApache--2.0-blue?style=for-the-badge\n[build-badge]: https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Faya-rs\u002Faya\u002Fci.yml?style=for-the-badge\n[build-url]: https:\u002F\u002Fgithub.com\u002Faya-rs\u002Faya\u002Factions\u002Fworkflows\u002Fci.yml\n[book-badge]: https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fread%20the-book-9cf.svg?style=for-the-badge&logo=mdbook\n[book-url]: https:\u002F\u002Faya-rs.dev\u002Fbook\n[gurubase-badge]: https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FGurubase-Ask%20Aya%20Guru-006BFF?style=for-the-badge\n[gurubase-url]: https:\u002F\u002Fgurubase.io\u002Fg\u002Faya\n\n## API Documentation\n\n[![Unreleased Documentation][git-docs-badge]][git-api-docs] [![Documentaiton][api-docs-badge]][api-docs]\n\n[git-docs-badge]: https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdocs-unreleased-red.svg?style=for-the-badge&logo=docsdotrs\n[git-api-docs]: https:\u002F\u002Fdocs.aya-rs.dev\n[api-docs-badge]: https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdocs-released-blue.svg?style=for-the-badge&logo=docsdotrs\n[api-docs]: https:\u002F\u002Fdocs.rs\u002Faya\n\n## Community\n\n[![Discord][discord-badge]][chat-url] [![Awesome][awesome-badge]][awesome-aya]\n\nJoin [the conversation on Discord][chat-url] to discuss anything related to Aya\nor discover and contribute to a list of [Awesome Aya][awesome-aya] projects.\n\n[discord-badge]: https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDiscord-chat-5865F2?style=for-the-badge&logo=discord\n[chat-url]: https:\u002F\u002Fdiscord.gg\u002FxHW2cb2N6G\n[awesome-aya]: https:\u002F\u002Fgithub.com\u002Faya-rs\u002Fawesome-aya\n[awesome-badge]: https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FAwesome-Aya-FC60A8?style=for-the-badge&logo=awesomelists\n\n## Overview\n\neBPF is a technology that allows running user-supplied programs inside the Linux\nkernel. For more info see [What is eBPF](https:\u002F\u002Febpf.io\u002Fwhat-is-ebpf).\n\nAya is an eBPF library built with a focus on operability and developer\nexperience. It does not rely on [libbpf] nor [bcc] - it's built from the ground\nup purely in Rust, using only the [libc] crate to execute syscalls. With BTF\nsupport and when linked with musl, it offers a true [compile once, run\neverywhere solution][co-re], where a single self-contained binary can be\ndeployed on many linux distributions and kernel versions.\n\nSome of the major features provided include:\n\n* Support for the **BPF Type Format** (BTF), which is transparently enabled when\n  supported by the target kernel. This allows eBPF programs compiled against\n  one kernel version to run on different kernel versions without the need to\n  recompile.\n* Support for function call relocation and global data maps, which\n  allows eBPF programs to make **function calls** and use **global variables\n  and initializers**.\n* **Async support** with both [tokio] and [async-std].\n* Easy to deploy and fast to build: aya doesn't require a kernel build or\n  compiled headers, and not even a C toolchain; a release build completes in a matter\n  of seconds.\n\n[libbpf]: https:\u002F\u002Fgithub.com\u002Flibbpf\u002Flibbpf\n[bcc]: https:\u002F\u002Fgithub.com\u002Fiovisor\u002Fbcc\n[libc]: https:\u002F\u002Fdocs.rs\u002Flibc\n[co-re]: https:\u002F\u002Ffacebookmicrosites.github.io\u002Fbpf\u002Fblog\u002F2020\u002F02\u002F19\u002Fbpf-portability-and-co-re.html\n[tokio]: https:\u002F\u002Fdocs.rs\u002Ftokio\n[async-std]: https:\u002F\u002Fdocs.rs\u002Fasync-std\n\n### Example\n\nAya supports a large chunk of the eBPF API. The following example shows how to\nuse a `BPF_PROG_TYPE_CGROUP_SKB` program with aya:\n\n```rust\nuse std::fs::File;\nuse aya::Ebpf;\nuse aya::programs::{CgroupSkb, CgroupSkbAttachType, CgroupAttachMode};\n\n\u002F\u002F load the BPF code\nlet mut ebpf = Ebpf::load_file(\"ebpf.o\")?;\n\n\u002F\u002F get the `ingress_filter` program compiled into `ebpf.o`.\nlet ingress: &mut CgroupSkb = ebpf.program_mut(\"ingress_filter\")?.try_into()?;\n\n\u002F\u002F load the program into the kernel\ningress.load()?;\n\n\u002F\u002F attach the program to the root cgroup. `ingress_filter` will be called for all\n\u002F\u002F incoming packets.\nlet cgroup = File::open(\"\u002Fsys\u002Ffs\u002Fcgroup\u002Funified\")?;\ningress.attach(cgroup, CgroupSkbAttachType::Ingress, CgroupAttachMode::AllowOverride)?;\n```\n\n## Contributing\n\nPlease see the [contributing guide](https:\u002F\u002Fgithub.com\u002Faya-rs\u002Faya\u002Fblob\u002Fmain\u002FCONTRIBUTING.md).\n\n## License\n\nAya is distributed under the terms of either the [MIT license] or the\n[Apache License] (version 2.0), at your option.\n\nUnless you explicitly state otherwise, any contribution intentionally submitted\nfor inclusion in this crate by you, as defined in the Apache-2.0 license, shall\nbe dual licensed as above, without any additional terms or conditions.\n\n[MIT license]: https:\u002F\u002Fgithub.com\u002Faya-rs\u002Faya\u002Fblob\u002Fmain\u002FLICENSE-MIT\n[Apache license]: https:\u002F\u002Fgithub.com\u002Faya-rs\u002Faya\u002Fblob\u002Fmain\u002FLICENSE-APACHE\n","Aya 是一个专为 Rust 语言设计的 eBPF 库，注重开发者的使用体验和可操作性。它完全用 Rust 从零构建，仅依赖 libc crate 来执行系统调用，支持 BTF（BPF Type Format），这使得编译后的 eBPF 程序可以在不同版本的 Linux 内核上运行而无需重新编译。此外，Aya 提供了对函数调用重定位和全局数据映射的支持，允许 eBPF 程序进行函数调用并使用全局变量和初始化器，并且兼容 tokio 和 async-std 异步运行时。该项目适用于需要在 Linux 内核中高效执行用户自定义程序以实现监控、安全加固等目的的场景。",2,"2026-06-11 03:05:09","top_language"]