My configuration of the OpenBSD server for my I2P-only IRC server called 地下広場.
ファイルへ移動
b01935aa81 Oops. 2022-12-25 15:33:42 +09:00
etc Oops. 2022-12-25 15:33:42 +09:00
home/ergo/server Initial commit. 2022-12-25 14:20:34 +09:00
usr/ports/net/i2pd Initial commit. 2022-12-25 14:20:34 +09:00
var Initial commit. 2022-12-25 14:20:34 +09:00
README.md Oops. 2022-12-25 15:33:42 +09:00

README.md

Notes

This is the config of my OpenBSD server for 地下広場.
I only added files that got changed or added, but will remove real passwords for security reason in the ircd.yaml file and some others too, and add the comment "#FUCKINGADD" so you know what you'll need to supply by yourself.

Installation

General packages

pkg_add zsh wget tmux cmake make gmake mariadb-server mariadb-client boost gcc g++ portslist

Ports

Copypasta from the OpenBSD site, except we're going to delete their i2pd package.

Terminal

cd /tmp
ftp https://cdn.openbsd.org/pub/OpenBSD/$(uname -r)/{ports.tar.gz,SHA256.sig}
signify -Cp /etc/signify/openbsd-$(uname -r | cut -c 1,3)-base.pub -x SHA256.sig ports.tar.gz

Edit the "/etc/mk.conf" file

WRKOBJDIR=/usr/obj/ports
DISTDIR=/usr/distfiles
PACKAGE_REPOSITORY=/usr/packages

Back to terminal

cd /usr/ports
pkg_add portslist
rm -rf net/i2pd

i2pd

Credit to Koishi for this part.
Re-add the i2pd ports folder from this repository.

cd /usr/ports/net/i2pd
make
make install

sysctl kern.maxfiles=16000

ergo

useradd -m -s /usr/local/bin/zsh ergo
su ergo
mkdir server

wget "https://github.com/ergochat/ergo/releases/download/v2.10.0/ergo-2.10.0-openbsd-x86_64.tar.gz"
tar zxfv ergo-2.10.0-ergo-x86_64.tar.gz
mv ergo-2.10.0-ergo-x86_64/* server/
rm -rf ergo-2.10.0-ergo-x86_64*
cd server
./ergo mkcerts
./ergo genpasswd

You'll need the output of genpasswd for one of the 2 "FUCKINGADD"'s in ircd.yaml.

misc

rcctl enable i2pd
rcctl start i2pd

su ergo
cd ~/server
tmux
./ergo run

MySQL

mysql_install_db --user=mysql --basedir=/usr/local --datadir=/usr/home/mysql/data
mysql_secure_installation

Choose your root password, and just hit enter on every other question.

mysql -p
CREATE USER 'ergo'@'localhost' IDENTIFIED BY '#FUCKINGADD';
GRANT ALL PRIVILEGES ON * . * TO 'ergo'@'localhost';
mysql -u ergo -p
create database ergo_history;

CTRL+B, and then D to disconnect from tmux and have it running in the background.

All what's left to do is to replace the server name, the B32 address, and all that for whatever you have.
Your I2P addresses can be found in:

lynx http://127.0.0.1:7070/\?page\=i2p_tunnels