router7

command module
v0.0.0-...-fe0c57f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 27, 2024 License: Apache-2.0 Imports: 0 Imported by: 0

README

router7

GitHub Actions CI GoDoc Go Report Card

router7 is a pure-Go implementation of a small home internet router. It comes with all the services required to make a fiber7 internet connection work (DHCPv4, DHCPv6, DNS, etc.).

Note that this project should be considered a (working!) tech demo. Feature requests will likely not be implemented, and see CONTRIBUTING.md for details about which contributions are welcome.

For more details, please see router7.org

Documentation

Overview

Package main is a placeholder so that the packer can find the kernel in this directory.

Directories

Path Synopsis
cmd
backupd
Binary backupd provides tarballs of /perm.
Binary backupd provides tarballs of /perm.
captured
Binary captured streams network packets to wireshark via SSH, replaying buffered packets upon connection for retroactive debugging.
Binary captured streams network packets to wireshark via SSH, replaying buffered packets upon connection for retroactive debugging.
dhcp4
Binary dhcp4 obtains a DHCPv4 lease, persists it to /perm/dhcp4/wire/lease.json and notifies netconfigd.
Binary dhcp4 obtains a DHCPv4 lease, persists it to /perm/dhcp4/wire/lease.json and notifies netconfigd.
dhcp4d
Binary dhcp4d hands out DHCPv4 leases to clients.
Binary dhcp4d hands out DHCPv4 leases to clients.
dhcp6
Binary dhcp6 obtains a DHCPv6 lease, persists it to /perm/dhcp6/wire/lease.json and notifies netconfigd.
Binary dhcp6 obtains a DHCPv6 lease, persists it to /perm/dhcp6/wire/lease.json and notifies netconfigd.
diagd
Binary diagd provides automated network diagnostics.
Binary diagd provides automated network diagnostics.
dnsd
Binary dnsd answers DNS requests by forwarding or consulting DHCP leases.
Binary dnsd answers DNS requests by forwarding or consulting DHCP leases.
dyndns
Binary dyndns updates configured DNS records with the current public IPv4 address (of network interface uplink0).
Binary dyndns updates configured DNS records with the current public IPv4 address (of network interface uplink0).
netconfigd
Binary netconfigd reads state from dhcp4, dhcp6, … and applies it.
Binary netconfigd reads state from dhcp4, dhcp6, … and applies it.
radvd
Binary radvd sends IPv6 router advertisments.
Binary radvd sends IPv6 router advertisments.
internal
backup
Package backup generates tarballs of /perm.
Package backup generates tarballs of /perm.
dhcp4
Package dhcp4 implements a DHCPv4 client.
Package dhcp4 implements a DHCPv4 client.
dhcp4d
Package dhcp4d implements a DHCPv4 server.
Package dhcp4d implements a DHCPv4 server.
dhcp6
Package dhcp6 implements a DHCPv6 client.
Package dhcp6 implements a DHCPv6 client.
diag
Package diag implements network diagnostics.
Package diag implements network diagnostics.
dns
Package dns implements a DNS forwarder.
Package dns implements a DNS forwarder.
multilisten
Package multilisten implements listening on multiple addresses at once.
Package multilisten implements listening on multiple addresses at once.
netconfig
Package netconfig implements network configuration (interfaces, addresses, firewall rules, …).
Package netconfig implements network configuration (interfaces, addresses, firewall rules, …).
notify
Package notify implements sending signals (such as SIGUSR1) to processes.
Package notify implements sending signals (such as SIGUSR1) to processes.
oui
radvd
Package radvd implements IPv6 router advertisments.
Package radvd implements IPv6 router advertisments.
teelogger
Package teelogger provides loggers which send their output to multiple writers, like the tee(1) command.
Package teelogger provides loggers which send their output to multiple writers, like the tee(1) command.
testing/dnsmasq
Package dnsmasq manages the process lifecycle of the dnsmasq(8) DHCP server.
Package dnsmasq manages the process lifecycle of the dnsmasq(8) DHCP server.
testing/pcapreplayer
Package pcapreplayer provides a net.PacketConn which replays a pcap file, and optionally records a new golden file.
Package pcapreplayer provides a net.PacketConn which replays a pcap file, and optionally records a new golden file.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL