Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Quickstart

Build and run araneala:

cargo build --release
# needed to bind port 80
setcap cap_net_bind_service=+eip target/release/araneala
./target/release/araneala

Run any web server on your computer. For instance, you can serve the project documentation with mdbook serve docs -p 0

If you use the dns server, open araneala.internal in your web browser. You will see a list of web servers running on your computer.

If not, you can add the following in your host file to register the araneala.internal host :

127.0.0.1 araneala.internal
::1 araneala.internal

DNS

Araneala provides a DNS server that

It only resolves araneala.internal and all known subdomains to ::1 or 127.0.0.1. It does not forward other DNS requests

Systemd DNS delegate

Using systemd DNS delegation, you can configure

For instance, with araneala DNS server on port 8053, put the following config /etc/systemd/dns-delegate.d/araneala.dns-delegate

[Delegate]
DNS=127.0.0.1:8053
Domains=araneala.internal

NixOS module

You can use the nixos module by adding the flake input

{
  araneala = {
    url = "git+https://git.alpaga.dev/tools/araneala";
    inputs.nixpkgs.follows = "nixpkgs";
  };
}

and enable it using services.araneala.enable.

{ inputs, ... }:
{
  imports = [ inputs.araneala.nixosModules.araneala ];
  services.araneala = {
    enable = true;
  };
}

It runs as a user services and will only list services run as your user.