Yesterday Stats v1.1
Author : Michael Ottoson (Original 1995 DOS version)
Email  : sysop@mulb.com
BBS    : Mulberry Street 705-264-4537
Updated: xbit @ https://x-bit.org/info

About

  Yesterday Stats v1.1 is a native Synchronet JavaScript rewrite of the
  original YDAY.EXE (c) 1995 Mulberry Enterprises. The original program
  read Synchronet's log file and generated a colorful ANSI bulletin showing
  a 24-hour usage graph and summary statistics.

  This version (yday2.js) is written entirely in Synchronet JavaScript and
  runs natively on both Windows and Linux Synchronet installations. It reads
  yesterday's session log (.lol) and file server log (FS*.LOG) to generate
  a full-color .msg bulletin showing:

    - 24-hour concurrent user graph (color-coded by simultaneous users)
    - Total logons, time used, average session length
    - Protocol breakdown: Telnet, SSH, RLogin, FTP, SFTP
    - Messages posted, email sent, feedbacks sent
    - Files uploaded and downloaded
    - New users today
    - Optional "today so far" display updated on demand

  The script also supports an exclusion list so sysop accounts can be
  omitted from the statistics.


Installation

  1. Create a directory for yday2 (e.g. \sbbs\xtrn\yday2)
  2. Copy yday2.js and yday2.ini to that directory
  3. Edit yday2.ini to suit your system
  4. Add a Timed Event via SCFG:
     SCFG -> External Programs -> Timed Events -> New Timed Event

     Internal Code              YESTERDAYSTATS
     Start-up Directory         ..\xtrn\yday2
     Command Line               ?yday2.js
     Enabled                    Yes
     Execution Node             Any
     Execution Months           Any
     Execution Days of Month    Any
     Execution Days of Week     All
     Execution Time             00:00
     Requires Exclusive Exec    No
     Force Users Off-line       No
     Native Executable          No
     Use Shell or New Context   No
     Background Execution       No
     Always Run After (re)Init  No
     Error Log Level            Error

  5. Point a bulletin or login display at your output .msg file:
     SCFG -> External Programs -> Timed Events or Bulletins


Configuration of yday2.ini - See yday2.ini for full commented example.

  output=        Path to yesterday's stats .msg file (required)
  output_today=  Path to today's stats .msg file (optional)
  exclude=       Alias to omit from stats (repeat for multiple, see example)


Notes

  - The script reads yesterday's .lol file for session data (telnet, ssh,
    rlogin, sftp) and the FS*.LOG file for FTP logon counts.
  - FTP counts are only accurate in yesterday's display. Today's FTP count
    will show 0 because the FTP server holds the log file open.
  - Works on both Windows and Linux Synchronet installations.
  - The usage graph color codes show how many users were simultaneously
    online during each 10-minute block:

      Gray    = 1 user
      Blue    = 2-3 users
      Cyan    = 4-7 users
      White   = 8-11 users
      Yellow  = 12-13 users
      Red     = 14-20+ users


History

  YDAY.EXE v1.0 (1995)
    - Original DOS YDAY.EXE by Michael Ottoson, Mulberry Enterprises
    - Read Synchronet log file, generated ANSI bulletin with usage graph

  yday2.js v1.0 (2026)
    - Complete rewrite in Synchronet JavaScript by xbit
    - Native Windows and Linux support
    - Reads .lol session log for accurate protocol breakdown
    - Adds FTP count from FS server log
    - Adds SFTP, SSH, RLogin protocol tracking
    - Adds new users today stat
    - Adds optional "today so far" second display
    - Sysop exclusion list via .ini file
    - No node count configuration needed

  yday2.js v1.1 (2026)
    - all files now able to live in a single self-contained folder 
      (e.g. \sbbs\xtrn\yday2\)


Credit

  Michael Ottoson  - Original YDAY.EXE author (Mulberry Enterprises, 1995)
  claude.ai        - JavaScript rewrite and development assistance
  xbit             - Concept, design, testing, and documentation
