Personal Tech Wiki Recommendation

I’m looking for advice on how to organize technical documentation on personal systems and networks. Over the years I’ve used a combination of text files stored in subdirectories corresponding to the system/device and more recently Bitwarden notes; but time, and time again these methods have let me down. On multiple occasions when I’ve solved an issue/breakage, I’ve decided to document the solution only to find a note in a sub/sub/sub/sub-folder that already contained the solution. I’m not sure if I just need to #hashtag more terms so I can grep them, move to a single text/Word file, or transition to a web based wiki (which I’m really trying to avoid).

So, here’s an example of my chicken scratch from today. Really won’t have much more detail than what I’ve already added in the comments. Just need a way to organize notes like this so I can find them later.

Example
#xt_geoip kernel module must be signed using MOK or iptables will not recognize -m geoip when Secure Boot is enabled

#Install
sudo apt install libxtables-dev libip6tc-dev libip4tc-dev xtables-addons-common libtext-csv-xs-perl pkg-config

#Create directory for geo files
sudo mkdir -p /usr/share/xt_geoip

#Download List
cd /usr/share/xt_geoip/
sudo /usr/libexec/xtables-addons/xt_geoip_dl

#Build .iv4 files
sudo chmod +x /usr/libexec/xtables-addons/xt_geoip_build
sudo /usr/libexec/xtables-addons/xt_geoip_build dbip-country-lite.csv

#Create new chains for logging purposes
sudo iptables -N GEOIP_OUTPUT_REJECT
sudo iptables -A GEOIP_OUTPUT_REJECT -m limit --limit 3/min --limit-burst 10 -j LOG --log-prefix "[GeoIP OUTPUT Reject] "
sudo iptables -A GEOIP_OUTPUT_REJECT -j REJECT --reject-with icmp-port-unreachable

sudo iptables -N GEOIP_INPUT_DROP
sudo iptables -A GEOIP_INPUT_DROP -m limit --limit 3/min --limit-burst 10 -j LOG --log-prefix "[GeoIP INPUT Drop] "
sudo iptables -A GEOIP_INPUT_DROP -j DROP

#Reject outbound connections to blacklisted countries and log (max 15 per line)
sudo iptables -I OUTPUT 2 -m geoip --destination-country BY,CN,CU,HK,IR,KP,RU,UA  -j GEOIP_OUTPUT_REJECT

#Drop inbound connections to blacklisted countries and log (max 15 per line)
sudo iptables -I INPUT 2 -m geoip --source-country BY,CN,CU,HK,IR,KP,RU,UA  -j GEOIP_INPUT_DROP

#Save
sudo su
iptables-save > /etc/iptables/rules.v4

#Create ip2country update script
touch /root/updategeolist.sh
chmod +x /root/updategeolist.sh

#########################################
/root/updategeolist.sh
#########################################
#!/bin/bash

#Ensure Directory Exists
mkdir -p /usr/share/xt_geoip

#Change Directory and Download List
cd /usr/share/xt_geoip/
rm dbip-country-lite.csv
/usr/lib/xtables-addons/xt_geoip_dl

#Build .iv4 files in /usr/share/xt_geoip/
/usr/lib/xtables-addons/xt_geoip_build dbip-country-lite.csv


#########################################
Crontab
#########################################
30 8    2 * *   root    bash /root/updategeolist.sh

Any suggestions would be greatly appreciated.

1 Like

Iirc wendell made a thread soliciting the community for apps and feedback for knowledge storage

I suggested gnote for personal wiki

Though I’ve heard from friends good things about obsidian

Vimwiki seems to be a favorite

2 Likes

Thanks for the reply and the links. I’m going to give both Obsidian and Joplin a test run to see which one works best for me. I also somehow missed reading Wendell’s Knowledge Repository thread which has some great organization suggestions. I’m hopeful a modified Zettelkasten method will allow me to find my notes later on when I actually need them.

1 Like