Index | Thread | Search

From:
David Uhden Collado <daviduhden@gmail.com>
Subject:
Re: [NEW] net/i2pd-tools
To:
ports@openbsd.org
Date:
Sat, 26 Sep 2026 08:54:00 +0000

Download raw body.

Thread
  • David Uhden Collado:

    [NEW] net/i2pd-tools

    • David Uhden Collado:

      [NEW] net/i2pd-tools

David Uhden Collado wrote:
> Hello ports@,
> 
> Please find attached a new port for i2pd-tools 2.58.0:
> 
> net/i2pd-tools
> 
> i2pd-tools is a collection of command-line utilities that supplement
> i2pd:
> 
> https://github.com/PurpleI2P/i2pd-tools
> 
> The package provides tools for generating and inspecting I2P keys and
> addresses, offline signing keys, family certificates and router
> information, among other I2P-related operations.
> 
> The installed commands are:
> 
> i2pd-autoconf
> i2pd-b33address
> i2pd-famtool
> i2pd-i2pbase64
> i2pd-keygen
> i2pd-keyinfo
> i2pd-offlinekeys
> i2pd-regaddr
> i2pd-regaddr_3ld
> i2pd-regaddralias
> i2pd-routerinfo
> i2pd-vain
> i2pd-verifyhost
> i2pd-x25519
> 
> I prefixed the upstream command names with "i2pd-" to avoid collisions
> with generic names such as autoconf and keygen. The actual binaries are
> installed under libexec/i2pd-tools and small wrapper scripts provide the
> prefixed commands under bin.
> 
> The wrappers also set:
> 
> umask 077
> 
> before executing the tools. Several of these utilities create private
> key material, and upstream opens output paths using ordinary file APIs,
> so this ensures that newly created files do not inherit a permissive
> login umask.
> 
> Upstream builds against the i2pd source tree as a Git submodule. The
> 2.58.0 tag points to i2pd commit:
> 
> 80080fd8f5df5c8c07df044458eedbf8fbbbe86c
> 
> The port therefore downloads that exact i2pd source revision as a
> separate distfile and places it in the expected submodule directory.
> It intentionally does not use the separately installed net/i2pd port:
> the tools are built against the exact source revision selected by
> upstream and do not require an installed or running i2pd daemon.
> 
> The OpenBSD Makefile patch adds the OpenBSD build case, uses the
> "-mt" Boost library naming used by our Boost package, adds the local
> include and library paths and pthread, and avoids linking libatomic,
> which is not needed on OpenBSD.
> 
> The port builds with C++17 and uses std::filesystem. UPnP and Git-derived
> version information are disabled, and the tools link against Boost
> program_options, the base SSL/crypto libraries, zlib and pthread.
> 
> There is no upstream test target for i2pd-tools. The tests in the i2pd
> submodule belong to the separate daemon project and are not a test suite
> for these command-line utilities, so the port currently uses NO_TEST.
> 
> The pkg-readme also notes two potentially surprising details:
> 
> * routerinfo's firewall output generates Linux iptables commands and
> does not configure OpenBSD pf;
> * i2pd-autoconf is the i2pd tunnel configuration generator and is
> unrelated to GNU Autoconf.
> 
> Thank you for your time and consideration.
> 
> Best regards,
> David.
ping