BBS: TELESC.NET.BR Assunto: PKT Reporter released De: Sean Rima Data: Sun, 1 Feb 2026 13:24:51 +0000 ----------------------------------------------------------- Available at https://github.com/thecivvie/PKT-Reporter-for-Fidget-FTN-Systems # pkt_report / pkt_indexer A small, practical toolkit for indexing, analysing, and reporting FidoNet-style packet and echomail traffic using SQLite. Built for sysops who like clear stats, tidy reports, and scripts that dont get in the way. Developed and used in real-world BBS / FTN environments. ----------------------------------------------------------------------- ## Whats Included This repository contains three core tools that work together: ### pkt_indexer.py Indexes 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 characteristics Data captured (depending on configuration): - Area name - Origin / poster - Message date - Message size (bytes) - Line count (excluding kludges) - Quoted percentage This script is normally run periodically or via cron as packets arrive. ----------------------------------------------------------------------- ### pkt_db_check.py Validates 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 features This allows the reporter to evolve without breaking existing databases. ----------------------------------------------------------------------- ### pkt_report.py Generates 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 messages Output is designed for terminal, email, or BBS posting. ----------------------------------------------------------------------- ## Requirements - Python 3.8+ - SQLite3 (standard library) - No third-party dependencies Tested on: - Linux (including Raspberry Pi) - macOS ----------------------------------------------------------------------- ## Typical Workflow 1. Index packets as they arrive: python3 pkt_indexer.py --folder /path/to/pkts --db pkt_index.db --delete 2. Verify / inspect the database (safe to re-run): python3 pkt_db_check.py --db pkt_index.db 3. Generate reports: python3 pkt_report.py --db pkt_index.db --date WEEK ----------------------------------------------------------------------- ## Usage / CLI ### pkt_indexer.py Indexes *.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 DB Examples: Index a spool directory recursively: python3 pkt_indexer.py -f /home/fmail/ftn/inbound --recursive -d pkt_index.db Test parsing without DB writes: python3 pkt_indexer.py -f /home/fmail/ftn/inbound --test Import and delete packets after success: python3 pkt_indexer.py -f /home/fmail/ftn/inbound --recursive --delete ----------------------------------------------------------------------- ### pkt_db_check.py Database 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.py Generates 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-DD Report shaping: - --period auto | month | day - --area-width N Area inclusion / exclusion: - --known-areas FILE - --only-areas FILE - --exclude-areas FILE Files 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 WEEK Last 30 days: python3 pkt_report.py -d pkt_index.db --days 30 Explicit date range: python3 pkt_report.py -d pkt_index.db --from 2026-01-26 --to 2026-02-01 Include known areas: python3 pkt_report.py -d pkt_index.db --date WEEK --known-areas known.txt Only selected areas: python3 pkt_report.py -d pkt_index.db --date WEEK --only-areas areas.json Exclude areas: python3 pkt_report.py -d pkt_index.db --date WEEK --exclude-areas exclude.txt TOP report for one echo: python3 pkt_report.py -d pkt_index.db --date WEEK --top MIN_CHAT ----------------------------------------------------------------------- ## Example Output Statistics from 26-Jan-26 to 01-Feb-26 Area 26 27 28 29 30 31 01 Total ============================================================================ MIN_CHAT 4 6 3 9 2 1 5 : 30 MIN_WEATHER 1 0 2 1 0 3 2 : 9 ============================================================================ TOTALS 5 6 5 10 2 4 7 : 39 TOP message size example: === TOP POSTERS BY TOTAL MESSAGE SIZE === Poster Messages Total KB Avg KB Max KB ------------------------------------------------------ Sean 42 418.2 9.9 22.1 MurphyBot 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 ----------------------------------------------------------------------- ## License MIT License Copyright (c) 2026 Sean Rima and Murphy Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND. ----------------------------------------------------------------------- ## Final Words If youre 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. --- FMail-lnx 2.3.2.6-B20251227 * Origin: TCOB1 A Mail Only System (2:263/1) ----------------------------------------------------------- [Voltar]