goax Implementation Plan¶
1. goax.sh install - Install goaccess ✅ DONE¶
Install goaccess binary with OS detection.
- if
which goaccessfinds a binary, show path and version - if not, use
Os:requireto 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¶
Support multiple log files✅ Done via glob patterns- Include GeoIP database setup in
install? Bot filtering✅ Done - separate reports generated- Real-time HTML mode:
goax.sh live? - JSON/CSV output formats?
- Per-website multi-config support?