smalpest data dir structure data data dir (-d opt to override path) +-- user irc username +-- pass base64 sha512 hash of irc password +-- scram base64 sha512 hash of scram password +-- iport irc port to listen on +-- pport pest port to listen on +-- kill killfile, one handle per line +-- cutoff bounce cutoff for rejecting packets +-- hstime hearsay buffer timeout in milliseconds +-- gdtime getdata attempt timeout in milliseconds (actual = gdtime*gdatt) +-- gdatt number of getdata attempts before give up +-- gdint interval in seconds between attempts to repair broken chains +-- rkrecv processing of incoming rekey requests +-- rksend automatic rekeying requests +-- rktime rekeying ritual timeout in seconds +-- rkint automatic rekeying request interval in hours +-- igint average interval in milliseconds between ignore messages sent +-- banner human-readable description of station ('' = prog name and version) +-- prodint prod broadcast interval in seconds +-- acint address cast interval in seconds +-- irctime timeout in seconds before peer considered cold +-- master if not '', enables slave mode and this handle identifies master peer +-- dedup dedup buffer file (binary) +-- chain broadcast chain state | +-- net base64 sha256 hash of last broadcast message seen | +-- self base64 sha256 hash of last message originated +-- mess broadcast message database, contains all messages displayed to operator, incl out of wot | +-- idx00000 index hash tables (binary) | +-- msg00000 message append logs (binary) +-- peer wot peers, 1 folder = 1 peer +-- hammurabi name of this folder is the peers main handle +-- addr address table entry (ip:port) +-- alias list of peer aliases +-- banner last banner text received from peer (displayed in /wot handle) +-- bchain broadcast chain state | +-- cha00000 peers selfchain hash tables, used for detecting forks (binary) | +-- head list of base64 sha256 chain head hashes | +-- tail list of base64 sha256 chain tail hashes +-- dchain direct message chain state | +-- cha00000 peers selfchain hash tables, used for detecting forks (binary) | +-- head list of base64 sha256 chain head hashes | +-- tail list of base64 sha256 chain tail hashes | +-- self base64 sha256 hash of last message sent to this peer +-- key list of base64 pest keys plus timestamps +-- mess message database for direct messages between operator and this peer | +-- idx00000 index hash tables (binary) | +-- msg00000 message append logs (binary) +-- pause 0 = peer unpaused, 1 = peer paused +-- stamp unix timestamp of last packet successfully decrypted using any key data can be managed manually while station switched off most data files are text, a few are in simple binary formats. check src to read delete/move peer folder = unpeer move folder back = repeer inside the chain folders you have head and tail lists normally theres only one head and one tail number of chain breaks = num_heads-num_tails number of chain forks = num_heads-1