PAGES
← all tools
◆ Secure Access (VPN / SASE / ZTNA)

innernet

v2.0.0 open-source

innernet is a private network system that uses WireGuardWireGuardA modern VPN protocol and Linux kernel module, maintained as an open-source project, that establishes encrypted tunnels using minimal code and fast cryptography, giving cyber tools a lightweight, high-performance transport layer. under the hood to manage peers and control access using CIDRs.

Summary

innernet is an open-source private networking system, built on WireGuard, that turns a group of machines into an access-controlled overlay network using CIDRs as its permission model, and it is free to use under the MIT license. It runs as a command-line tool: a coordination server (innernet-server) manages peers and endpoint discovery, while a client on each machine joins the network and can be installed directly via cargo. It suits infrastructure and platform engineers building internal zero-trust networks rather than end users wanting a turnkey VPNVPNA virtual private network, an encrypted tunnel between devices or networks. It carries traffic across another network as though the endpoints had a private connection.. Its README places it alongside Nebula and Tailscale, though it leans more heavily on native CIDRCIDRA notation for a block of IP addresses, such as 10.0.0.0/24. The number after the slash says how many leading address bits identify the network. structures for ACLsACLsAn access control list, a set of rules allowing or denying operations for particular users, services or network addresses. It decides who can use a resource.; the maintainers also note it hasn't had an independent security audit and call it experimental. First committed in 2021, it has 44 contributors and a release 50 days ago, suggesting active upkeep.

innernet is a private network system that uses WireGuard under the hood to manage peers and control access using CIDRs.

How innernet helps

Which machines on this network are allowed to talk to which others?

enforces reachability by CIDR membership rather than a flat peer list, so a machine's group assignment is what determines who it can reach

Can a new server reach the rest of the network without me hand-configuring routes?

the coordination server tracks peer endpoints and hands them out so peers can establish direct WireGuard connections without manual setup

Which peer is behind a given hostname when I'm debugging a connection?

writes peer-to-hostname mappings so machines can be addressed by name instead of tracking IPs by hand

How do I reach a peer that sits behind a NAT or load balancer?

lets you pin that peer's advertised endpoint manually so others connect to the correct address instead of relying on discovery

Is this key I'm looking at in a log actually the peer I think it is?

can print the full WireGuard public key instead of a truncated version, so ambiguous short keys can be confirmed against the real one

Can I shut off one compromised or retired machine without tearing down the whole network?

supports enabling or disabling individual peers directly, cutting their access while leaving the rest of the CIDR intact

all 11 features, with the evidence for each →

Languages

Not documented

Features

11 capabilities

Built from innernet's releases, docs, README and our own runs. “Seen” marks the month we first spotted a release the vendor didn't date. Group names and tags are our labels.

Compare with peers →

What innernet offers you

  • Command-line interface7
  • CI/CD pipeline integration1
  • Client SDKs1
All capabilities 11 capabilities
Peer lifecycle management shipped Provides commands and database logic to manage peer identities, CIDR assignments, invite expiration, and network removal within the innernet server. 8 releases · 4 other sources · first seen Apr 2021

Also counts toward: Command-line interface

release 8 total

  • Adds a /user/capabilities API endpoint to query server capabilities. v1.7.0 · Aug 2025 · source · release history
  • Adds new client and server commands to rename a CIDR block. v1.7.0 · Aug 2025 · source · release history
  • Adds CLI parameters to enable or disable individual peers. v1.7.0 · Aug 2025 · source · release history
  • Adds innernet-server disable-peer and innernet-server enable-peer subcommands for managing peer status without removing them. v1.5.5 · Sep 2022 · source · release history
  • Adds the innernet peer rename subcommand to rename peers in a managed network. v1.3.1 · May 2021 · source · release history
  • Adds inn delete-cidr <network> subcommand to remove CIDRs v1.3.0 · May 2021 · source · release history

docs

  • Private network system built on WireGuard that manages peers and CIDRs with ACL-based access control.

example

  • Temporarily block a specific peer's access to the mesh network using their public key. innernet-server disable-peer <peer_public_key> v1.5.5 · Sep 2022 · source
  • Restore network access for a previously disabled peer. innernet-server enable-peer <peer_public_key> v1.5.5 · Sep 2022 · source
  • Remove a specific network CIDR from the server configuration. inn delete-cidr <network> v1.3.0 · May 2021 · source
Programmatic client library shipped Exposes core innernet client and server functionality as versioned Rust library crates, enabling programmatic integration into other tools. 6 releases · 1 other source · first seen Jul 2021

Also counts toward: Client SDKs

release

  • Introduces new innernet-client-core Rust library crate exposing create_peer_and_invitation(), set_listen_port, redeem_invite, and fetch APIs for programmatic integration. v2.0.0 · Jul 2026 · source · release history
  • The Rust libraries innernet-client-core, innernet-server, and innernet-shared have semver-incompatible API changes requiring a major version bump for consumers of these crates v2.0.0 · Jul 2026 · source · release history
  • Introduces the innernet-client-core Rust library, exposing set_listen_port, redeem_invite, and fetch APIs for programmatic client control. v2.0.0 · Jul 2026 · source · release history
  • Exposes innernet-server as a library crate (renamed from server) for programmatic use. v1.7.0 · Aug 2025 · source · release history
  • Allows running innernet up without specifying an interface to apply configuration to all installed networks v1.5.2 · Dec 2021 · source · release history
  • Releases wireguard-control as an independent Rust crate v1.5.0 · Sep 2021 · source · release history

example

  • List all configured CIDRs in the network without needing root privileges. capsh --caps="cap_net_admin+eip" -- -c "innernet list-cidrs" v1.4.0 · Jul 2021 · source
Peer endpoint override shipped Allows manual pinning of a peer's advertised endpoint address on the client, bypassing server-negotiated discovery to handle NAT, load balancers, or other address translation scenarios. 5 releases · 1 other source · first seen Apr 2021

Also counts toward: Command-line interface

release

  • Adds client endpoint override capability, letting clients specify an alternate endpoint. v2.0.0 · Jul 2026 · source · release history
  • Adds override-endpoint command to the client, enabling manual peer endpoint specification without going through the server. v2.0.0 · Jul 2026 · source · release history
  • Supports unspecified IP addresses with override-endpoint, giving more flexibility when overriding peer endpoints. v1.7.0 · Aug 2025 · source · release history
  • Enables using hostnames in the --external-endpoint argument of innernet-server new instead of only IP addresses v1.2.0 · Apr 2021 · source · release history
  • Clients must upgrade to v1.1.0 to avoid Unauthorized errors after the server upgrades, due to a newly required X-Innernet-Server-Key header for CSRF protection. v1.1.0 · Apr 2021 · source · release history

example

  • Manually pin a peer's advertised endpoint (e.g. behind a NAT or load balancer) so other peers connect to the correct address. sudo innernet override-endpoint <interface> v2.0.0 · Jul 2026 · source
Custom hosts file management shipped Allows operators to control where DNS host entries are written, including skipping the local system hosts file or specifying a custom path for peer discovery. 3 releases · 2 other sources · first seen Apr 2021

Also counts toward: Command-line interface

release

  • Periodically writes peer mappings to /etc/hosts on the innernet server, enabling hostname-based access across the network. v1.7.0 · Aug 2025 · source · release history
  • Adds the --no-write-hosts flag to prevent writing to /etc/hosts v1.0.1 · Apr 2021 · source · release history
  • Adds the --hosts-path flag to write hosts entries to a custom location v1.0.1 · Apr 2021 · source · release history

example

  • Install a server without modifying the local system's hosts file. innernet-server install --no-write-hosts v1.0.1 · Apr 2021 · source
  • Write host entries to a custom directory like /etc/alternatives/hosts. innernet-client add --hosts-path /etc/alternatives/hosts v1.0.1 · Apr 2021 · source
Custom network hostname suffix shipped Lets operators replace the default `<interface>.wg` DNS suffix with a custom domain for all peers on the network. 3 releases · 1 other source · first seen Jul 2021

Also counts toward: Command-line interface

release

  • Adds CLI option to specify a custom host suffix for peer naming. v2.0.0 · Jul 2026 · source · release history
  • Adds --host-suffix CLI option to client and server to override the default <interface>.wg hostname suffix. v2.0.0 · Jul 2026 · source · release history
  • Makes MTU configurable on both client and server. v1.4.0 · Jul 2021 · source · release history

example

  • Assign a custom DNS suffix (e.g. .corp.example) to all peers on the network instead of the default <interface>.wg. sudo innernet-server serve <interface> --host-suffix corp.example v2.0.0 · Jul 2026 · source
Full public key display shipped Shows complete WireGuard public keys instead of truncated versions when verbose output is requested, aiding peer identification during connectivity diagnostics. 3 releases · 1 other source · first seen May 2021

Also counts toward: Command-line interface

release

  • Prints full WireGuard public keys (instead of truncated 10-char versions) when the global --verbose flag is used. v2.0.0 · Jul 2026 · source · release history
  • Prints full WireGuard public keys when the global --verbose flag is used (truncation unified to 10 chars otherwise). v2.0.0 · Jul 2026 · source · release history
  • Enables verbose output on the innernet binary v1.3.0 · May 2021 · source · release history

example

  • Inspect full public keys of all peers when diagnosing connectivity — useful when truncated keys are ambiguous. sudo innernet --verbose list <interface> v2.0.0 · Jul 2026 · source
Configuration path customization shipped Permits overriding default locations for configuration files, data storage, and client-specific settings like NAT traversal behavior. 3 releases · 1 other source · first seen Dec 2021

release

  • Published on crates.io, enabling installation via cargo install innernet. v1.7.0 · Aug 2025 · source · release history
  • Adds NAT_TRAVERSAL config key to .innernet/client.toml (or equivalent) to disable NAT traversal logic v1.5.2 · Dec 2021 · source · release history
  • Makes config and data directories configurable, allowing users to override default paths v1.5.2 · Dec 2021 · source · release history

example

  • Override the new default 1280-byte MTU when your path supports larger packets for better throughput. innernet --mtu 9000 v1.5.4 · Mar 2022 · source
OS integration flexibility shipped Allows running the cyber tool without root privileges via capabilities, bypassing automatic OS routing table modifications, and supporting custom userspace implementations. 3 releases · 1 other source · first seen Apr 2021

release

  • Enables running innernet without root using CAP_NET_ADMIN and proper permissions on /etc/innernet and /var/lib/innernet. v1.4.0 · Jul 2021 · source · release history
  • Support for optional OS routing table modifications v1.3.0 · May 2021 · source · release history
  • Allows override of the WireGuard userspace implementation via the WG_USERSPACE_IMPLEMENTATION (or WG_QUICK_USERSPACE_IMPLEMENTATION) environment variable. v1.1.0 · Apr 2021 · source · release history

example

  • Install innernet directly from crates.io without needing a pre-built package. cargo install innernet v1.7.0 · Aug 2025 · source
Connectivity diagnostics shipped Offers tools to monitor peer online status based on handshake times and supports custom DNS hostnames for endpoint configuration. 2 releases · 2 other sources · first seen Apr 2021

Also counts toward: Command-line interface

release

  • Online indicators in inn list -s and inn list -t mark peers as online if there has been a handshake within the last 180 seconds v1.3.0 · May 2021 · source · release history
  • Enables using hostnames in the --external-endpoint argument of innernet-server new instead of only IP addresses v1.2.0 · Apr 2021 · source · release history

example

  • Check peer status and identify which nodes are currently online based on recent handshakes. inn list -s inn list -t v1.3.0 · May 2021 · source
  • Configure network endpoints using DNS names for easier management. innernet-server new --network-name 'evilcorp' --network-cidr '10.66.0.0/16' --external-endpoint 'innernet-server.evilcorp.com:51820' --listen-port 51820 v1.2.0 · Apr 2021 · source
Peer configuration automation shipped Enables non-interactive peer creation and configuration via CLI flags, facilitating automated provisioning in CI/CD environments. 1 release · 1 other source · first seen Apr 2021

Also counts toward: CI/CD pipeline integration, Command-line interface

release

  • Adds --name, --cidr, --admin, --auto-ip, --save-config, and --yes flags to innernet-server add-peer for non-interactive peer creation v1.2.0 · Apr 2021 · source · release history

example

  • Automate peer provisioning in CI/CD scripts by bypassing interactive prompts. innernet-server add-peer evilcorp --name 'admin' --cidr 'humans' --admin true --auto-ip --save-config 'peer1.toml' --yes v1.2.0 · Apr 2021 · source
NAT traversal support shipped Enables peers and servers to automatically report local IP addresses to establish connections within the same NAT. 1 release · first seen Sep 2021

release

  • Adds support for peers and servers to report local IP addresses to establish connections within the same NAT v1.5.0 · Sep 2021 · source · release history

Lines in monospace are the tool's own words: help text parsed from its source, or an endpoint from its API document. Under release, a line is our summary of a dated release. Under docs, it is quoted from the tool's own documentation or website. Each links back to the source it came from.

Score card

  1. Shipping velocity releases a month, last 12 months
  2. Documentation quality release-notes rubric, 0–100
  3. Breaking-change discipline how rarely a release breaks users, and notice given
  4. Maintenance risk quiet time against its own cadence, maintainers
  5. Innovation & surface new capabilities, API and MCP surface
  6. Community health
  7. Contributor trend distinct committers, this year against last
  8. Maintainer concentration bus factor now against a year ago
  9. Issue backlog trend issues closed per issue opened, 12 months
  10. Responsiveness median time to a maintainer’s first reply

Nine scores for innernet, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.

Score cards are part of every paid plan.

See plans →

Each score is 0–100 on a published rubric, derived from data this site already shows. A dimension we cannot measure says so — it is never scored 0 and never enters a rank.

How this is scored
  • Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
  • Documentation quality — the release-notes rubric published on the analytics page, unchanged.
  • Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
  • Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
  • Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
  • Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
  • Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
  • Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.

Release-note detail over time

See how much detail innernet puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.

Checking release-note history…

Explore the full chart →

Releases

Show

12 entries

  1. July 20261
  2. August 20251
  3. September 20221
  4. March 20221
  5. December 20211
  6. September 20211
  7. July 20211
  8. May 20212
  9. April 20213
    Show

    12 entries

    Project health

    Issue, contributor and maintainer activity in tonarino/innernet, 2023-10 – 2026-09, as of 2026-09-25. Twelve-month figures first; the trend lines run the whole window.

    1. Contributors 8 −1 vs prior 12 months
    2. Maintainers 2 +1 joined · −1 left, last 12 months
    3. Bus factor 2 committers behind half the commits
    4. Community-filed 83% of issues opened, last 12 months
    5. Median time to close 681 days first maintainer reply 20 hours
    6. Open backlog 81 of 220 issues ever filed
    1. Issues opened / month 0 · 0 communitymaintainers
    2. Open backlog 81
    3. Contributors / month 0
    4. Commits / month 0
    5. Stars 5,551
    Issue themes, last 12 months
    • other 100%

    Counts from the project's public repository and git history; no individuals are identified. Maintainers are the committers covering 80% of the last year's commits. how we measure this

    Add the badge to your README

    Maintain this project? The badge links readers straight to this page, so they can follow every release here.

    Tracked by Cyber Toolchain Choose a badge style and copy the code →
    browse all tools → score card for your toolchain →