IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#i2p-dev
/2022/11/14
zzz it's by far the best solution
dr|z3d_ looking into that right now. did you just swapout the classname and drop the .jar in lib?
dr|z3d_ java.util.jar.Pack200 -> java.io.Pack200 ?
zzz io.pack200.Pack200
zzz but couldn't figure out how to build it, no instructions
zzz so just copied over to core
dr|z3d_ oh, it's mvn.
dr|z3d mvn package should build it and a bunch of other crud.
dr|z3d you feel inclined to push the mods you've done to FileUtil.java? :)
dr|z3d otherwise I'll just hack away here. no problem either way.
zzz trying mvn
zzz waiting for the stupid tests, don't see what the target is that skips them
zzz build failed
dr|z3d oh, something like --skip-tests, hang on, I'll find it.
zzz did you get a jar built?
dr|z3d mvn package -Dmaven.test.skip=true
dr|z3d yeah, got the .jar and everything else. you want that?
zzz I'll just try the test skip
dr|z3d for reference, re maven tests: educba.com/maven-skip-test
zzz ok that's a third of the size of commons-compresss.jar, not surprising since commons is filled with other stuff
dr|z3d yeah, commons-compress has a bunch of stuff we don't need, like support for a bunch of other formats.
dr|z3d ~340K, not too bad. :)
zzz here's my diff that just stuffs it all in i2p.jar. instructions in the diff. includes apache too. stats.i2p/docs/pack200.diff
dr|z3d very nice, thanks muchly.
dr|z3d does this mean you might consider including it in canon? :)
zzz I'm fine with including the FileUtil mods but not gonna bundle the code or pack the releases because chicken/egg
dr|z3d ok, sounds reasonable. so no .jar, no pack200 releases.
dr|z3d presumably the .jar gets built and added to lib with the build.xml mods?
zzz yeah p200 was always a nightmare. esp. when we tried to p200 the izpack installer
zzz no, the instructions in my diff are to add the source to core, to be included in i2p.jar
zzz if you want it in a separate jar, that's more build.xml work, have fun
dr|z3d ah, ok, so zero requirement to manually add the pack200.jar then. that's fine by me.
zzz also note you still need java 11 for the build for the pack200 binary. you'd have to do more work to call into i2p.jar itself as part of the build process for the packing if you wanted to remove the pack200 binary reqmt
dr|z3d when you say java11? you mean < 14 to build a pack200 update?
zzz right
dr|z3d ok, that's fine, we're still targetting java8 minimum so I build with 8.
zzz ok, didn't know if you had a higher minimum
dr|z3d no, 8 for now until you decide you want to bump to 9 to get the newer jetty(s) onboard :)
zzz kinda surprising that the java 13 p200 code compiles with java 8; that wasn't a given
dr|z3d yeah, one less headache to navigate. I guess they never did much if anything with the code in the later versions of java knowing they were going to deprecate it.
dr|z3d minor typo in the comments, if you're including those in canon. intruction -> instruction.
zzz we use less letters over here in canonland than you do
zzz no, haven't watched yet
dr|z3d onioncat with an easy to use front end, or something roughly along those lines. I always though I2P with an hamachi style UI to implement a VPN would be pretty killer.
dr|z3d you won't want to watch it from start to finish, but there are a few sections worth a watch.
zzz iirc last year's was on my list and never got to it
zzz last I saw was probably roger live at defcon w/ idk
dr|z3d high guff content. you have been warned :)
dr|z3d I didn't mind it when it was Roger and friends on stage, but the streaming format isn't an easy watch.
zzz actually that's what I'm looking for most, not the tech details, but how they're pitching it
dr|z3d he's worth watching, but I'm not going to spend half an hour watching someone reading from a script talking about UX, or snowflake, or whatever.
dr|z3d oh, well if you're interested in how they're promoting things, then the latest vids may be interesting from that perspective, if not the actual content.
dr|z3d haven't skimmed it all yet, but the most interesting thing for me was the VPN project.
eyedeekay They hinted about it in the one from last year, and it's sort of existed in Orbot too just using cTor for a long time.
eyedeekay For obfuscating location not necessarily identity, and bypassing blocking and censorship.
eyedeekay Like most things it seems, I actually already have a tool that does the same thing over SAMv3: github.com/eyedeekay/udptunnel
dr|z3d will be interesting to see how it functions, UI and wotnot. if it's a tor browser class product, it could get a lot of traction quite quickly.
eyedeekay It's not even close to that yet but the CLI version is quite stable
eyedeekay No GUI yet at all, but not too much of a trial to make one in it's present form
dr|z3d yeah, they have plenty of resources they can throw at it.
dr|z3d I still think a hamachi-style LAN vpn running over I2P would be killer.
dr|z3d simple ui with chat and fileshare baked in, private lans with the usual invite/revoke access functions.
eyedeekay I'll have to look into what you mean by Hamachi-style, I've never used it
dr|z3d there is/was a linux implementation, gHamachi or somesuch. and before it got bought by logmein was when the UI was optimal, UI-wise.
RN does someone check the registration requests on forum regularly?
dr|z3d RN: if you mean i2pforum, you'll want to ask eche|off
dr|z3d zzz: have you done a successful test run of an i2pupdate200.zip file? still getting errors here.
zzz what error
dr|z3d I'm looking at intrinsic properties which has this at the bottom.. Pack200 not supported error, which also kills the install.
dr|z3d # Uncomment this line if the C-coded unpacker seems broken.
dr|z3d #io.pack200.disable.native = true
dr|z3d this is on java20, not sure if that's the issue.
zzz I tested w/ java 18 and: java -jar build/i2p.jar fileutil unzip i2pupdate200.zip
dr|z3d ah, so you haven't done a complete update cycle?
RN thanks dr|z3d
dr|z3d post deployment of the pack200 update, router context goes missing.
dr|z3d and then it's a reinstall job.
RN zzz, yesterday I was trying to make updater with javadoc. The javadoc part is failing for me in java-18. Don't know if it was on my end, or if it is an issue with the jdk version.
zzz I tried it w/ 18 recently, no issues
zzz whats the failure?
RN ok, must be something on my end then.
RN 100 warnings, 1 error... closed that terminal now, and it may be a while before I can retry...
zzz ignore the warnings, find the error
RN If you want I can check if my chat with dr is still in my logs to see if I had more specifics
RN ok.... looking
RN i2p.i2p/build.xml:868: Javadoc returned 1
RN still looking... not sure I pasted the exact error
zzz scroll up to find the error in the sea of warnings
RN yeah, I'll have to re-run it... I don't think I pasted the exact error message
dr|z3d can confirm that command works here, zzz. java -jar build/i2p.jar fileutil unzip i2pupdate200.zip
RN just about done compiling gcc, I should be able to try javadoc build in just a few
zzz ant javadoc | grep error
zzz ok dr|z3d and you got past the chicken/egg issue somehow? new install or manual copy?
RN [javadoc] /usr/home/user/yougit/i2p.i2p/core/java/src/net/i2p/crypto/eddsa/math/ed25519/Ed25519LittleEndianEncoding.java:30: error: header used out of sequence: <H4>
zzz oh you must have a oracle jvm
RN openjdk version "18.0.2" 2022-07-19
zzz hmph
dr|z3d chicken and egg was install a non-pack200 update with the included code first, then the pack200 update. I'll have to triple check that.
dr|z3d that error's minor, can't RN just turn off fail on error?
dr|z3d it's just a pedantic markup issue
zzz and I think h4 is right, I changed it from h2 for java 14
zzz playing with torsocks, fails, have to add basic support for their socks extensions
zzz RN just get rid of the h4's in that file, easier than trying to figure out what your javadoc wants
RN Ok
RN removing the <h4> </h4> pairs did give me working updaterWithJavadoc
RN so, I'll need to make that edit each time I pull? or just if the javadoc itself has changed?
zzz git stash;git pull;git stash pop
RN adding that to script
eyedeekay Mac bundle build process, minus the signing parts, is here if anyone else wants to have a look, already told ech: i2pgit.org/i2p-hackers/i2p-jpackage-mac/-/merge_requests/2/diffs
zzz eyedeekay, have you two figured out who's doing what?
eyedeekay Not specifically yet, but from the looks of things the build and signing processes are necessarily intertwined, because zab had to build the application-image, then sign the native libs, then pack the application-image with the signed native libs into the dmg
eyedeekay So the most I could do is generate the unsigned application-image directory
zzz right
zzz so as stated previously: figure out whether he's doing the whole build, or just the signing/notarization
zzz then get an ARM Mac on order to the right person
eyedeekay Ack. IMO it will probably be easiest for him to do the whole process, setting up and maintaining the build environment is easy and the shell scripts automate everything
zzz and practice the whole process on x86
zzz good work on figuring things out yourself but if you two aren't working together this is going nowhere
zzz so see if he's capable of following the build instructions, signing, and notarizing, on x86
zzz that will tell you who gets the arm mac
eyedeekay That's what I asked him when I sent him the news about the MR, he should get back to me soon
dr|z3d re torsocks, yeah, that was the "with some mods" part :)
dr|z3d I had a suspicion it wouldn't work out the box.
zzz it's being a real pita
dr|z3d are you aiming to use http proxy / connect, or you're just working with socks over i2p for now?
dr|z3d zzz: this is where I'm at with pack200. I built an installer with the patch, then attempted a pack200 update -> cake.i2p/view/7CFEJVKVv7_brr6Pmyz86En9NeAgH65HswfeC9CIA_vDoqqiPodW/wrapper.log
dr|z3d the bottom of that paste indicates the router being hosed after an attempted update.
dr|z3d built with java8, deployed on java20.
zzz it's gagging trying to unpack i2p.jar over itself; you'll have to put the classes in a separate jar and not pack it
dr|z3d ah, ok. hmm.
zzz although i2p.jar is listed ok at line 5, not sure why it's there twice, but perhaps your copypasta
dr|z3d just checked, it's a legit copypasta.
dr|z3d extracted 1s before it moans that it failed in the logs.
dr|z3d I'm thinking at this point just supplying the pack200.jar precompiled might be the way to go, as per some of the jetty libs.
dr|z3d not sure how to go about creating a separate uncompressed jar file is why.
zzz there's a couple of exceptions in build.xml already
dr|z3d ok, I think I found what you're referring to: <!-- no use doing repack200 on jbigi.jar -->
zzz yup
dr|z3d so the javadoc target's in core, does that mean a separate pack200 target could go there to create a .jar, or does the source tree need moving out of core and into apps?
dr|z3d (with a new build.xml?)
zzz you could do some shenanigans in core/java/build.xml to make two jars by splitting up the classes, or having a second src2/ dir, or something
zzz but still have to deal with the 2nd jar in the top-level build
dr|z3d head hurt time. I'd go with not bothering to pack200 i2p.jar if it wasn't such a big file.
zzz i got torsocks working to .i2p addresses
dr|z3d oh, great. what did you need to change?
zzz a lot :)
dr|z3d so I guess you're forking it then?
zzz no no, these are i2ptunnel socks tunnel changes
RN SWEET!
dr|z3d ah, right. was just about to ask if that was the case.
dr|z3d so you're wrapping a browser command? torsocks firefox zzz.i2p ?
zzz torsocks -P 9999 HEAD stats.i2p
dr|z3d gotcha. nice.
zzz not trying to boil the ocean as a first test case
dr|z3d as you say, baby steps.
dr|z3d speaking of baby steps, I now have a build.xml file for pack200 that builds not much. but it doesn't fail.
dr|z3d trying to figure out how to get the compiled .class files into the .jar
dr|z3d ok, one 337K .jar file.