From 6a54a30e50cf91f736563288358143072b73b3c9 Mon Sep 17 00:00:00 2001
From: Bob Mottram <bob@freedombone.net>
Date: Sun, 11 Feb 2018 19:38:05 +0000
Subject: [PATCH] Enable ipv6 when i2p is installed

---
 src/freedombone-utils-firewall |  2 +-
 src/freedombone-utils-i2p      | 14 ++++++++++++++
 2 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/src/freedombone-utils-firewall b/src/freedombone-utils-firewall
index 8c4299734..2359fbe43 100755
--- a/src/freedombone-utils-firewall
+++ b/src/freedombone-utils-firewall
@@ -265,7 +265,7 @@ function configure_internet_protocol {
     if ! grep -q "ignore pings" /etc/sysctl.conf; then
         echo '# ignore pings' >> /etc/sysctl.conf
         echo 'net.ipv4.icmp_echo_ignore_all = 1' >> /etc/sysctl.conf
-        echo 'net.ipv6.icmp_echo_ignore_all = 1' >> /etc/sysctl.conf
+        #echo 'net.ipv6.icmp_echo_ignore_all = 1' >> /etc/sysctl.conf
     fi
     if ! grep -q "disable ipv6" /etc/sysctl.conf; then
         echo '# disable ipv6' >> /etc/sysctl.conf
diff --git a/src/freedombone-utils-i2p b/src/freedombone-utils-i2p
index 1a0bb5d1c..f9c25f064 100755
--- a/src/freedombone-utils-i2p
+++ b/src/freedombone-utils-i2p
@@ -53,10 +53,24 @@ function install_i2p {
     echo "deb https://${I2P_DOMAIN}/ stretch main" > /etc/apt/sources.list.d/i2p.list
     echo "deb-src https://${I2P_DOMAIN}/ stretch main" >> /etc/apt/sources.list.d/i2p.list
 
+    # i2p needs ipv6 to be enabled
+    sed -i 's|net.ipv6.conf.all.disable_ipv6.*|net.ipv6.conf.all.disable_ipv6 = 0|g' /etc/sysctl.conf
+    /sbin/sysctl -p -q
+
     apt-get update
     apt-get -yq install i2p i2p-keyring
 }
 
 function remove_i2p {
     apt-get -yq remove i2p i2p-keyring --purge
+
+    # It's assumed here that ipv6 is only needed for i2p
+    # This might not be true in future
+    sed -i 's|net.ipv6.conf.all.disable_ipv6.*|net.ipv6.conf.all.disable_ipv6 = 1|g' /etc/sysctl.conf
+    /sbin/sysctl -p -q
+}
+
+function i2p_enable_sam {
+    sed -i 's|clientApp.1.startOnLoad=.*|clientApp.1.startOnLoad=true|g' /var/lib/i2p/i2p-config/clients.config
+    systemctl restart i2p
 }
-- 
GitLab