summaryrefslogtreecommitdiff
path: root/modules/core/networking/i2p.nix
diff options
context:
space:
mode:
authorFuwn <[email protected]>2024-09-20 05:36:20 -0700
committerFuwn <[email protected]>2024-09-20 05:36:20 -0700
commitd9747c64b038943253eaafdc59a49d5face46dab (patch)
treeb452d15a7f20e9f4bb70ec9f9040137bec1072f8 /modules/core/networking/i2p.nix
parenthimeji: move containers over from seti (diff)
downloadnixos-config-d9747c64b038943253eaafdc59a49d5face46dab.tar.xz
nixos-config-d9747c64b038943253eaafdc59a49d5face46dab.zip
modules: server and core modules
Diffstat (limited to 'modules/core/networking/i2p.nix')
-rw-r--r--modules/core/networking/i2p.nix86
1 files changed, 86 insertions, 0 deletions
diff --git a/modules/core/networking/i2p.nix b/modules/core/networking/i2p.nix
new file mode 100644
index 0000000..8bca73e
--- /dev/null
+++ b/modules/core/networking/i2p.nix
@@ -0,0 +1,86 @@
+{
+ # https://voidcruiser.nl/rambles/i2p-on-nixos/
+ containers.i2pd = {
+ autoStart = true;
+
+ config = {
+ system.stateVersion = "24.05";
+
+ networking.firewall.allowedTCPPorts = [
+ 7656
+ 7070
+ 4447
+ 4444
+ ];
+
+ services.i2pd =
+ let
+ address = "0.0.0.0";
+ in
+ {
+ inherit address;
+
+ enable = true;
+ upnp.enable = true;
+ bandwidth = 512;
+ websocket.address = address;
+ yggdrasil.address = address;
+ reseed.verify = true;
+
+ proto = {
+ bob.address = address;
+
+ i2pControl = {
+ inherit address;
+
+ enable = true;
+ };
+
+ socksProxy = {
+ inherit address;
+
+ enable = true;
+ };
+
+ http = {
+ inherit address;
+
+ enable = true;
+ strictHeaders = false;
+ };
+
+ i2cp = {
+ inherit address;
+
+ enable = true;
+ };
+
+ sam = {
+ inherit address;
+
+ enable = true;
+ };
+
+ httpProxy = {
+ inherit address;
+
+ enable = true;
+ # outproxy = "http://false.i2p";
+ # outproxy = "http://purokishi.i2p:4444";
+ # outproxy = "http://outproxy.acetone.i2p:3128";
+ outproxy = "http://exit.stormycloud.i2p:4444";
+ # outproxy = "http://outproxy.bandura.i2p:4444";
+ };
+ };
+
+ addressbook.subscriptions = [
+ "http://inr.i2p/export/alive-hosts.txt"
+ "http://i2p-projekt.i2p/hosts.txt"
+ "http://stats.i2p/cgi-bin/newhosts.txt"
+ "http://reg.i2p/export/hosts.txt"
+ "http://notbob.i2p/hosts.txt"
+ ];
+ };
+ };
+ };
+}