AT2k Design BBS Message Area
Casually read the BBS message area using an easy to use interface. Messages are categorized exactly like they are on the BBS. You may post new messages or reply to existing messages!

You are not logged in. Login here for full access privileges.

Previous Message | Next Message | Back to BBS Support/Help/Discussion  <--  <--- Return to Home Page
   Networked Database  BBS Support/Help/Discussion   [1723 / 1844] RSS
 From   To   Subject   Date/Time 
Message   TheCivvie    All   PKT Reporter   February 1, 2026
 1:21 PM *  

# pkt_report / pkt_indexerA small, practical toolkit for indexing, analysing,
and reportingFidoNet-style packet and echomail traffic using
SQLite.Built for sysops who like clear stats, tidy reports, and scripts
thatdonΓÇÖt get in the way.Developed and used in real-world BBS /
FTN environments.-----------------------------------------------------------------------## 📦 What’s IncludedThis repository contains
three core tools that work together:### pkt_indexer.pyIndexes FTN packets and
messages into a SQLite database.What it does:- Parses
incoming packet/message data- Stores per-message metadata- Tracks areas,
posters, dates, sizes, and message characteristicsData captured
(depending on configuration):- Area name- Origin / poster- Message date- Message
size (bytes)- Line count (excluding kludges)- Quoted
percentageThis script is normally run periodically or via cron as packets
arrive.-----------------------------------------------------------------------### pkt_db_check.pyValidates and prepares the SQLite database
schema.What it does:- Checks the database exists and is accessible- Verifies
required tables and columns- Creates missing tables/columns if
needed- Ensures schema compatibility with newer report featuresThis allows the
reporter to evolve without breaking existing
databases.-----------------------------------------------------------------------### pkt_report.pyGenerates human-readable traffic reports
from the indexed data.Supported reports:- Daily traffic tables by area- Totals
and per-day breakdowns- TOP reports (posters, areas, message
sizes)Notable features:- Clean day-based headers (robust across month changes)-
Optional filtering by area or zone- TOP reports including:
 - Total messages  - Total bytes posted  - Average message size  - Largest
individual messagesOutput is designed for terminal, email, or
BBS posting.-----------------------------------------------------------------------## 🛠 Requirements- Python 3.8+- SQLite3 (standard
library)- No third-party dependenciesTested on:- Linux (including Raspberry Pi)-
macOS-----------------------------------------------------------------------##
🚀 Typical Workflow1. Index packets as they arrive:
python3 pkt_indexer.py --folder /path/to/pkts --db pkt_index.db --delete2.
Verify / inspect the database (safe to re-run):   python3
pkt_db_check.py --db pkt_index.db3. Generate reports:   python3 pkt_report.py
--db pkt_index.db --date
WEEK-----------------------------------------------------------------------##
🧰 Usage / CLI### pkt_indexer.pyIndexes *.pkt files into
SQLite.Common options:- --folder, -f     Folder containing .pkt files (default:
current directory)- --db, -d         SQLite database path
(default: pkt_index.db)- --recursive      Scan subfolders for .pkt- --delete    
    Delete .pkt files after successful import- --test
   Parse and display data without writing to DBExamples:Index a spool directory
recursively:  python3 pkt_indexer.py -f
/home/fmail/ftn/inbound --recursive -d pkt_index.dbTest parsing without DB
writes:  python3 pkt_indexer.py -f /home/fmail/ftn/inbound
--testImport and delete packets after success:  python3 pkt_indexer.py -f
/home/fmail/ftn/inbound --recursive
--delete-----------------------------------------------------------------------### pkt_db_check.pyDatabase inspector / sanity
checker.Common options:- --db, -d     SQLite database path (default:
pkt_index.db)- --limit, -n  Number of sample rows to display (default:
20)Example:  python3 pkt_db_check.py -d pkt_index.db -n
50-----------------------------------------------------------------------###
pkt_report.pyGenerates traffic summary tables and TOP reports.Date range options
(pick one):- --date WEEK | MONTH | CMONTH  WEEK   = last 7
days  MONTH  = previous calendar month  CMONTH = current calendar month so far-
--days N- --from YYYY-MM-DD --to YYYY-MM-DDReport
shaping:- --period auto | month | day- --area-width NArea inclusion /
exclusion:- --known-areas FILE- --only-areas FILE- --exclude-areas
FILEFiles may be .txt (one area per line, # comments allowed) or .json.TOP
mode:- --top ECHO  Shows top posters and message-size
statistics (if size data exists)Examples:Last 7 days:  python3 pkt_report.py -d
pkt_index.db --date WEEKLast 30 days:  python3
pkt_report.py -d pkt_index.db --days 30Explicit date range:  python3
pkt_report.py -d pkt_index.db --from 2026-01-26 --to 2026-02-01Include
known areas:  python3 pkt_report.py -d pkt_index.db --date WEEK --known-areas
known.txtOnly selected areas:  python3 pkt_report.py -d
pkt_index.db --date WEEK --only-areas areas.jsonExclude areas:  python3
pkt_report.py -d pkt_index.db --date WEEK --exclude-areas
exclude.txtTOP report for one echo:  python3 pkt_report.py -d pkt_index.db
--date WEEK --top
MIN_CHAT-----------------------------------------------------------------------## 📊 Example OutputStatistics from 26-Jan-26 to
01-Feb-26Area                                26   27   28   29   30   31   01
Total============================================================================MIN_CHAT                             4    6    3    9    2
1    5 :    30MIN_WEATHER                          1    0    2    1    0    3   
2 :
9============================================================================TOTALS                               5    6    5   10    2    4
 7 :    39TOP message size example:=== TOP POSTERS BY TOTAL MESSAGE SIZE
===Poster           Messages   Total KB   Avg KB   Max
KB------------------------------------------------------Sean                  42
      418.2      9.9     22.1MurphyBot             18
146.5      8.1     18.6-----------------------------------------------------------------------## 🧠 Design Notes- Internal date keys are
used for correctness- Display formatting prioritises readability- Schema changes
are handled defensively- Scripts are intentionally simple
and hackable-----------------------------------------------------------------------## 📜 LicenseMIT LicenseCopyright (c) 2026 Sean
Rima and MurphyPermission is hereby granted, free of charge, to any person
obtaining a copyof this software and associated documentation
files (the "Software";), to dealin the Software without restriction.THE SOFTWARE
IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
KIND.-----------------------------------------------------------------------##
Γÿò Final WordsIf youΓÇÖre running an FTN-style system in
2026 and still care about good stats,this is for you.Pull requests welcome.
Hacks encouraged. Coffee optional but recommended.
... TCOB1: binkd only binkd.rima.ie
--- FMail-lnx 2.3.2.6-B20251227
 * Origin: TCOB1 A Mail Only System (618:500/1)
  Show ANSI Codes | Hide BBCodes | Show Color Codes | Hide Encoding | Hide HTML Tags | Show Routing
Previous Message | Next Message | Back to BBS Support/Help/Discussion  <--  <--- Return to Home Page

VADV-PHP
Execution Time: 0.0135 seconds

If you experience any problems with this website or need help, contact the webmaster.
VADV-PHP Copyright © 2002-2026 Steve Winn, Aspect Technologies. All Rights Reserved.
Virtual Advanced Copyright © 1995-1997 Roland De Graaf.
v2.1.250224