RSSAmplifier

Blog

FJOs homepage

Felix J. Ogris' private homepage: some stuff about homemade software, FreeBSD, Linux, computers, and hacking in general.

ogris.deRSS feed ↗153 posts

Latest posts

ovpn.py version 4

ovpn.py version 4 can handle OpenVPN's new real address format introduced in version 2.7

Unbound on FreeBSD 15

Added local copies of the root and .arpa zones to my howto Unbound on FreeBSD 15 as well as some experience with Unbound's memory usage

Upgrading PostgreSQL with pg_upgrade on FreeBSD

Upgrading PostgreSQL with pg_upgrade on FreeBSD now covers an optional SSL server key and certificate

How to update Python in a venv

How to upgrade Python in a venv: # rm -v myvenv/bin/python* # python -m venv --upgrade myvenv

Unbound on FreeBSD 15

I switched from BIND to Unbound as my caching DNS resolver

How to upgrade a PostgreSQL cluster from version 17 to 18 in FreeBSD 14

Upgrading PostgreSQL with pg_upgrade on FreeBSD now covers PostgreSQL 18 on FreeBSD 14

How to use a custom-built jemalloc with BIND on FreeBSD

Added Bind 9.21 to my How to use a custom-built jemalloc with BIND on FreeBSD

How to run FreeBSD as virtual machine using bhyve

Run FreeBSD as virtual machine using bhyve with either a virtual serial console or VNC in UEFI mode

How to use a custom-built jemalloc with BIND on FreeBSD

How to use a custom-built jemalloc with BIND on FreeBSD

ovpn.py version 3

ovpn.py version 3 allows you to sort the client list and routing table by real addresses when clients have connected using an IPv6 address

Environmental sensors based on the ESP8266

Environmental sensors based on the ESP8266

getpeercred.c

getpeercred.c prints the name or the uid of the user connected to a stream oriented local unix socket on stdin, stdout, or stderr (file descriptor 0, 1, or 2, in that order)

Increase kern.maxswzone or reduce amount of swap

In case you have to activate a ludicrous amount of swap on your FreeBSD machine, e.g. 200 gigabytes, then add this to /boot/loader.conf and reboot: kern.maxswzone=1073741824 Otherwise, you will get errors like these: kernel: warning: total configured swap (57147382 pages) exceeds maximum recommended amount (11842904 pages). kernel: warning: increase kern.maxswzone or reduce amount of swap.

New version of s3file.py

New version of s3file.py fixes two warnings when setting a compliance or governance lock, and does not call utcnow() as it has been deprecated in Python 3.12

How to build SSL certificates with easy-rsa that webbrowsers accept

If Firefox doesn't accept a server certificate you built with easy-rsa , then generate your SSL certificate with a subject alternative name: $ easyrsa --subject-alt-name="DNS:www.mydomain.invalid" build-serverClient-full www.mydomain.invalid nopass RFC 2818 discouraged the use of the common name (CN) attribute in the subject field of a SSL certificate. Most webbrowsers nowadays require subject…

graypold-12

graypold version 12 allows you to specify the maximum number of "void" DNS look-ups per SPF check via the spf_max_void_dns_lookups configuration option. Please see the provided graylib.pm for reference

Building a high available FreeBSD cluster

How to build a highly available load balancer, dns server, or web server, that also runs out of the box on VMware vSphere

clucp version 2

It has specifically been updated for Corosync 3 . Each file is transferred with and compared against its SHA-1 checksum. The access and modification time of each file are preserved. An RC script for FreeBSD is provided. Not yet implemented: Correct handling of sparse files (Adaptive) compression

LogBlitz 21

LogBlitz version 21 allows you to wrap lines even on Chrome and Chromium based webbrowsers, and restores the expected cookie behaviour

LogBlitz 20

LogBlitz version 20 allows you to wrap lines

pgAdmin 4 on FreeBSD 14

New version of my how to install pgAdmin 4 on FreeBSD 14 fixes two errors, and covers pgAdmin 8.12

pgAdmin 4 on FreeBSD 14

Updated how to install pgAdmin 4 on FreeBSD 14 to pgAdmin 8.11

New version of rrd4cmk.pl

New version of rrd4cmk.pl provides default status texts, and allows you to specify a name, a minimum value, and a maximum value for the metrics

rrd4cmk.pl

rrd4cmk.pl is a local check for Checkmk that checks an RRD database for thresholds

Random password generator with Python >= 3.6

$ python -c 'import random, string; print("".join(random.choices(string.ascii_letters+string.digits+string.punctuation, k=16)))'

New version of kvmlib

New version of kvmlib allows you to disable any sound hardware at all (set VM_SOUND to "0"), fixes a bug when accessing qemu's console without a parameter, allows you to create, resize, and list virtual disks, and may create, delete, rollback, and list snapshots of a vm's virtual disks

499.ipdb

499.ipdb is a helper for geolocation access on your FreeBSD firewall. It atomically loads the ip ranges of given countries to an ipfw firewall table. You run 499.ipdb weekly by periodic and as cron job during system boot. It either requires sysutils/ipdbtools from ports to directly download and compile ip geolocation data from a regional Internet registry, or may download the output from a central…

text2png.py

text2png.py outputs a given text as scrambled picture in png format

graypold-11

graypold version 11 supports SQLite database backends. Please see the provided readme.txt . Also note that the config option for the graylisting unix socket has changed: OLD: listen_graypol = /var/run/graypold_graypol.sock NEW: listen_graylist = /var/run/graypold_graylist.sock

ovpn.py version 2

ovpn.py version 2 displays transferred bytes human readable with suffixed kB, MB, and so, and right-aligns integer values. Here's a screenshot:

ovpn.py

ovpn.py is a CGI/WSGI script which displays connected clients, routing table, and various info of locally running OpenVPN instances

LogBlitz 19

LogBlitz version 19 fixes a cookie issue when using user roles, and comes with optimised JavaScript code

LogBlitz 18

LogBlitz version 18 allows you to refresh the current search result automatically every given seconds, thus making it the alter ego of tail -f

grapheqd 8

grapheqd version 8 uses OpenSSL version 3 and its EVP_* message digest functions

VLAN definition on FreeBSD 14

On FreeBSD 14 you have to revise your VLAN config statements, e.g. in /etc/rc.conf . The VLAN ID has to be placed before the vlandev parameter: # ifconfig vdsl vlan 7 vlandev igb0 up On FreeBSD 13, the parameters could be given in any order, e.g.: # ifconfig vdsl vlandev igb0 vlan 7 up

newgrp

When you added yourself to a supplemental group on FreeBSD or Linux, call newgrp NEWGROUP to reload your group membership in your current session. As this changes the effective gid on FreeBSD or the primary group on Linux, newgrp is just a quick and temporary fix, while logout and fresh login are better suited in the long run.

Capture traffic remotely, display live with Wireshark

Capture traffic remotely with tcpdump , display live with Wireshark : $ ssh USER@REMOTEHOST 'tcpdump -i INTERFACE -U -s 0 -w -' | wireshark -i - -k

Updating a FreeBSD system

Updating a FreeBSD system bumped to FreeBSD 14

LogBlitz 17

First rule of WSGI programming: You do not use global variables. Thus, LogBlitz version 17

gitup

gitup is a lightweight alternative to the official git client. It is aimed at updating ports (and src) on a FreeBSD system without cloning the respective repository's database or history. Installation is pretty simple: # pkg install gitup # cp -aiv /usr/local/etc/gitup.conf.sample /usr/local/etc/gitup.conf If you have already installed ports locally, then you might build gitup from source: # make…

LogBlitz 16

LogBlitz version 16 can be served by a WSGI server, too

Yet another new version of pocgi.py

Yet another new version of pocgi.py fixes an embarrassing bug where files containing two consecutive newlines were not handled correctly

How to install pgAdmin 4 on FreeBSD 14

How to install, configure, and run pgAdmin 4 8.1 on FreeBSD 14 using mod_wsgi and the Apache webserver

New version of pocgi.py

New version of pocgi.py fixes two bugs: Standard input was not opened in binary mode, and parsed values were not comparable to strings

Updating ports on FreeBSD 14

As FreeBSD 14 ships without portsnap , you are encouraged to use git in order to update your local ports tree. If you do not need the complete history of the entire ports collection, then limit the number of historical commits to one, e.g. for a very first clone right a fresh install: # pkg install git # git clone --depth 1 https://git.FreeBSD.org/ports.git /usr/ports To keep the ports tree tidy…

pocgi.py

New version of pocgi.py fixes encoding issues

formdata.py

Improved version of formdata.py consists of one function only, which expects you to pass any form data as dictionary

pocgi.py

pocgi.py (plain old cgi) aims to be a replacement for Python's cgi library , which was deprecated in 3.11 and will be removed in 3.13 (see PEP 594 )

formdata.py

formdata.py shows how to do multipart/form-data HTTP POST uploads with Python's urllib only

Benchmarks 2

Benchmarked two additional devices for video encoding speed