IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#saltr
/2024/09/19
~dr|z3d
@RN
@RN_
@StormyCloud
@eyedeekay
@postman
@zzz
%Liorar
+FreefallHeavens
+Xeha
+bak83_
+cumlord
+hk
+poriori
+profetikla
+uop23ip
Arch
DeltaOreo
FreeRider
Irc2PGuest10850
Irc2PGuest19353
Irc2PGuest23854
Irc2PGuest46029
Irc2PGuest48064
Meow
Nausicaa
Onn4l7h
Onn4|7h
Over
T3s|4__
acetone_
anon4
anu
boonst
enoxa
glowie
mareki2pb
mittwerk
orignal
plap
shiver_
simprelay
solidx66
u5657_1
weko_
orignal made one more fix for visual studio
dr|z3d dolphinandcat: welcome to #saltr. have you looked at hub.docker.com/r/justinhimself/i2pplus ?
dolphinandcat no, i will try it thanks
dolphinandcat wait nevermind that's for #i2p
dr|z3d y2kboy runs i2p+ in a docker.
dolphinandcat that's 4446 commits behind
dolphinandcat i'm betting even official i2p is more up to date
dr|z3d if you've got a functional recipe for docker, you should be good.
dolphinandcat is the mirror on git.idk.i2p behind or current?
dr|z3d that's for canon i2p, not i2p+
dolphinandcat the problem is when i run i2pplus with the same dockerfile it gets confused about where the config paths are
dolphinandcat i meant same dockercompose
dolphinandcat not dockerfile
dolphinandcat any idea why i2p uses alpine:3.17.1 yet i2pplus uses jlesage/baseimage:debian-11-v3?
dolphinandcat wait no i meant
dolphinandcat it uses jlesage/baseimage:alpine-3.15-glibc
dolphinandcat i switched it to debian because jlesage/baseimage:alpine-3.15-glibc was only for amd64 and my raspberry pi is arm64
zzz whats the last you saw dr|z3d
dr|z3d last here:
dr|z3d <dolphinandcat> is the mirror on git.idk.i2p behind or current?
dr|z3d <dr|z3d> that's for canon i2p, not i2p+
dr|z3d <dr|z3d> this may also be useful: github.com/by-justin/docker-autobuild
dr|z3d <dr|z3d> git.idk.i2p is current, anyways. it's the same as i2pgit.org
dolphinandcat i thought i2pgit had a i2pplus repository, anyway i got confused
dolphinandcat i want to propose that we stop using jlesage/baseimage:alpine-3.15-glibc and start using normal alpine base image, the same one i2p uses. because jlesage/baseimage:alpine-3.15-glibc is only available for amd64 whereas docker's standardalpine is multiarch
dr|z3d if you want better support, have a look at this? if you've got an MR, both i2p and i2pplus are happy to have a look.
dr|z3d if you register your nick, goose2, I'll put you on autovoice.
dolphinandcat what's autovoice?
dr|z3d it's what you've got. you're voice when you enter the channel, assuming you're registered and identified to nickserv.
dr|z3d *voiced
dr|z3d it means you can speak in channel.
dr|z3d if you type /cycle dolphinandcat, you'll see it in action.
dolphinandcat i read about some irc chathistory extension some ircv3 thing, is it a thing here i can enable?
dr|z3d your client should provide a history buffer, and/or logs.
dr|z3d or you might want to look at znc.
dolphinandcat well yea, it remembers it from like last day
dolphinandcat but not from when i wasn't online
dolphinandcat it can't go like "hey what'd i miss" to the server
dolphinandcat like discord and matrix and stuff
dr|z3d that's where znc works, assuming you can put that online 24/7
dr|z3d failing that, major.i2p
cumlord you got to be online irc server doesn't store by default, unrealircd can but these aren't setup that way
dolphinandcat so i run a server on my raspberry pi that pretends to be me and i connect to it and proxy through it, so even when i close my client it still keeps me on and has logs?
dr|z3d zzz, I missed something?
zzz maybe
zzz <dolphinandcat> the problem is when i run i2pplus with the same dockerfile it gets confused about where the config paths are
zzz <dolphinandcat> i meant same dockercompose
zzz <dolphinandcat> not dockerfile
zzz <dolphinandcat> any idea why i2p uses alpine:3.17.1 yet i2pplus uses jlesage/baseimage:debian-11-v3?
zzz <dolphinandcat> wait no i meant
zzz <dolphinandcat> it uses jlesage/baseimage:alpine-3.15-glibc
zzz <dolphinandcat> i switched it to debian because jlesage/baseimage:alpine-3.15-glibc was only for amd64 and my raspberry pi is arm64
zzz eot
dr|z3d oh, thanks. got most of that.
cumlord dolphinandcat yeah pretty much, bouncer like znc will do that or some webclients
dr|z3d maybe we should switch to that.
dolphinandcat not quite
dolphinandcat you should switch to the normal alpine imeage
dolphinandcat not jlesage/baseimage:alpine-3.15-glibc
dolphinandcat because jlesage/baseimage:alpine-3.15-glibc is only for amd64
dolphinandcat normal alpine is multiarch
dr|z3d ah, I gotcha. we need to bump up the version to .17 and all is good?
dr|z3d as to why i2pplus uses the debian baseimage, I couldn't tell you. maybe that's what y2kboy3 offered in an MR. I'm not really on top of the docker stuff.
dolphinandcat it doesn't
dolphinandcat like i said i made a mistake
dolphinandcat i switched it to debian on my git clone
dolphinandcat it uses a weird fork of docker's alpine image
dr|z3d ah, ok.
dolphinandcat that only supports amd64
dolphinandcat whereas i2p just uses normal alpine
dolphinandcat also it seems to not work
dolphinandcat i'll switch it to normal alpine and see what happens, maybe debian was the issue
zzz dr|z3d, looks like you may not have picked up some canon changes from Jan. 2023
zzz cc00337ec15063a5b6cc1957ff1e33527d7c3028 and ac4daeb82c79f37f989f5ff400e4801ceb3f7a3e
dr|z3d zzz: more than likely, thanks.
zzz Author: Jean-Luc <jeanluc1@live.de>
zzz Date: Sat Jan 28 09:47:09 2023
zzz changed baseimage to allow for multiarch build (specifically arm64)
zzz Author: Jean-Luc <jeanluc1@live.de>
zzz Date: Sun Jan 29 08:02:54 2023
zzz pinned alpine base image version
dolphinandcat for i2pplus development, do i use github, gitlab or i2pplus's gitea?
dr|z3d any of them.
dr|z3d github and gitlab are realtime, git.skank is max 10m behind.
dolphinandcat i'll go with github then i guess?
dr|z3d whatever works for you. github and gitlab are synced at the same time.
eyedeekay goose2 I need your email to approve your account
dr|z3d roger that, zzz, thanks, I'll make the necessary changes.
dr|z3d alpine:latest or alpine:3.17.1 ?
zzz I also know nothing about docker or those changes, just looking at the Dockerfile history; eyedeekay might know more
dolphinandcat latest sounds fine
dr|z3d ok, I'll run with latest then.
dolphinandcat latest is just a symlink to 3.17.1
dolphinandcat and then it'll change to 3.17.2 so when you rebuild after the new alpine releases it'll pull the new image
dr|z3d what about openjdk?
dolphinandcat irc has a set release, me personally i always use latest on my dockerfiles
dolphinandcat from what i see you install alpine package "openjdk17-jre"
dr|z3d 23 has just been marked general availability.
dolphinandcat so that would stay the same
dolphinandcat but it may not be a bad idea to use a newer java version as long as it doesn't break compatibility
dolphinandcat check if alpine has a "openjdk-jre" package that just points to the newest one
dr|z3d that's your job :)
dolphinandcat i use debian
dolphinandcat wait i thought you were doing it?
dr|z3d otherwise it'll stay at 17.
dolphinandcat i can do it too ig
dr|z3d I'm modifying the Dockerfile
dr|z3d I'm just asking you if we need to bump the openjdk version.
dr|z3d I see 'COPY docker/rootfs/ /' in i2pplus vs:
dr|z3d COPY --chown=root:root docker/rootfs/ /
dr|z3d RUN chmod +x /startapp.sh
dr|z3d in upstream. either/or fine?
dolphinandcat actually, i2pplus runs as app:app which is uid 1000:1000
dolphinandcat so do COPY --chown=1000:1000
dolphinandcat to avoid any permission issues
dolphinandcat with the configs
dolphinandcat ykw don't change it right now
dolphinandcat i'll test it
dolphinandcat get it to work
dolphinandcat and ill just open a pr
dolphinandcat i had to do this:
dolphinandcat COPY docker/rootfs/ /
dolphinandcat RUN chown -R 1000:1000 /i2p
dolphinandcat so yea copy with the chown 1000 is the right one prob
dolphinandcat i'll make the dockerfile and pr
dr|z3d here's what's now current:
dolphinandcat what's cake.i2p? a pastebin?
dolphinandcat nevermind it finally loaded
dr|z3d should also be up on gitlab/github.
dolphinandcat did you test it?
dolphinandcat i didn't test it yet-
dr|z3d no, I don't do docker here.
dr|z3d I'm referencing the commit(s) zzz mentioned, github.com/by-justin/docker-autobuild/blob/master/i2pplus/Dockerfile and your feedback.
dolphinandcat actually i'm p sure it will not work
dolphinandcat because you use add-pkg, not apt add
dolphinandcat add-pkg is a command made by the creator of the alpine fork thing
dolphinandcat i have a Dockerfile that should work
dolphinandcat i'll test it and pr if it works
dr|z3d ok, thanks.
dolphinandcat *by apt add i meant apk add
dr|z3d so apk add and apk del instead?
dr|z3d I'll assume that's a yes and commit those changes.
dolphinandcat this should work
dolphinandcat but i'll test it first
dolphinandcat just remove the blank line in line 9
dolphinandcat that i didn't notice on the paste
dr|z3d ok, let me know when you've tested it. thanks.
dolphinandcat ill do a pr
dolphinandcat and open a github pr
dolphinandcat the issue is to test i need to stop my i2p which'll disconnect me from irc2p
dolphinandcat any other way to connect to irc2p outside of i2p?
dolphinandcat maybe some irc2p.postman.com or something?
dr|z3d not really. there used to be a freenode gateway, but that hasn't been working for a while. StormyCloud might be running something, not sure, you'd have to ask him.
cumlord can run another router, i2pd would be quick to setup
dolphinandcat well yes, except
dolphinandcat other device
cumlord you can run on same device
dolphinandcat port conflict
dolphinandcat don't feel like changing every single port
cumlord change http port on i2pd from 4444 to something else
dolphinandcat i use i2p not i2pd
dolphinandcat also i want irc2p to stay up, idc abt i2p, i just want to test the dockerfile for i2pplus
dolphinandcat anyway it's fine
dolphinandcat i'll join back in a bit
cumlord that's why i keep a separate one for irc
dolphinandcat "Docker persistent home" is what broke the whole thing
dolphinandcat that one line
dolphinandcat changing I2P=${HOME} to I2P=${HOME}/i2p is what broke it all
dr|z3d thanks, dolphinandcat, I'll probably manual merge that and credit you in the commit note.
dolphinandcat why manual merge?
dolphinandcat i mean it's fine
dr|z3d because it's easier for me.
dr|z3d you've also manged things.
dr|z3d RUN apk add openjdk17-jre ttf-opensans
dr|z3d RUN apk add openjdk17-jre ttf-dejavu
dolphinandcat idk that's how it was from i2p, ig you can just not include that line
dr|z3d you've not respected the changes that are specific to I2P+
dolphinandcat i didn't notice the font change
dr|z3d the font is required for the graphs.
dr|z3d so I'll be manually merging. :)
dr|z3d we didn't establish if root permissions are actually required, either.
dolphinandcat yea actually that weird alpine image
dolphinandcat it does the whole app user thing
dolphinandcat when running normally
dolphinandcat it runs as root
dolphinandcat i can make it run as a non-root docker user i guess if it's something that you think matters
dolphinandcat but running as root is simpler in docker
dolphinandcat less permission hell
dr|z3d better not to run it as root, but if it's all self-contained, probably not an issue.
dolphinandcat also there seems to be a docker.entrypoint.sh that isn't used anywhere so if you wanna delete it
dolphinandcat at some point it prob was used, then the way docker worked changed again and it stopped being used but never got removed
dolphinandcat i should prob check if it is being used first tho
dolphinandcat lemme check and i'll let u know if it's needed
dolphinandcat it's not in use
dolphinandcat it's some old
dolphinandcat from back when i2p was in /opt/i2p and not just /i2p, that's how old
dolphinandcat (talking abt the docker image, i'm assuming it's /opt/i2p on normal installs)
dolphinandcat i'll also update the Docker.md docs a lil bit i think i can improve them to make it easier for others
dr|z3d ok, but can you use the files from the i2pplus repo as your starting point, not the files on the i2p repo. only change what's necessary.
dr|z3d otherwise it just creates more work for me.
dolphinandcat yea obviously
dolphinandcat how do i escape the smile emoji?
dolphinandcat i wanna send a normal text-based smile
dr|z3d prefix it with a space perhaps if the first character is a .
dolphinandcat didn't work
dolphinandcat the problem with Docker.md is that because i2pplus is a softfork of i2p, nothing mentions i2pplus so i was trying to figure out, is geti2p/i2p actually i2pplus or what rd|z3d
dolphinandcat and that's currently what i'm trying to solve, provide documentation for both
dr|z3d ok, dolphinandcat, thanks, we appreciate the effort.
uop23ip Hi dr|z3d , router.overrideIsSlow=true did not work for arm iirc, they are always classified as slow, correct?
dr|z3d not necessarily, uop23ip, let's have a look at the source.
uop23ip it does not work for me on arm, at least it doesn't show up on routerinfo. restarted ofc.
dr|z3d public static boolean isSlow() {
dr|z3d // we don't put the NBI call in the static field,
dr|z3d // to prevent a circular initialization with NBI.
dr|z3d return _isSlow || !NativeBigInteger.isNative() || (getCores() < 4 && !is64Bit()) ||
dr|z3d (getCores() == 1 && getMaxMemory() < 384*1024*1024L) &&
dr|z3d !I2PAppContext.getGlobalContext().getBooleanProperty(PROP_OVERRIDE_IS_SLOW);
dr|z3d so technically if you've configured overrideIsSlow, then wherever the router uses isSlow() to determine behavior, you won't be treated as slow.
uop23ip btw. is Native BigInteger library jbigi not loaded a big performance minus?
dr|z3d it is.
dr|z3d if you're not loading jbgi and running it via software emulation, that may prevent you overriding isSlow()
uop23ip looks like fun geti2p.net/en/misc/jbigi. Is legit for plus,too?
dr|z3d if you mean building your own, sure, works for both.
uop23ip my cpu doesn't seem to be correct detected. unrecognized  [Jcpuid version: 0].
dr|z3d entirely possible, cpuid isn't an exhaustive list.
uop23ip bc armv8_64 is there in jbigi.jar
uop23ip can i force it to use armv8_64?
dr|z3d what chip have you got?
uop23ip pi4 Cortex-A72 (ARM v8) 64-bit SoC
dolphinandcat uop23ip, you rocking a raspberry pi 4 too? today i contributed a fix to make i2pplus docker image work on arm, so that i could use it on my raspberry pi
uop23ip thanks for that, dolphinandcat
dolphinandcat you got the 8gb model or the 4gb?
uop23ip lower :)
dolphinandcat who buys that?
dolphinandcat i got the 8gb
uop23ip static String getCPUModelName() mmm
uop23ip "probably using other detection methods than the x86-only CPUID instruction" xx86 only?
dolphinandcat i just noticed
dolphinandcat that it supports sunos
dolphinandcat who uses sunos-?
dr|z3d uop23ip: yeah, that's the place.
dr|z3d although it's been modified over the years, it was originally pulled from freenet.
uop23ip "Native CPUID library jcpuid not loaded - will not be able to read CPU information using CPUID"
uop23ip can't run cpuid, can't search for the right arch name, no native bigilib found, i guess that's what happened here
dr|z3d smells like it.
uop23ip Tries to resolve the best type of CPU that we have an optimized jbigi-dll/so for.
uop23ip * This is for x86 only.
uop23ip * @return A string containing the CPU-type or null if CPU type is unknown
uop23ip private static String resolveCPUType() {
uop23ip but can branch to else if (_isArm) , but it uses getCPUInfo() cpuid, which fails results in false, i guess
uop23ip has v8 in if (arch.startsWith("8")) return JBIGI_OPTIMIZATION_ARM_ARMV8;
uop23ip needed a if !cpuid {type in your arch} or just return JBIGI_OPTIMIZATION_ARM_ARMV8 for everything :) idk
dr|z3d that's probably also of interest to canon/zzz.
dr|z3d I've added some additional detection for AMD cpus, but mostly it's zzz's domain.
uop23ip in CPUID.java there is private static final void loadNative() which returns false if there isn't a Native CPUID library, which is needed by cpuid. checking it to see if cpuid will work at all