IRC Client with SAM support

General I2P related talk
Post Reply
User avatar
cumlord
Posts: 152
Joined: Thu Oct 05, 2023 5:01 pm
Location: Erect, NC
Contact:

IRC Client with SAM support

Post by cumlord »

Wanted to test out the i2p.socket lib in python. Thought it might be easier to manage IRC bots this way versus sending many ports everywhere, so ended up doing a test project. Added SAM functionality to an existing client "Mantaray." Working with both i2pd and java routers.

Image

General mods:
- Dark theme modified
- More IRC commands added
- Fixed a problem with SASL auth

I2P relevant settings:
Settings adjusted to work good in i2p without frequent disconnects. i2pd uses 5 tunnels by default (java uses 2) but IRC is low bandwidth, so lowered to 2. (crypto.tagsToSend=20, crypto.lowTagThreshold=14, i2cp.leaseSetEncType=4)
- Timeouts increased in mantaray
- 2 tunnels/3 hops per LS
- For now this is hardcoded

It will generate a random "anon-xxx" nick for you. Each server added will use a different, transient b32. Each server can specify a different i2p router host:port for sam if you need that sort of thing. A config.json file keeps the specs for each profile, so hopping between idents or using different i2p routers should be easy.

I would like the option to use one LS/b32 for multiple connections but that would take some reworking. More resource efficient/better for the network to do it that way if you don't absolutely need each server connection using a different b32.

I'll reiterate that this is just a test project, i have not sunk a considerable amount of time testing it, can't guarantee anything. I'm open to working on it more if there's interest. Otherwise SAM was very easy to setup in this context :)

Basic install guide: http://simp.i2p/irc-guide/0001-05-27-20 ... C%20client
git: http://git.simp.i2p/simp/mantaray

install script:

Code: Select all

curl --retry 5 -x http://127.0.0.1:4444 -O http://git.simp.i2p/simp/mantaray/raw/branch/master/installer.py && python3 installer.py
Last edited by cumlord on Sun Apr 06, 2025 5:10 pm, edited 2 times in total.
User avatar
cumlord
Posts: 152
Joined: Thu Oct 05, 2023 5:01 pm
Location: Erect, NC
Contact:

Re: IRC Client with SAM support

Post by cumlord »

I've been dog fooding this and by now and i actually like using it as a client. i'm seeing stable long-term connections with this. i may bump the tunnel quantity up to 3, but it often will stay connected for days at a time without needing to reconnect

Updates
potential for dos: I found an issue that allowed me to connect to and spam the client tunnels directly, which the client ignored anyway, but has been fixed

installer: the installer has been upgraded a lot and will now compile the program to a single file executable called "MantarayI2P" which can be moved around. this way you don't need to run it from cli. the source files will remain which will let you still run it from cli and with different profiles, but if you don't need that functionality the "mantaray" directory with source files can be deleted
Post Reply