No description
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-07-28 17:20:00 -04:00
.github/workflows implement DNS and HTTP client 2026-07-28 17:20:00 -04:00
src implement DNS and HTTP client 2026-07-28 17:20:00 -04:00
.gitignore implement DNS and HTTP client 2026-07-28 17:20:00 -04:00
Cargo.lock implement DNS and HTTP client 2026-07-28 17:20:00 -04:00
Cargo.toml implement DNS and HTTP client 2026-07-28 17:20:00 -04:00
LICENSE implement DNS and HTTP client 2026-07-28 17:20:00 -04:00
README.md implement DNS and HTTP client 2026-07-28 17:20:00 -04:00
rust-toolchain.toml implement DNS and HTTP client 2026-07-28 17:20:00 -04:00

vibe-net

vibe-net is the allocator-free DNS and HTTP client library for vibeOS. It is written in Rust, uses direct Linux syscalls through vibe-rt, and does not use libc.

What it supports

  • IPv4 literals
  • /etc/hosts lookup
  • DNS A queries using the first IPv4 nameserver in /etc/resolv.conf
  • HTTP/1.0 GET over plain TCP
  • fixed caller-provided download buffers
  • required Content-Length checks

The client rejects HTTPS URLs, redirects, chunked transfer encoding, compressed responses, malformed DNS packets, oversized headers, and truncated bodies.

let mut package = [0_u8; 256 * 1024];
let length = vibe_net::http_get(
    b"http://repo.vibeos:18081/vibe-hello.vpkg",
    &mut package,
)?;

Plain HTTP does not provide privacy. vibeOS package downloads remain authenticated by vibe-pkg's Ed25519 package signatures.

Build and test

Rust 1.94.0 is selected by rust-toolchain.toml.

cargo test
cargo clippy --all-targets -- -D warnings

License

MIT