zzz
I got github.com/pack200/pack200 working
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
10 4
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
dr|z3d
haha
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
original (windows) UI -> linux-cdn.softpedia.com/screenshots/Hamachi-gui_3.png
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
ja
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?
zzz
no
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
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.