diff --git a/pages/blog.html b/pages/blog.html new file mode 100644 index 0000000..5094ebd --- /dev/null +++ b/pages/blog.html @@ -0,0 +1,8 @@ +{{define "content"}} +
requirements i2pd (might work with the java i2p's too) and prosody
+
+dont follow this guide blindly read prosody and i2pd documentation
+
+ make sure you have the socks proxy enabled in /etc/i2pd/i2pd.conf it should be enabled by default
+
+ edit /etc/i2pd/tunnels.conf add the following tunnels (if you dont want c2s, s2s or to use prosodys html server you can feel free to delete the entries for them)
+
+[prosody-s2s] +type=server +host=127.0.0.1 +port=5269 +inport=5269 +keys=prosody.dat + +[prosody-c2s] +type=server +host=127.0.0.1 +port=5222 +inport=5222 +keys=prosody.dat + +[prosody-html] +type=server +host=127.0.0.1 +port=5281 +inport=5281 +keys=prosody.dat+
then go to the i2pd webconsoles i2p tunnel page, the b32 address will be your address, you can choose to register it in reg.i2p if you want a shortened address like kisu.i2p (if you have a eepsite already like i do you can choose to reuse the same keys)
+
+you kinda need to read documentation for this as prosody configuration can be quite complex. i will provide basics for setting it up.
+
+
+open up /etc/prosody/prosody.cfg.lua
+note what path plugin_paths specifies, the default on gentoo is plugin_paths = { "/usr/lib64/prosody/modules", "/usr/lib64/prosody/community-modules" };
+
+also check what the location for certificates is and what group prosody uses on gentoo this is "prosody" but on openbsd it is _prosody
+
+
+you will need to download and place the mod_darknet.lua from https://github.com/majestrate/mod_darknet module inside of the folder specified.
+
+i will just do:
+
sudo mkdir /usr/lib64/prosody/community-modules +sudo wget -O /usr/lib64/prosody/community-modules/mod_darknet.lua https://raw.githubusercontent.com/majestrate/mod_darknet/refs/heads/master/mod_darknet.lua ++(this module is only needed for server to server (s2s)) +
s2s_secure_auth = false;+mod_darknet modules default settings are +
darknet_socks5_host = "127.0.0.1"; +darknet_socks5_port = 4447; +darknet_only = false; +darknet_force_all = false;+if you want to change these you should set the options at the global section of the prosody config +
VirtualHost "xxx.b32.i2p"
+Component "muc.xxx.b32.i2p" "muc"
+ -- darknet module needs to be enabled on the muc component seperately
+ modules_enabled = { "darknet", muc_mam" }
+Component "upload.xxx.b32.i2p" "http_file_share"
+ modules_disabled = { "s2s" }
+ http_host = "xxx.b32.i2p:5281"
+
+now we can generate our certs, to generate a cert for all three just do
+openssl genrsa -out /etc/prosody/certs/xxx.b32.i2p.key 2048
+openssl req -new -x509 -key /etc/prosody/certs/xxx.b32.i2p.key -out /etc/prosody/certs/xxx.b32.i2p.crt -days 3650 -subj "/CN=xxx.b32.i2p" -addext "subjectAltName=DNS:xxx.b32.i2p,DNS:*.xxx.b32.i2p"
+chown root:prosody /etc/prosody/certs/*.b32.i2p.{key,crt}
+chmod 640 /etc/prosody/certs/*.b32.i2p.{key,crt}
+( idk what to write here, so its empty for now, thinking about nginx tricks maybe someone could find those helpful )
+( not empty anymore woaw )
public services i host