Skip to content

goax Implementation Plan

1. goax.sh install - Install goaccess ✅ DONE

Install goaccess binary with OS detection.

  • if which goaccess finds a binary, show path and version
  • if not, use Os:require to show install instructions per OS

2. goax.sh config - Create config file ✅ DONE

Interactive setup for goax.env:

  • Detect common log locations
  • Ask for log file path
  • Ask for output directory
  • Ask for log format
  • Save to goax.env

Pending: - [ ] Multi-setup: separate reports per website - [ ] Create /etc/goaccess/goaccess.conf file


3. goax.sh folder - Setup protected stats folder ✅ DONE

  • Detect nginx or apache
  • Create htpasswd file with user
  • Show config snippet for nginx
  • Show config snippet for apache

4. goax.sh run - Generate reports ✅ DONE

  • Support single log file
  • Support glob patterns (multiple files)
  • Generate all.html (all traffic)
  • Generate bots.html (bots only)
  • Generate nobots.html (no bots)
  • Generate index.html (navigation wrapper)
  • Bot detection via user-agent patterns

Option:config ✅ DONE

choice|1|action|action to perform|install,config,folder,run,check,env,update
option|l|LOG_FILE|nginx access log path|
option|o|OUTPUT|output folder for reports|
option|F|FORMAT|log format (COMBINED/COMMON/...)|COMBINED

Documentation ✅ DONE

  • docs/index.md - main documentation
  • docs/install/ubuntu.md
  • docs/install/digitalocean.md
  • docs/install/vps.md

Future Enhancements

  1. Support multiple log files ✅ Done via glob patterns
  2. Include GeoIP database setup in install?
  3. Bot filtering ✅ Done - separate reports generated
  4. Real-time HTML mode: goax.sh live?
  5. JSON/CSV output formats?
  6. Per-website multi-config support?