Download raw body.
[update] i2pd-2.51.0
Hello,
Here's a patch for i2pd:
- upgrading the port to the latest release, which brings several small improvements (changelog: https://github.com/PurpleI2P/i2pd/releases/tag/2.51.0)
- building it without debug symbols. It's not clear why i2pd is built by default with debug symbols, but it's not useful for most users and results in bigger binaries.
- adding login.conf bits and changing README as proposed initially by Klemens Nanni and then discussed on this list: https://marc.info/?t=170613762600002&r=1&w=2
With the attached patch, the port builds and runs fine, and tests are passing.
I'm positive that i2pd works fine with openfiles-cur=4096, openfiles-max=4096 and kern.maxfiles=8192, unless it is used as a floodfill.
Best regards.
Index: Makefile
===================================================================
RCS file: /cvs/ports/net/i2pd/Makefile,v
retrieving revision 1.22
diff -u -p -r1.22 Makefile
--- Makefile 13 Jan 2024 16:21:39 -0000 1.22
+++ Makefile 8 Apr 2024 09:40:43 -0000
@@ -2,7 +2,7 @@ COMMENT = client for the I2P anonymous n
GH_ACCOUNT = PurpleI2P
GH_PROJECT = i2pd
-GH_TAGNAME = 2.50.2
+GH_TAGNAME = 2.51.0
CATEGORIES = net
HOMEPAGE = https://i2pd.website
Index: distinfo
===================================================================
RCS file: /cvs/ports/net/i2pd/distinfo,v
retrieving revision 1.17
diff -u -p -r1.17 distinfo
--- distinfo 13 Jan 2024 16:21:39 -0000 1.17
+++ distinfo 8 Apr 2024 09:40:43 -0000
@@ -1,2 +1,2 @@
-SHA256 (i2pd-2.50.2.tar.gz) = ri7Ecyw4/acbS0jOg2JN2LLgUIPyyUoD0gyvthb2PKU=
-SIZE (i2pd-2.50.2.tar.gz) = 663010
+SHA256 (i2pd-2.51.0.tar.gz) = 1+T+LFw8AKkRXwYbeXvj0vyBuyW+3bIKY2risMkSzjE=
+SIZE (i2pd-2.51.0.tar.gz) = 670699
Index: patches/patch-nodebug
===================================================================
RCS file: patches/patch-nodebug
diff -N patches/patch-nodebug
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-nodebug 8 Apr 2024 09:40:43 -0000
@@ -0,0 +1,12 @@
+Index: Makefile
+--- Makefile.orig
++++ Makefile
+@@ -32,7 +32,7 @@
+ USE_AESNI := $(or $(USE_AESNI),yes)
+ USE_STATIC := $(or $(USE_STATIC),no)
+ USE_UPNP := $(or $(USE_UPNP),no)
+-DEBUG := $(or $(DEBUG),yes)
++DEBUG := $(or $(DEBUG),no)
+
+ # for debugging purposes only, when commit hash needed in trunk builds in i2pd version string
+ USE_GIT_VERSION := $(or $(USE_GIT_VERSION),no)
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/net/i2pd/pkg/PLIST,v
retrieving revision 1.12
diff -u -p -r1.12 PLIST
--- pkg/PLIST 20 Dec 2023 22:19:44 -0000 1.12
+++ pkg/PLIST 8 Apr 2024 09:40:43 -0000
@@ -50,6 +50,7 @@ include/i2pd/SSU2.h
include/i2pd/SSU2Session.h
include/i2pd/Signature.h
include/i2pd/Siphash.h
+include/i2pd/Socks5.h
include/i2pd/Streaming.h
include/i2pd/Tag.h
include/i2pd/Timestamp.h
@@ -131,6 +132,12 @@ share/examples/i2pd/certificates/reseed/
@sample ${LOCALSTATEDIR}/lib/i2pd/certificates/reseed/acetone_at_mail.i2p.crt
@owner
@group
+share/examples/i2pd/certificates/reseed/admin_at_stormycloud.org.crt
+@owner _i2pd
+@group _i2pd
+@sample ${LOCALSTATEDIR}/lib/i2pd/certificates/reseed/admin_at_stormycloud.org.crt
+@owner
+@group
share/examples/i2pd/certificates/reseed/arnavbhatt288_at_mail.i2p.crt
@owner _i2pd
@group _i2pd
@@ -191,12 +198,6 @@ share/examples/i2pd/certificates/reseed/
@sample ${LOCALSTATEDIR}/lib/i2pd/certificates/reseed/ls_at_mail.i2p.crt
@owner
@group
-share/examples/i2pd/certificates/reseed/null_at_i2pmail.org.crt
-@owner _i2pd
-@group _i2pd
-@sample ${LOCALSTATEDIR}/lib/i2pd/certificates/reseed/null_at_i2pmail.org.crt
-@owner
-@group
share/examples/i2pd/certificates/reseed/orignal_at_mail.i2p.crt
@owner _i2pd
@group _i2pd
@@ -215,12 +216,6 @@ share/examples/i2pd/certificates/reseed/
@sample ${LOCALSTATEDIR}/lib/i2pd/certificates/reseed/rambler_at_mail.i2p.crt
@owner
@group
-share/examples/i2pd/certificates/reseed/reheatedburger_at_protonmail.com.crt
-@owner _i2pd
-@group _i2pd
-@sample ${LOCALSTATEDIR}/lib/i2pd/certificates/reseed/reheatedburger_at_protonmail.com.crt
-@owner
-@group
share/examples/i2pd/certificates/reseed/reseed_at_diva.exchange.crt
@owner _i2pd
@group _i2pd
@@ -237,3 +232,7 @@ share/examples/i2pd/tunnels.conf
@owner _i2pd
@group _i2pd
@sample ${SYSCONFDIR}/i2pd/tunnels.conf
+@owner
+@group
+share/examples/login.conf.d/i2pd
+@sample ${SYSCONFDIR}/login.conf.d/i2pd
Index: pkg/README
===================================================================
RCS file: /cvs/ports/net/i2pd/pkg/README,v
retrieving revision 1.3
diff -u -p -r1.3 README
--- pkg/README 8 Nov 2022 12:41:42 -0000 1.3
+++ pkg/README 8 Apr 2024 09:40:43 -0000
@@ -5,20 +5,22 @@
Resource Limits: File Descriptors
=================================
-By default, the i2pd process runs in the login(1) class of "daemon".
-The default limits on file descriptors are insufficient to run i2pd; instead you
-should put the _i2pd user and process in their own login(1) class with tuned
-resources.
-You should also raise the system-wide maxfiles limit.
+${PKGSTEM} needs to open a lot of file descriptors.
-1. Configure i2pd login class in the login.conf(5) file:
+For a regular node, you should raise the system-wide maxfiles limit to
+8192:
- i2pd:\
- :openfiles-cur=8192:\
- :openfiles-max=8192:\
- :tc=daemon:
-
-2. Adjust kern.maxfiles, if needed:
+ # sysctl kern.maxfiles=8192
+ # echo "kern.maxfiles=8192" >> /etc/sysctl.conf
+If you intend to run a floodfill, you should raise this limit even more:
+
# sysctl kern.maxfiles=16000
# echo "kern.maxfiles=16000" >> /etc/sysctl.conf
+
+and also edit /etc/login.conf.d/i2pd:
+
+ i2pd:\
+ :openfiles-cur=8192:\
+ :openfiles-max=8192:\
+ :tc=daemon:
Index: pkg/i2pd.login
===================================================================
RCS file: pkg/i2pd.login
diff -N pkg/i2pd.login
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ pkg/i2pd.login 8 Apr 2024 09:40:43 -0000
@@ -0,0 +1,4 @@
+i2pd:\
+ :openfiles-cur=4096:\
+ :openfiles-max=4096:\
+ :tc=daemon:
[update] i2pd-2.51.0