Compare commits

...
2 Commits
Author SHA1 Message Date
kisukalat 88e5e113f8 blog yay 2026-09-09 02:14:19 +03:00
kisukalat 69b78b5db1 update omemo keys 2026-09-09 00:23:40 +03:00
5 changed files with 115 additions and 9 deletions
+8
View File
@@ -0,0 +1,8 @@
{{define "content"}}
<h2>
blogs
</h2>
<ul>
<li><a href="/blog/xmpp">hosting xmpp on i2p</a> — september 9th 2026</li>
</ul>
{{end}}
+94
View File
@@ -0,0 +1,94 @@
{{define "content"}}
<h2>
tootorial on how to host xmpp server on i2p
</h2>
<p>requirements i2pd (might work with the java i2p's too) and prosody
<br>
<b>dont follow this guide blindly read <a href="https://prosody.im/doc/">prosody</a> and <a href="https://docs.i2pd.website/en/latest/">i2pd</a> documentation</b>
</p>
<h2>
i2pd setup
</h2>
<p>
make sure you have the socks proxy enabled in /etc/i2pd/i2pd.conf it should be enabled by default
<br>
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)
</p>
<pre>
[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</pre>
<p>then go to the <a href="http://localhost:7070/?page=i2p_tunnels">i2pd webconsoles</a> 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)</p>
<h2>
prosody setup
</h2>
<p>
you kinda need to read documentation for this as prosody configuration can be quite complex. i will provide basics for setting it up.
<br>
<br>
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" };
<br>
also check what the location for certificates is and what group prosody uses on gentoo this is "prosody" but on openbsd it is _prosody
<br>
<br>
you will need to download and place the mod_darknet.lua from <a href="https://github.com/majestrate/mod_darknet">https://github.com/majestrate/mod_darknet</a> module inside of the folder specified.
<br>
i will just do:
<pre>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
</pre>
(this module is only needed for server to server (s2s))
<br>
<br>
to enable the module globally to all virtualhost just add it to the modules_enabled configution block, you also might want to enable other modules you can do so by uncommenting them, examples of these would be mam for message archiving, and s2s-bidi for bidirectional s2s
<br>
you also need to add the following to make i2p s2s work
<pre>s2s_secure_auth = false;</pre>
mod_darknet modules default settings are
<pre>darknet_socks5_host = "127.0.0.1";
darknet_socks5_port = 4447;
darknet_only = false;
darknet_force_all = false;</pre>
if you want to change these you should set the options at the global section of the prosody config
<br>
<br>
then to configure the virtualhosts, muc component and file upload component, you can use this skeleton i provided (you also might want to delete the "localhost" virtualhost (you can also use your shortened i2p url, but you also need to register the muc service if you want it accessible by others)
<pre>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"
</pre>
now we can generate our certs, to generate a cert for all three just do
<pre>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}</pre>
<br><br>
now everything should be done and you can create accounts with prosodyctl adduser user@xxx.b32.i2p, you can also add that user to the admin config block.
<br>
to use these accounts you need an xmpp client and the i2p proxy on gajim you add user press advanced options create a new http proxy, you might need to accept the self signed certificate.
</p>
{{end}}
+1 -1
View File
@@ -1,7 +1,7 @@
{{define "content"}} {{define "content"}}
<h2> <h2>
Kisu's cool site Kisu's cool site
<p class="submissivetext">( idk what to write here, so its empty for now, thinking about nginx tricks maybe someone could find those helpful )</p> <p class="submissivetext">( not empty anymore woaw )</p>
</h2> </h2>
<p>public services i host</p> <p>public services i host</p>
<ul> <ul>
+10 -7
View File
@@ -1,7 +1,7 @@
-----BEGIN PGP SIGNED MESSAGE----- -----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512 Hash: SHA512
Here are my only OMEMO fingerprints as of jaunary 27th 2026 ( also serves as a kind of canary but only ironically i will probably be fine for the forseeable future ) Here are my only OMEMO fingerprints for kisu@kisukalat.xyz as of september 9th 2026
#1: #1:
31631C30 C33D65D0 7B29ECEE 8FED3DFC 31631C30 C33D65D0 7B29ECEE 8FED3DFC
@@ -11,14 +11,17 @@ CD69585C 22633446 E15DDC11 DF102110
49A5BC85 903043B0 A8E74347 DB2145F7 49A5BC85 903043B0 A8E74347 DB2145F7
6564C423 55DAED66 43A6778C 53E2763F 6564C423 55DAED66 43A6778C 53E2763F
#3:
B48C50B5 AF26F59D CE64872B A8259C29
704DE8E3 E2BBAE8A FD2F066C 6DAA9061
dont blind trust any other devices dont blind trust any other devices
latest Monero blockhash: d59fe1be001652bc46a3726d6e1720c7ff93fe576821d7afd97e52d7c6c2f029
-----BEGIN PGP SIGNATURE----- -----BEGIN PGP SIGNATURE-----
iJEEARYKADkWIQRFz4182/TVTJ5Wm8q0K7tUISd8YgUCaXhn9xsUgAAAAAAEAA5t iJEEARYKADkWIQRFz4182/TVTJ5Wm8q0K7tUISd8YgUCaqB8WBsUgAAAAAAEAA5t
YW51MiwyLjUrMS4xMSwyLDIACgkQtCu7VCEnfGJc6wEAjbSKwUfVQuG9VAyYNAbt YW51MiwyLjUrMS4xMiwyLDIACgkQtCu7VCEnfGIBHQD+OPF0g/S8WY2pt9KGrdSf
sSFXdv5XK5QEzyeoDZnfrCUA/iRNcmmOq0ykzIONVBSBPwSz2sQPBJ9DMigCcREF Dw7bxBalWUhkRfUP8dxehoQBAPnF0Wssf9weiu7pwCQ2TRFB5Cjn2F8g7URSw2ws
csoA Z8IK
=02ob =aM9t
-----END PGP SIGNATURE----- -----END PGP SIGNATURE-----
+2 -1
View File
@@ -1,6 +1,7 @@
<header> <header>
<p> <p>
<a href="/" target="_top"><b> Home</b></a><b> | <a href="/" target="_top"><b> Home</b></a><b> |
<a href="/contact" target="_top">Contact</a></b> <a href="/contact" target="_top">Contact</a></b> |
<a href="/blog" target="_top"><b>Blog</a></b>
</p> </p>
</header> </header>