they have IRC somehow
also. "freenet" I guess can mean two things now.
There's the original freenet that I've known of for a long time and been avoiding because it is written in java.
Then in the last decade, dude did a complete rewrite in rust and wanted to keep the name "freenet" for it,
so the original program called freenet is now called hyphanet, and the new rust thing is "freenet".
anyway.
someone installed the java version onto my server, so I've been playing with it for the last couple hours.
I didn't really have a good idea of what I'd need to do to start fiddling with freenet, so I checked all of the open ports that belonged to the only java process.
one of then, 8888, looked like it was probably a good place to check for an HTTP interface.
it was listening on *, so I went to http://21.41.41.5:8888/ from my desktop and got a page that had a bunch of handy links to other places.
there is a plugin that will allow one to connect with an IRC client to a port and use it like you'd expect.
went to the plugin page on 21.41.41.5 and it didn't have a box to let me load a plugin.
I figured there was some permissions differences between a public IP and 127.0.0.1 so, ssh'd to my server and forwarded port 8888
ssh -L 8888:127.0.0.1:8888 21.41.41.5
and then startd using http://127.0.0.1:8888/ and got more options of stuff to do in settings :)
I was able to copy the URL to the flip .jar into the top box, then uncheck the checkbox under it, and got it to load the plugin.
I tried for a while to get it to load from plugin from a file that was store in /home/freenet/ somewhere, but it just said file not found.
settled on just loading it from URL.
next problem was that FLIP wanted to listen on port 6667 which is being used by ngircd so locally ran bots can connect without needing to do TLS.
looked around in settings. was kind of hoping there would have been a button next to "unload" and "reload" labeled "config" but there wasn't.
downloaded the plugin's source and looked for "6667" and found it in some file named uh... "optionssetup.cpp"
thought it was kind of odd that it was written in C++, but, whatever. guess I'm running random compiled code from darknets now.
it said in it something about sqlite3, so I looked in /home/freenet/FLIP and found a flip.db3 that I assumed would hold the config value I needed to change.
also had to lookup how to use sqlite to list tables and columns again. since I'll forget again, I'm gonna leave these notes here for myself.
$ sqlite3 flip.db3
SQLite version 3.40.1 2022-12-28 14:03:47
Enter ".help" for usage hints.
sqlite> .tables
tblAnnounceIndex tblIdentityEdition tblOption
tblChannel tblInsertedMessageIndex tblRetrievedMessageIndex
tblDBVersion tblLocalIdentity
tblIdentity tblLocalIdentityInsert
sqlite> .schema tblOption
CREATE TABLE tblOption(
Option TEXT UNIQUE,
OptionValue TEXT NOT NULL,
OptionDescription TEXT,
Section TEXT,
SortOrder INTEGER,
ValidValues TEXT,
DisplayType TEXT CHECK (DisplayType IN ('textbox','textarea','select','multiselect')) DEFAULT 'textbox',
DisplayParam1 TEXT,
DisplayParam2 TEXT,
Mode TEXT CHECK (Mode IN ('simple','advanced')) DEFAULT 'simple'
);
sqlite> update tblOption set OptionValue = "26667" where Option = "IRCListenPort";
sqlite> .exit
unfortunately the .schema command output the table columns with a bunch of extra space in it for some reason.
then reloaded the plugin so it'd swap ports.
connected to it with irssi and... nothing.
figured it was something dumb with irssi expecting the IRC server to be smarter than it was and did:
irssi> /quote NICK epoch irssi> /quote USER epoch epoch epoch :epoch
and irssi started showing normalish looking new connection things and started acting normally with joins and lists.
welp. it is like, 4am again.